Charging to use a Customer's Own Fabric

I wrestled with myself for many years before finally charging a COM fee whenever a client brings their own fabric. At first, I was so insecure I only charged $5 per yard. After a time I went up to $10 per yard. Then our Charlotte Fabrics sales rep, who is an upholsterer himself, said that he charges $15 per yard. So now, for the last few years, I charge $15 per yard COM fee. I have written a web page explaining about the COM fee. You can see that page here. In fact, on every estimate that I give out it also automatically gives the COM price at the bottom of the estimate. That came about because sometimes a client will get a price of labor, fabrics, and supplies from me, and then bring in their own fabric. It's kind of awkward to go adding fees (i.e. COM) after I've already given the estimate. So I just designed the COM fee notation and additional price to be part of my estimate (see picture below). Now it doesn't bother me whether they use my fabric or theirs because I'll get $15 per yard if they supply theirs.
In addition to that, I highly recommend that you think out and write out your own COM policy, including the reasons for it that make sense to you. If you can't accept it within yourself, it will be very hard to confidently pass it on to the client. Most of all, it is a process of convincing yourself that you deserve the COM fee. Once you have it settled in your own mind, then you can more confidently present it to the client. When you are at peace with a policy, then the client senses that and are more likely to accept it. just know though, not every client will accept it. But that's OK.