Yes, even with contracts that the client had designed, they wouldn't respect their own payment terms. A partial solution I found was to ask for payment 7 calendar days after completion of work instead of the standard 30 days. With a 30 days payment delay, clients tend to genuinely forget about you and sometimes they don't have the cash they had when they hired you.