Sheet & Flow
Launch offer: 20% off every product and bundle with code LAUNCH20 until October 14, 2026. Browse the store

Polite Overdue Invoice Reminders: A 3-Stage Sequence That Gets Paid

Short on time? The Invoice Chaser for n8n ($12) is the finished, tested version of what this tutorial builds.

Most freelancers either send nothing (and wait) or send the same blunt "just following up" every few days. Neither works well. A three-stage sequence — friendly, firm, final — gets more invoices paid with less awkwardness, because each email has a job.

This page is the sequence itself: when to send, what to say, and a spreadsheet formula for days overdue. Automating it is optional; the Invoice Chaser product at the bottom does the send-and-log part in n8n.

The three stages

Stage When (days past due) Tone Goal
1. Friendly 3 Assume good intent Nudge + make paying easy
2. Firm 10 Clear and specific Restate amount, due date, and how to pay
3. Final 21 Short, professional One last chance before you stop automated chasing

After stage 3, stop the auto emails and pick up the phone (or write a personal note). Three reminders is enough for automation. More than that usually means the invoice needs a human conversation, not another template.

Days overdue (one formula)

Put the due date in D2 and an as-of date in J1 (=TODAY() works):

=MAX(0, $J$1 - D2)

Bucket it the same way AR aging reports do:

=IF(E2<=0,"Paid",IF(F2=0,"Current",IF(F2<=30,"1-30",IF(F2<=60,"31-60",IF(F2<=90,"61-90","90+")))))

Where E2 is the remaining balance and F2 is days overdue. Tested in LibreOffice: with due date 2026-09-01, as-of 2026-09-30, and balance $800, days overdue = 29 and bucket = 1-30.

Placeholders below use {name} for readability. In the Invoice Chaser workflow they use Mustache-style double braces around the same names (client, invoice, amount, and so on).

Stage 1 — friendly (day 3)

Keep it short. Assume they missed it.

Hi {client},

Hope you're well — a quick note that invoice {invoice} for {amount} was due on {due_date} ({days_overdue} days ago).

You can pay here: {payment_link}

Thanks, {your_name}

Why it works: no accusation, a clear link, one ask.

Stage 2 — firm (day 10)

Be specific. Restate the numbers so there's nothing to dig for.

Hi {client},

Invoice {invoice} for {amount} is now {days_overdue} days past due (due {due_date}).

Please arrange payment by {pay_by_date} using {payment_link}, or reply with a date that works.

Thanks, {your_name} {business}

Tip: pay_by_date can be "this Friday" or a real date five business days out. Specific beats "as soon as possible."

Stage 3 — final (day 21)

One paragraph. No lecture.

Hi {client},

This is a final reminder that invoice {invoice} ({amount}) remains unpaid {days_overdue} days after the due date.

Please pay via {payment_link} or reply today so we can resolve this. If I don't hear back, I'll pause work / follow up by phone.

{your_name} {business}

Adjust the "pause work" line to match your contracts. Don't threaten what you won't do.

Rules that keep you from looking spammy

  1. Cooldown. Never send two reminders within five days of each other, even if stages would otherwise fire.
  2. Skip paid / void / disputed / hold. One formula or status column prevents the worst mistake: chasing a paid invoice.
  3. Partial payments. Chase the balance, not the original amount. If they paid $500 of $1,800, the email should say $1,300.
  4. Weekdays only. Weekend invoice emails get ignored and feel aggressive.
  5. Cap per run. If 40 invoices are overdue, send at most ~20 in one morning so you can review failures.
  6. Dry-run first. Route every reminder to yourself for a week before clients see them.

Spreadsheet columns you actually need

Column Why
Invoice # Unique key for write-back
Client + Client email Greeting and recipient
Due date Days overdue
Amount / Amount paid / Balance What to ask for
Status Paid / Void / Hold / Do not chase
Payment link Optional; fall back to a default URL
Last reminder sent + Reminders sent So you never double-send

That last pair is what turns a one-off email into a reliable system.

Automate it (optional)

If you already keep invoices in Google Sheets (or the Freelancer Finance Tracker), an n8n workflow can:

  • run every weekday morning
  • pick the right stage from days overdue + reminders already sent
  • send through your own SMTP (Gmail app password, Outlook, Fastmail, etc.)
  • write the date and count back to the sheet
  • stay in dry-run mode until the copy looks right

That's exactly what Invoice Chaser for n8n does. The decision logic (stages, cooldown, statuses, caps, dry run) is covered by automated tests, and the full workflow was run in n8n 2.x against a test mail server.

Whether you send by hand or automate, the sequence above is the same: friendly at 3, firm at 10, final at 21 — then a human call.

Organizational guidance only — not legal or collections advice. Follow your local rules for debt collection language.

Free tool: Bank CSV Categorizer for Schedule E and Schedule C

Written with AI assistance. Every formula, command and number on this page was tested before publishing (see each section). Product links go to our store.