The hardest part of chasing an invoice is deciding whether to chase it. Once that decision is made in advance — the same schedule for every client, every time — the messages themselves are trivial. What follows is the full sequence.

The schedule

Five touches, fixed in advance
WhenMessageRegister
3 days before dueHeads-upInformational
Due dateDue todayNeutral
3 days lateProbably missedHelpful
10 days latePay or tell me whenDirect
21 days latePausing workFormal

Before the due date

1 — Three days beforeCopy and adapt · {{fields}} are yours to replace

Subject {{invoice_ref}} due {{due_date}}

Hi {{first_name}},

Heads-up that invoice {{invoice_ref}} for {{amount}} is due on {{due_date}}.

{{payment_link}}

If it needs to go to someone else in accounts, tell me and I will send it straight over.

{{your_name}}

The last line resolves a surprising share of late payments in any business with a finance function — the invoice reached the wrong person and nobody wanted to raise it.

On the day, and just after

2 — Due todayCopy and adapt · {{fields}} are yours to replace

Subject {{invoice_ref}} is due today

Hi {{first_name}},

Invoice {{invoice_ref}} for {{amount}} is due today.

{{payment_link}}

If it is already scheduled, ignore this.

{{your_name}}
3 — Three days lateCopy and adapt · {{fields}} are yours to replace

Subject {{invoice_ref}} — three days past due

Hi {{first_name}},

Invoice {{invoice_ref}} for {{amount}} was due {{due_date}} and is still showing unpaid at my end.

{{payment_link}}

If it went out in the last day or two, apologies for the crossover — let me know and I will check.

{{your_name}}

The closing line gives a graceful exit if they have in fact paid, which stops people ignoring the message purely to avoid the awkwardness of correcting you.

Genuinely overdue

4 — Ten days lateCopy and adapt · {{fields}} are yours to replace

Subject Invoice {{invoice_ref}} — {{days}} days overdue

Hi {{first_name}},

Invoice {{invoice_ref}} for {{amount}} is now {{days}} days overdue.

Could you either settle it by {{deadline}} or tell me when it will be paid? Either answer works — I just need to know which.

{{payment_link}}

If something is holding it up at your end, tell me what and I will see whether I can help.

{{your_name}}
5 — Pausing workCopy and adapt · {{fields}} are yours to replace

Subject Pausing {{project}} pending invoice {{invoice_ref}}

Hi {{first_name}},

Invoice {{invoice_ref}} for {{amount}} has been outstanding since {{due_date}}. I am pausing work on {{project}} from {{pause_date}} until it is settled.

Nothing is lost — {{current_state}} — and I can pick it back up as soon as payment clears.

If there is a problem with the invoice itself, tell me and I will hold the pause while we sort it.

{{your_name}}

Pause explicitly, never quietly. A client who does not know work has stopped assumes it is continuing, and that conversation later is far worse than this message now.

Wording that helps, and wording that does not

Small edits with outsized effects
Instead ofWriteWhy
"Sorry to chase…""Invoice {{ref}} is due today."Apologising frames a due invoice as an imposition
"Just circling back""{{days}} days overdue"Vague pressure is easy to defer forever
"Please remit at your earliest convenience""Could you settle by {{date}}?"A named date can be agreed to or refused
"As per our terms…""If something is holding it up, tell me"Legalese invites a legalistic reply
Bank details in a paragraphA payment link on its own lineRetyping details is a real point of drop-off

When they reply

A reply is progress, whatever it says — it means the invoice is now a live item rather than a forgotten one. What matters is closing the loop rather than leaving the promise open.

The four replies you will get
They sayWhat it usually meansDo
"Paying this week"Genuine, but undatedConfirm a specific day in writing, then diarise it
"With accounts"It left their deskAsk who, and when their run is; chase the date not the person
"Cash is tight right now"True, and they told youOffer instalments with dates — most people accept
"I thought this was included"A scope dispute, not a payment oneStop chasing; resolve the scope first

Only the last one changes the process. A scope disagreement chased with payment reminders hardens into a real dispute, because every reminder reads as ignoring their objection. Pull it out of the sequence and deal with it as its own conversation.

Confirming a promised dateCopy and adapt · {{fields}} are yours to replace

Subject Noted — {{invoice_ref}} on {{promised_date}}

Hi {{first_name}},

Thanks — I have noted invoice {{invoice_ref}} for payment on {{promised_date}}.

I will leave it there and come back only if it has not landed by then.

{{your_name}}

Writing the date back is what makes it a commitment rather than a deferral, and it does so without any pressure at all.

Send them without deciding

A reminder sequence that actually runs

  • Reminders scheduled when the invoice is raised, not when it becomes late
  • Cancelled automatically the moment it is marked paid
  • Visible before they send, so you can hold one for a client having a genuinely bad month
  • Attached to the same record as the work, so you see the job and the balance together
  • The same schedule for every client, so chasing is never a judgement call