I have the same problem. all i can do is manage my own behaviour. So i initiated ruthless timekeeping. I charge for every minute. I have a punch clock and I punch in and out for every client as i work for them all day long.
You can offer a discount for early payment but I've not found it useful.
And in my spare time I work on a product. When a customer pays late or otherwise abuses the relationship I pour the energy into that. If it flies someday then maybe I can get ahead.
Can't you negotiate the terms with your clients? I know that at least my clients have been open to that.
Perhaps not what you want to hear, but other that getting paid more quickly, the most obvious solution to cash flow problems is having a large enough buffer.
You can offer a discount for early payment but I've not found it useful.
And in my spare time I work on a product. When a customer pays late or otherwise abuses the relationship I pour the energy into that. If it flies someday then maybe I can get ahead.