I’ve dealt with this a bit – just posted about a problem client I have now.
I think the best solution with late invoices depends on how much you value the client. There are some clients who habitually pay late, but always pay, and pay enough to make it worth your while. Then there are clients who avoid paying as long as possible, because they have a perennial cash flow problem. And then there are the clients who never intend to pay at all.
If you value the client, I recommend frequent gentle reminders to pay, and declining new projects until they’ve cleared their debt with you.
If you don’t value the client anymore, be aggressive. Constant phone calls and emails can be effective over time. If you’re not dealing with the top person in the company, then call and email your contact’s superior.
I’m dealing with a client who has gotten progressively worse, and I’ve tried all of the above. I’m still getting no response, which means my next step is likely small claims court.
As someone else mentioned, the best approach in the future is 1/2 up front, 1/2 before (not upon) delivery.