I want to start with the sentence that made me do this. A client's finance manager replied to my fourth chaser with: "Sorry Gwen, your emails all look the same so I stopped reading them."
Fair. They did. I'd been copy-pasting the same "just circling back!" template for two years, and by 2024 I was spending most of Tuesday afternoon on it. I run finance for a 60-person creative agency — about 140 live invoices at any moment, average value £4,200, payment terms 30 days that clients treat as a suggestion.
Here's what we built, what it cost, and the three things that nearly went badly wrong.
The stack (deliberately boring)
- Xero as the source of truth for who owes what. Everything reads from there, nothing writes back except a note.
- n8n (self-hosted, £11/month VPS) for the schedule and the plumbing. See Tobi's n8n teardown — that's what convinced me.
- Claude Sonnet for drafting the actual emails. We tested a cheaper model and the tone was noticeably worse at the awkward stages.
- Gmail for sending, from my address, with my signature. Clients never interact with a bot.
- A Google Sheet holding client-specific notes: "always pays late, don't chase before day 45", "invoice must quote the PO number", that sort of thing.
That sheet turned out to be the most valuable part of the whole build. All that relationship knowledge was in my head. Writing it down was the real automation.
How a run works
- Every weekday at 07:30, n8n pulls overdue invoices from Xero.
- It groups them by client and checks the notes sheet for exceptions.
- For each client, Claude drafts an email at the right escalation stage — friendly nudge (day 3), practical reminder with payment link (day 10), firmer note copying the account lead (day 21), formal pre-collections letter (day 45).
- Everything lands in a review queue. I open it with coffee, skim, approve or edit.
- Approved drafts send from my address at 09:15. Anything I edit gets logged so we can improve the prompt.
Total human time: about 20 minutes a day, down from roughly two and a half hours spread across the week. That's the 11 hours.
The three near-disasters
1. It nearly chased a client who'd already paid
Xero's "awaiting payment" status lags behind the bank feed by up to two days. Our first test run drafted a stern day-21 note to a client whose payment had cleared the previous afternoon. Caught it in review, went slightly cold, added a rule: cross-check the bank feed before drafting anything past stage two.
2. The tone drifted passive-aggressive
Left to its own devices the model produced things like "As you're no doubt aware, this invoice remains outstanding." Technically polite. Emotionally, a knife. We rewrote the prompt with three explicit rules: no "as you're aware", no "kindly", always offer a way out ("if there's a hold-up on your side, tell me and I'll adjust the plan").
3. It found a mistake of ours and told the client
One invoice had the wrong PO number — our error. The draft cheerfully explained this to the client before anyone internally knew. Now anything where the discrepancy is on our side gets routed to me with a red flag, not into the normal queue.
The numbers, four months in
| Metric | Before | After 4 months | Change |
|---|---|---|---|
| Average debtor days | 47 | 31 | −16 days |
| Time spent chasing / week | ~12.5 hrs | ~1.6 hrs | −11 hrs |
| Invoices chased on time | 61% | 98% | +37 pts |
| Client complaints about tone | 3 (in prior year) | 0 | — |
| Monthly running cost | — | £11 VPS + £26 model spend | £37/mo |
The debtor-days drop is worth roughly £48,000 of working capital freed up for us. I did not expect the biggest win to be a cash-flow one, but here we are.
Crew verdict
This is the shape of AI project that actually survives: narrow scope, a human approving every outgoing message, boring tooling, and a clear number to point at. No one had to change how they work except me, and my change was "spend less time being annoying by email".
If you're picking a first project, do this one. Seriously. It's the highest ratio of value to risk we've found.
Links from the thread
- Xero Invoices API docs — the endpoint you'll need
- n8n documentation — scheduling and the Gmail node
- Anthropic prompt engineering guide — the tone-control section is genuinely useful
- Our first-agent guide if you want a gentler on-ramp
Replies (58) — the useful ones
Want the n8n workflow?
Gwen exported a sanitised version of the JSON with the client-specific bits stripped out. Drop us a line and we'll send it over — no signup wall, we just like knowing who's using it so we can tell you when something breaks.
Ask for the workflow → Back to all threads