Ant
This is one of the most frustrating things to deal with, we've all been there!
Does the payment for your service(s) exceed the invoice payment terms?
If so, there's a chance you could add late payment interest for not sticking to those terms - after all, an invoice is an official agreement to the specifications on it; such as the cost of your service and payment date, etc.
Depending on how generous with your payment terms you have been previously, you could look to actually reduce the payment terms of your next invoice to them and couple it with late payment interest too. If they're taking too long to pay you, reduce the time you're allowing them to pay and add late payment interest - shorter time frame to pay, and more interest owed if it isn't.
You could always then increase the payment terms once they get into the habit of paying you on-time if you wanted to, showing an increase in trust 🙂
It's always best to have a discussion with them directly first to try to address the issue, keeping a positive working relationship bodes well for future contracts as the last thing you'll want is to lose out on work.