Case study, Operations, accounts receivable

Arrears, an automated invoice follow-up system that never forgets an unpaid invoice.

We built Arrears to show how we think an accounts-receivable follow-up system should behave: an escalation cadence a human doesn't have to remember, and a payment status that updates itself instead of living in someone's head.

DomainOperations, accounts receivable
ScopeEscalation schema, payment reconciliation, email sequencing
StackWorkflow engine, spreadsheet-backed ledger, Stripe webhook
StatusPrivate, Alvento-owned reference build
01, The problem

Chasing payment is a job someone already has, done from memory.

Almost every B2B service business runs on invoices: agencies, contractors, wholesalers. The chasing itself is rarely automated. Someone glances at a spreadsheet, remembers who's overdue, and sends a follow-up when they get to it, or when cash flow forces the question. Follow-ups get inconsistent, some clients get chased hard and others get forgotten entirely, and nobody can say with confidence what's actually outstanding right now.

The fix isn't complicated. It's making the cadence structural instead of memorised, so the business doesn't lose money to a task nobody has time to do reliably.

02, The approach

Four decisions that make the system trustworthy.

The value isn't the email-sending. It's the schema and the reconciliation behind it, decided up front so nothing depends on someone remembering to check.

Decision 01

Escalation as data, not memory

Day count since due date drives which template fires: 7, 14, 21, 28, 35, 42. The cadence lives in the schema, so it runs the same way for every invoice, every time, regardless of who's watching.

Decision 02

Payment status that updates itself

A Stripe webhook matches incoming payments to the ledger by customer and amount, and flips status to paid automatically. No one has to cross-reference a bank statement against a spreadsheet by hand.

Decision 03

Polite by design, firmer by schedule

Tone escalates with day count, a gentle check-in at day 7, a direct request by day 28, without turning adversarial before it needs to. The words are decided once, not improvised under pressure.

Decision 04

One ledger, one source of truth

Every invoice, its due date, its days overdue, and its current status live in a single place a business owner can open and trust, not scattered across inboxes and three different spreadsheets.

03, The sequence

What the client actually receives, at three points in the cadence.

Full sequence runs 7, 14, 21, 28, 35 and 42 days overdue. Three stages shown here to give a sense of how the tone shifts.

Where it differs

What manual chasing leaves to chance, Arrears makes structural.

This is a comparison against manual invoice chasing as a category, not any specific vendor or tool.

Axis
Manual chasing
Arrears
Follow-up timing
Whenever someone remembers, or cash flow forces it
Fixed cadence, every invoice, every time
Payment reconciliation
Manual bank-statement checking
Automatic match against Stripe payments
Tone consistency
Varies by mood, workload, and how overdue it already is
Consistent per stage, escalates on a set schedule
Visibility
Scattered across inboxes and spreadsheets
One ledger, one status column, always current

Fair comparison: category defaults we've observed, not claims about any named vendor.

For the finance function

What it gives back to accounts receivable.

Chasing overdue invoices sits with someone on the finance team already, alongside reconciliation, forecasting and the rest of the month-end workload. Automating the cadence doesn't remove their job, it removes the part of it that shouldn't need a person.

Time back

Hours a week returned to higher-value work

Every invoice a person no longer has to remember to chase is time back for reconciliation, forecasting, or supplier and customer relationships, the parts of finance that actually need judgement.

Faster cash conversion

A shorter gap between due date and payment

A consistent cadence from day 7 through day 42 closes the gap that inconsistent, whenever-someone-gets-to-it chasing leaves open, which is a direct lever on days sales outstanding and cash flow predictability.

Fewer write-offs

Invoices stop falling through the cracks

Unpaid invoices that age into bad debt are usually ones nobody followed up on in time, not ones a customer genuinely refused to pay. A cadence that never skips a step catches them earlier.

Audit-ready trail

Every follow-up and status change logged automatically

No dependence on someone's memory of "I think I emailed them twice." Every escalation sent and every payment reconciled is recorded as it happens, ready for month-end review or an auditor's question.

Deliberately simple, so it never becomes the thing that breaks.

An invoice ledger doesn't need a bespoke application. It needs a schema that can't drift, a cadence that fires reliably, and a payment source of truth that doesn't need manual reconciliation.

Workflow automation engine Spreadsheet-backed ledger Stripe webhook sync Scheduled cadence trigger

This is a reference build: the schema and escalation logic are the artefacts we sell, not a specific client's live system.

Chasing invoices from memory, or watching cash flow slip through inconsistent follow-up?

If your finance team is chasing invoices from memory, we'll build the ledger and the cadence once: less time on collections, faster cash conversion, an audit trail that doesn't rely on anyone's inbox.