Getting paid is the part of running a business nobody wants to manage and everybody has to. Reminders fall to whoever has half an hour spare. Disputes get buried inside long email threads. The owner finds out about a problem invoice three weeks after the customer first flagged it. For most teams, the bottleneck isn't doing the work. It's collecting on it.

Case Study, not Delivered Project.

How we'd approach this kind of problem. See delivered projects →

38.2 days Average UK payment delay in construction, the slowest-paying sector. Across all UK SMBs, 70% experienced late payments in early 2025 (FSB, Coface)

You probably have this problem if…

  • Friday mornings are still a manual sweep through the aged debtors report.
  • You can't say with confidence which overdue invoices have been chased this week and which haven't.
  • A £400 maintenance invoice and a £15,000 final invoice get the same generic reminder, or no reminder at all.
  • Customers reply to a chase, the office misses it, and the next reminder goes out anyway. Now you look careless.
  • The owner only finds out about a disputed invoice when somebody asks why it's still on the report.

Any two of those is a strong signal. All of them and the business is losing working capital and goodwill to a process problem that compounds every week.


How the pattern works

Imagine a careful credit controller who knows every customer by name. They remember what was agreed on each job, watch the inbox in real time, and never chase someone who has already replied. When a customer pushes back, they pause the sequence and bring the right person in. That's the system.

Five things have to work for it to be useful.

£ Invoice issued Rule check Personal reminder Reply read Cash dashboard
From a fresh invoice to a paid one, with replies read and disputes pulled out before they age.

1. It reads Xero, not your inbox

Xero stays the source of truth for what was billed, what was paid, and which contact gets the reminder. The system listens for the invoice and contact webhooks Xero already publishes, so a new invoice or a payment is visible within seconds rather than on the next sync. Where webhooks fall short the system polls quietly in the background. Nothing about your bookkeeping changes. The office keeps using Xero exactly as they do today.

2. It checks the rules that apply to this customer, on this invoice

A retail account on net thirty terms behaves differently from a domestic customer paying for a one-off job. A £350 maintenance invoice does not warrant the same escalation as a £14,000 final stage payment. The rule engine combines customer tags from Xero, invoice metadata, and a small set of overrides the office can edit. It decides when the first reminder fires, which channel to use, how firm the language gets, and whether the owner is copied in or kept clear of it. The rules live in a small admin screen, not buried in code, so the office can change them without a developer.

3. It writes a reminder that sounds like a person, not a template

Generic chase templates are how customers learn to ignore reminders. The system passes the invoice, the customer's history, and the appropriate firmness band to a language model, which drafts a short, specific note. It references the job, the agreed terms, and any prior conversation. Tone is set by the rule, not the model. A first nudge on a regular account reads warmly. A second reminder on a disputed final invoice reads firmer. Inside the chosen firmness band the draft can go out automatically, or it can be held for a one-click review if you would rather see it before it lands.

4. It reads the reply and decides whether to pause

This is the part that separates automation people respect from automation people resent. When a reply lands in the shared inbox the system classifies it, marking each one as a payment confirmation, a query, a promise to pay, a request for a different payment method, a wrong-contact bounce, or a dispute. Anything ambiguous goes to a human. The moment a customer has engaged the sequence pauses. The office sees the reply, a one-line summary, and a suggested next action. Nobody gets chased after they have already responded.

5. It surfaces what needs attention today

The dashboard is not another aged debtors report. It shows the small set of invoices that genuinely need a human this week, things like disputes, promises to pay that have lapsed, high-value invoices approaching escalation, and the customers the owner has asked to handle personally. Total cash at risk sits at the top. Everything else proceeds quietly in the background. The Friday morning sweep becomes a five-minute review.


The default stack

Accounting source Xero (existing)
Sync Xero webhooks plus hourly reconciliation poll
Scheduling Inngest (durable cron and step functions)
Email Postmark (transactional-only sender reputation)
SMS for high-priority Twilio Programmable Messaging
Reminder drafting and reply classification Claude Sonnet (Anthropic)
Payment routes Stripe and GoCardless via Xero
Database Neon (serverless Postgres)
Dashboard Custom web app with a single exception view

Two choices that matter most.

Inngest over plain cron. Reminder sequences are a textbook case for durable step functions. Each step (wait seven days, check whether the invoice was paid, draft the reminder, send it, watch for a reply) survives restarts and retries on its own. Plain cron jobs collapse into spaghetti the moment you need to pause a sequence on a reply, resume one a week later, or rerun a failed send without firing duplicates.

Postmark over a general-purpose marketing ESP. Chase emails are transactional. They have to land in the primary inbox, not promotions. Marketing platforms share sender IPs and reputation across thousands of newsletter senders, which is fine for a launch announcement and corrosive for a reminder that needs to be read today. Postmark's transactional-only infrastructure benchmarks at over 98% inbox placement in independent deliverability tests.


When this isn't the right fit

The pattern is powerful, but it's the wrong tool for some problems.

Very low invoice volume. Below roughly twenty invoices a month, the office manager probably already knows every customer and every job by name. Configuring Xero's built-in reminders and a tidy spreadsheet usually outperforms the build cost.

Off-the-shelf is sufficient. If the rules are simple and the team is happy with templated reminders, Chaser, Satago, or Paidnice will get you most of the way for a monthly subscription. Build only the missing layer. Don't rebuild what an installed product already does well.

The real bottleneck is upstream. If invoices go out a week after the job ends, or job pricing is constantly disputed, chase automation is treating a symptom. The fix is in scoping, sign-off, and billing cadence. Cleaner inputs do more than smarter chasing.

Strict regulated collections. Once an account is genuinely in collections under FCA or CCA rules, the path is regulated debt recovery, not automated reminders. The system should hand off cleanly to that workflow and stop chasing.


What to expect

Implementation time 4–8 weeks for a typical first build, depending on rule complexity and how clean Xero's customer tagging already is.
Deployment options Cloud-hosted by default on UK or EU infrastructure. Customer email and payment data stays inside Xero, Postmark, and Stripe.
Infrastructure cost Roughly £80–250 per month for a 100–500 invoice/month business, covering Inngest, Postmark, Twilio, the database, and LLM usage combined.
Manual chase time Typically falls from several hours a week to a five-minute exception review, plus whatever calls the office decides are worth making.
Days sales outstanding Consistent, well-timed reminders typically pull DSO in by several days for businesses that previously chased irregularly. The FSB puts the average UK SMB late-payment delay in the mid-thirties of days, so even modest recovery is meaningful working capital.
Secondary benefits Owner visibility on disputed invoices in hours instead of weeks, fewer awkward "didn't you already chase me" replies, and a defensible audit trail of every reminder and every customer response.

If this pattern fits your team

A Pare Audit is the way to find out whether it does, and what a delivery would look like in your specific situation. We spend a focused few days with you, look at the real Xero data, the real reminder cadence, the real disputes hiding in inboxes, and come back with a written recommendation, a scoped build, and a costed plan.