The late-invoice chaser: escalating payment reminders without a €500/month SaaS
Polite, automatic follow-ups that get you paid on time
Setup: A weekend (~6-10 h)Running cost: $5-12/mo(software included)what it costs to run ↓Time saved: saves ~0.7–1.3 h/week for the owner at 10 runs per week — basisAfter setup: You run it— approves escalations; polite reminders send themselvesData lives: Mixed— Invoices and contacts stay on your server; reminder emails pass through your mail provider.
Built for small businesses in general — not a sector list.
Paste it into your AI assistant — ChatGPT, Claude, Gemini, whichever you use. It first asks what tools you already have, then rebuilds this blueprint to fit them.
any AI platformno signupblueprint travels inside
Before you start
Every invoice must be issued from Invoice Ninja, carrying the real due date
A mailbox or SMTP relay that can send as your domain, with SPF and DKIM set, or the reminders land in spam
Payments must be marked off in Invoice Ninja promptly, or paid customers get chased
About 16 GB of RAM if Ollama drafts the firmer letters locally
What breaks firstFAILS LOUD
the payment status in Invoice Ninja falling behind reality, so customers who already paid still get chased. A paid customer replies angrily; import or tick off payments before the Monday run goes out.
Version history
v1.0 · 2026-07-06 — First release.
Automatic, polite, escalating reminders on every overdue invoice, plus a Monday-morning cash-flow digest — self-hosted, and the awkward final email stays human.
The architecture
the same flow as text
[ Invoice Ninja (self-hosted) ] — system of record
│ invoices, due dates, client portal, payment links
│
├── built-in reminder engine (no LLM involved)
│ • D-3: friendly "due soon" note
│ • D+7: overdue reminder + payment link
│ • D+14: firmer reminder + payment link
│
└── REST API
│ polled weekly by n8n
▼
[ n8n workflow ] — Monday 08:00
│ pull open invoices → aging buckets (0–7 / 8–14 / 15–30 / 30+)
├── digest to owner (email/Telegram): who owes what, how long
└── for 30+ days: [ LLM via Ollama ] drafts a personal escalation
email referencing the history — saved as draft, human sends
Two separate loops, on purpose. Routine reminders (D-3 to D+14) are template-driven and fully automatic — no AI, nothing to hallucinate, they just fire. The 30+ day escalation is where relationships and judgment live, so the machine only drafts and a human decides. Most AR SaaS sells you the first loop at platform prices; you can self-host it.
Paste it into your AI assistant — ChatGPT, Claude, Gemini, whichever you use. It first asks what tools you already have, then rebuilds this blueprint to fit them.
any AI platformno signupblueprint travels inside
The problem
You did the work, sent the invoice, and now it sits. Chasing feels awkward, so it happens in bursts — usually when cash gets tight, which is the worst possible moment to discover that three clients are 40+ days late. The dedicated AR platforms solve this for $180–900 per month, priced for companies with a finance team. Meanwhile most small-business "automation" content on this topic is a listicle of email templates you still have to remember to send. The actual fix is boring: a system that never forgets, escalates on a fixed schedule, and puts one short exception report in front of you weekly.
Tool choices — and why
Invoice Ninja, self-hosted
(9.9k stars, active — last push 30/06/2026). A full invoicing system with the reminder engine built in: three configurable reminders plus recurring "endless" reminders after that, each with its own template, timing relative to the due date, and optional late fee. It also gives you a client portal and online payment links — the single biggest lever for getting paid faster, because "click here and pay" beats "please wire to IBAN..." every time. License note: Elastic License 2.0, not OSI open source — self-hosting it to run your own business is explicitly fine; offering it to others as a hosted service is not. The free self-hosted edition shows small Invoice Ninja branding on client-facing documents; a paid white-label option exists if that bothers you. Alternatives: if you already invoice from accounting software that has reminders (e.g. your bookkeeper's platform), use those and keep only the digest loop below — don't run two invoicing systems.
n8n
(194.8k stars, active — last push 01/07/2026). One scheduled workflow: call the Invoice Ninja API, bucket open invoices by age, format a digest, send it to you. This is deliberately read-only against the invoice system — the workflow can't modify invoices, so a bug produces a wrong report, not a wrong invoice. Fair-code Sustainable Use License; self-hosting for your own business is allowed.
Ollama + a small instruct model
(MIT, ~175k stars, active). Used for exactly one thing: turning "Client X, 3 invoices, 34 days, €4,200, second escalation" into a short, firm, personal email in the client's language. Payment history stays on your machine. An 8B-class model does this well because the input is structured and the output is four sentences. If you skip the LLM entirely, the blueprint still works — you just write the escalation emails yourself from the digest.
Monthly cost
Software: €0. Hardware: a €5–12/month VPS runs Invoice Ninja + n8n comfortably; add the LLM only if the box has ~8 GB+ RAM, otherwise run Ollama on an office machine. Payment-link fees are the real cost: card/PSP processing typically runs ~1.5–3% per transaction depending on provider and country (verify current rates for your PSP) — for B2B, offering bank transfer with a structured reference alongside cards keeps this near zero.
Setup outline
1. Self-host Invoice Ninja (official Docker image) and migrate active clients + open invoices. Connect your SMTP so reminders come from your own domain.
2. Configure the three reminders: D-3 friendly, D+7 overdue, D+14 firm — each with a payment link. Write them once, in your voice, per language you invoice in.
3. Decide the late-fee question consciously. EU B2B rules (Directive 2011/7/EU, as implemented in your country) allow statutory interest plus a fixed recovery cost on late business payments — whether enforcing that is worth the relationship damage is a business call, not a technical one. This is general information, not legal advice.
4. Build the n8n Monday digest: Invoice Ninja API → aging buckets → one message. Keep it under 15 lines; if you won't read it, nothing else matters.
5. Add the escalation drafter: for 30+ day invoices, LLM drafts from structured facts only (client, amounts, dates, prior reminders) → saved as draft or sent to you for approval.
6. Run one full month, then check two numbers: average days-to-paid before vs after, and how many escalation drafts you actually sent unedited. Tune the templates, not the architecture.
Pitfalls — the real ones
Never auto-send the escalation
Reminder 1–3 are expected business hygiene; nobody resents them. The 30+ day email lands differently — one wrong tone to your biggest client costs more than a year of the automation saves. Draft-only is the design.
Reminders only work if invoice data is clean
Wrong due dates, invoices marked sent that never were, part-payments not recorded — the automation amplifies whatever is in the system. Fix intake first (our receipt-intake blueprint is the sibling of this one).
Don't chase disputed invoices
Add a "disputed" flag workflow: one label in Invoice Ninja pauses reminders for that invoice. An automated dunning email on a disputed amount is how you turn a billing question into a lost client.
Escalation is a process, not an email
After the drafted 30+ day email, the next steps are a phone call and, in serious cases, formal action — humans, not workflows. The blueprint's job ends at making sure you know, every Monday, exactly who to call.
GDPR footnote:
payment behavior is personal data when your clients are sole traders. Self-hosting keeps it on your infrastructure; if you swap in a hosted LLM API for drafting, you're shipping client payment history to a third party — don't, the local model is more than enough here.
Verified repos
Invoice Ninja — Elastic License 2.0, 9.9k stars, active (June 2026) n8n — Sustainable Use License (fair-code), 194.8k stars, active (July 2026) Ollama — MIT, ~175k stars, active (June 2026)
Get the next blueprint as it publishes — free, practical, verified tooling only.
Subscribe · Want this audited or extended for your business? DM @RXed_EU
What this costs to run
Priced as Draft a reply — incoming message plus tone/policy context; output is a full email. one chaser per overdue invoice, in your words.
Adjust the volume to yours; the bill is a range because the assumptions are ranges.