You'll need to charge a non-refundable deposit on top of the cost of materials. This prevents from people dropping out if you are working on projects that take long to do. If they ask for a refund, you'll have to ship them the materials instead, since that's where the money went. Like everyone else said, the materials IS the payment. But, you can keep the deposit as the cancellation fee. If you want to do the labor free for "exposure" and give them payment plans that's cool too, but you have to charge a non-refundable fee upfront. It'll save you time and money.
no subject