Why a staged sequence beats one angry email
A single "PAY NOW" at day 30 burns the relationship. A gentle nudge at day 1, a firmer one at day 7, and a final notice at day 14 gets you paid and keeps the door open. The trick is automating the timing so you never have to remember — or resent — it.
The data model: one Google Sheet
Keep invoices in a sheet with columns: client_email, client_name, amount, due_date,
status, last_reminder. n8n reads it daily, computes days overdue, and picks the right message.
- Day 1 overdue: "Hi {name}, just a friendly flag — invoice #X for {amount} was due. Whenever's convenient."
- Day 7: "Following up on the open invoice — here's the link to pay. Anything blocking it?"
- Day 14: "Final reminder before we pause work / escalate. Happy to jump on a call if needed."
The n8n flow, node by node
- Schedule trigger — daily at 09:00.
- Google Sheets → Get rows — filter to
status = open. - Function/Code node — compute
days_overdue, choose template, setnext_action. - IF node — only continue if a reminder is actually due (avoid spamming).
- Send email — Gmail / SMTP node with the staged copy.
- Update row — write
last_reminder+ bumpstatusif final. - Telegram digest — a morning summary of who got nudged.
Steal it → Invoice & Late-Payment Follow-up
The import-ready template has the staged copy, the date math, and a dry-run mode that logs every would-be email without sending. Test on dummy rows first. Full breakdown →
The dry-run rule
Before any automation touches a real client, flip it to test mode and watch the logs. If the day-14 "final notice" fires on a paid invoice because a column was off, you've just apologized to your best customer. Dry-run turns that risk into a 2-minute check.
Result
Most late invoices clear within 48 hours of the first gentle nudge — because the nudge actually goes out, on time, every time. You stop being the collector and start being the business.