I'd buy him a new cover AND a basket of goodies with a sincere apology. If you do that he may ask you to do the new cover and you will recoup a little back. $300 , to me, isn't worth the bad publicity you will endure since it was admittedly your fault. Own up to it and treat the customer how you would want to be treated and buy him a new cover. Expensive lesson learned but turn him into a good advertisement. Give him a few discount fliers or something in the basket to earn his business back. If you treat him well, hopefully he will be gracious enough to give good feedback to his boater friends etc. If you have already upset him, chances are slim that he will. But do the right thing and replace his boat cover.