There are two kinds of unpaid invoice and they need opposite responses. One is a dispute: the client has a problem with the work, the amount, or the terms. The other — far more common in small service businesses — is an invoice that simply never got actioned. It arrived on a busy day, was mentally filed as "deal with later", and later never came.

The reason this distinction matters is that most people design their follow-up for the first case while nearly all of their late invoices are the second. They write carefully worded, slightly anxious emails to people who are not avoiding them and would pay immediately if reminded. That anxiety is what makes the process feel unpleasant, and unpleasant processes get postponed.

A schedule that does the work

Decide the schedule once, apply it to every invoice, and stop deciding whether to chase. The decision is the expensive part, not the sending.

A default reminder schedule
WhenPurposeTone
3 days before dueSurface it while there is still timeInformational
On the due dateMark the date passingNeutral
3 days afterAssume it was missedHelpful
10 days afterEstablish that it is now overdueDirect
21 days afterChange the conversationFormal

Before the due date

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

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

Hi {{first_name}},

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

{{payment_link_or_details}}

If it needs to go to someone else in accounts, let me know and I will send it over directly.

{{your_name}}

The last line resolves a large share of late payments in businesses with any finance function — the invoice reached the wrong person and nobody wanted to say so.

On the due date and just after

Keep these short and free of apology. Apologising for sending a reminder signals that the request is an imposition, which invites deferral. The invoice is due; noting that it is due is ordinary business.

On the due dateCopy 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_or_details}}

If it is already scheduled, ignore this.

{{your_name}}
Three days afterCopy and adapt · {{fields}} are yours to replace

Subject {{invoice_ref}} — now three days past due

Hi {{first_name}},

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

{{payment_link_or_details}}

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

{{your_name}}

The closing line gives the client a graceful exit if they have in fact paid, which keeps them from ignoring the message to avoid the awkwardness.

When it is genuinely overdue

At around ten days, change the register. Not hostile — specific. Vague pressure ("just circling back on this") is easy to defer indefinitely. A named consequence and a named date are not.

Ten days past dueCopy 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_or_details}}

If something is holding it up on your side, tell me what and I will see if I can help resolve it.

{{your_name}}

Before you escalate further, pause work explicitly rather than quietly. A client who does not know work has stopped assumes it is continuing, and the eventual conversation is much worse.

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 straight back up once payment clears.

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

{{your_name}}

Preventing the problem upstream

Chasing is a symptom. Several common causes are fixable at the point the invoice is created, and each one removes work permanently rather than making the chase more efficient.

Before you send the invoice

  • Is it addressed to the person who actually pays, not just your day-to-day contact?
  • Does it reference the work in the client's own terms, so it can be approved without asking you?
  • Are the payment terms on the invoice as well as in the contract?
  • Is there a payment link, not just bank details to retype?
  • Was it sent within a day of the work being done, while the value is still obvious?
  • For larger jobs — is it a milestone invoice rather than one large sum at the end?

The last point is the highest-leverage change available to most small service businesses. A deposit plus milestone billing turns a single large payment decision at the end into several small routine ones, and it means a non-payer stops you at 30% exposure rather than 100%.

Make the schedule automatic

A schedule you execute manually is a schedule that lapses in a busy week — and it lapses precisely when cash is tightest, because busy weeks and cash-flow gaps arrive together. The reminders should fire from the due date without you deciding anything.

  • Reminders scheduled when the invoice is created, not when it becomes late.
  • Automatically cancelled the moment the invoice is marked paid — nothing damages trust faster than a reminder for money already sent.
  • Visible to you before they send, so you can pull one back for a client having a genuinely bad month.
  • Attached to the same record as the work, so you can see the job and the balance together.