Do you invoice at the end of the month?
So you’re telling me that work you do on the 1st of the month gets invoiced on the 30th of the month and you ask for payment by the 20th of the following month?
That’s 50 days that money you are owed is in someone elses bank account.
And longer if that invoice is paid late of course.
It’s no wonder you have cash flow problems.
How about invoicing as you complete the work and have the invoice due within 7 days?
That would be 7 days before getting paid instead of 50.