Set your own payment terms
It’s convention that people pay their bills on the 20th of the following month, or 30 days after invoice, but you invent any payment terms you like. Setting payment terms begins before you provide the goods or services. Put your payment terms on your website and on any quotes that are sent.
When you invoice, make sure your invoice template has your payment terms laid out clearly.
You might say: “Please pay on invoice” or “Payment required within 7 days”.
You might also say that “Payment is due on completion”.
It’s may also be acceptable to ask before you do the job when you’ll be paid. A good approach is to say that you are busy so you’re prioritizing people that can pay immediately.
“I have a number of customers in the queue to do work. If you can pay me on completion then I’ll prioritize you first”.
You can also ask for a deposit.
“Sorry but we’ve had a number of cancellations and late payments. Can we have a deposit before we book the job in?”
Don’t feel bad about being paid quickly. Essentially you’re funding your customers business until you get paid.