pickoracuriouscrew.forum Join the crew
Where to?
Home Crew threads Tool teardowns Guides Field notes Say hi Join the crew

Home/Threads/Invoice chasing

Finance opsAutomationHuman-in-the-loop

We automated invoice chasing and got 11 hours a week back

Stack of paper invoices and a calculator on a wooden desk

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

  1. Every weekday at 07:30, n8n pulls overdue invoices from Xero.
  2. It groups them by client and checks the notes sheet for exceptions.
  3. 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).
  4. Everything lands in a review queue. I open it with coffee, skim, approve or edit.
  5. 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

MetricBeforeAfter 4 monthsChange
Average debtor days4731−16 days
Time spent chasing / week~12.5 hrs~1.6 hrs−11 hrs
Invoices chased on time61%98%+37 pts
Client complaints about tone3 (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


Replies (58) — the useful ones

@marla_ops
reply #6 · 5 weeks ago

The notes spreadsheet point deserves its own thread honestly. Half of "AI projects" are really just "we finally wrote down the tribal knowledge" projects wearing a costume.

@dev_tobi
reply #14 · 5 weeks ago

Strongly second the bank-feed cross-check. We had the same lag issue with QuickBooks. Also worth adding a global kill switch — one toggle in the sheet that stops all sending. We've used ours twice, both times during a billing system migration.

@hansi_kb
reply #29 · 3 weeks ago

Question — did you tell clients an AI drafts these? We went back and forth on it. Ended up putting a line in our terms rather than in each email, which felt honest without being weird.

@finance_gwen
reply #31 · 3 weeks ago

Same answer as you, more or less. A line in our supplier terms plus I'll say it plainly if anyone asks. Since I read and approve every single one before it goes, I'm comfortable calling them my emails. The day that stops being true, the disclosure changes.

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