Due to these situations, I try to always have 3 months of salary in the bank. I never do, but I try. If you are paid net 30, and invoice at the end of the January, that check will clear your bank account early March at best. This results in Just In Time mortgage payments.
If I were to hire somebody to code, and focus on sales, I'd need even more money in the bank than I have. This leaves me in a bit of a pickle.
You need a lot of capital. If 3 months of buffer salary for two employees isn't a lot of capital..... it's time to admit you are in a strong financial position and not everyone can simply be an entrepreneur.
(To answer the inevitable "charge more" question, I'm available for hire and I'll charge as much as you'd like :)
Writing software for someone else is kind of like painting a scene from someone's dream. There is a good chance you wont hit 100% of what they were looking for, and your goal is to make them just happy enough to pay you. If they part with their money already, they are much more likely to accept what you give them, than if they haven't already bought it.
A better strategy is to make sure the company that owes you money knows you are serious about collections and will aggressively pursue. Something as simple as having your lawyer send a collections letter by certified mail will deliver a good portion of the time.
If everyone did this, it wouldn't work. Companies that consistently pay late or continuously try to get out of paying are doing so because they simply don't have the cash. If they think you are going to cause them to spend more cash by them not paying you on time, you will get moved up the list.
Love it