The sequence I use, and I have never lost a client to it:
Day 0 — invoice sent, terms on it, payment details on it.
Day 25 — a short friendly note before it is due. "Just a heads-up that invoice 1043 falls due on the 2nd." This one does most of the work and it cannot possibly annoy anybody, because nothing is late yet.
Day 1 overdue — "This became due yesterday, could you confirm it is scheduled?" Neutral, immediate, no apology.
Day 7 — same again, copying AP if you have them.
Day 14 — a call. Not an email. This is where it moves.
Day 30 — formal note referencing the terms and stating what happens next.
The thing I got wrong for years was treating a chase as a confrontation. It is admin. The friendliest possible framing — "has this got stuck somewhere?" — is also the most effective, because it is usually true and it gives everyone a way to fix it without anyone being wrong.
Two things that matter more than the wording:
Be boringly consistent. A supplier who always chases on day one gets paid on time, because they become the invoice you deal with first. A supplier who chases erratically at day forty gets paid at day forty forever.
Pick up the phone at some point. Email is easy to leave. A two-minute call resolves what four emails did not, every time.