In our sealcoating business we get 50 percent before starting the job(commercial only)and the rest upon completion or within two weeks.The residential side we just collect when we finesh.(being most jobs are under $250.)
For guys doing municipal work or big jobs there is a company that will buy your invoices for a small percentage and you get your money right away.
Lots of luck to you all
P.S.We could always do what Tony Soprano does to collect his money