You delivered. The invoice went out. Now someone has to remember the reminders. Arrears puts that follow-up on a consistent schedule, keeps the wording measured and stops further reminders when a payment matches. Try the workflow and watch an overdue invoice move through the process.
Run the reminders. Open a message. Simulate payment for invoice #1200, then run the cycle again to see it skipped. Advance a week to watch the remaining invoices move through the schedule. This demo uses fictional invoices; emails are captured, never sent, and payments are simulated.
| Invoice / fictional client | Amount | Due date | Days overdue | Stage | Status |
|---|---|---|---|---|---|
| #1000Example Studio | £500 | 04 Oct 2026 | 0 | CompleteNo further reminders | Paid |
| #1100Example Workshop | £1,000 | 27 Sep 2026 | 7 | Day 7Gentle reminder | Overdue |
| #1200Example Supply | £1,500 | 20 Sep 2026 | 14 | Day 14Payment check-in | Overdue |
| #1300Example Design | £2,000 | 13 Sep 2026 | 21 | Day 21Payment date request | Overdue |
| #1400Example Print | £2,500 | 06 Sep 2026 | 28 | Day 28Direct request | Overdue |
| #1500Example Works | £3,000 | 30 Aug 2026 | 35 | Day 35Priority follow-up | Overdue |
| #1600Example Trading | £3,500 | 23 Aug 2026 | 42 | Day 42Final follow-up | Overdue |
Loading the working demo...
Try the controls freely: no money moves and no messages reach customers.
Open a message to inspect its tone.
Run the reminder cycle to capture the first emails.
Reminders and payment matches, newest first.
Each invoice gets one reminder per stage. Run the cycle twice on the same demo date: the second run creates no duplicates. A repeated payment event is also recognised and ignored.
Once a payment matches and the invoice is marked paid, later reminder runs skip it. Try the simulated payment, then run the cycle again to see the result.
Open any captured message in the demo outbox. The ledger, messages and activity trail stay together, so you can inspect the wording and see what happened.
The workflow checks the invoice reference, customer, amount and currency. A payment that cannot be matched to one invoice is held for a person to review.
The first reminder can be a gentle nudge. A later one needs a clear request for a payment date. Arrears demonstrates six stages, from day 7 to day 42, with the wording agreed in advance. You can inspect each message in the demo.
We can adapt the timing and tone to your terms and customer relationships, with a route to your team for disputes and exceptions.
Whether you run an agency, a contracting business or a wholesale operation, the useful starting point is the same: where do invoices live, how are payments recorded and who handles the exceptions? We build the workflow around those answers.
We agree reminder stages and wording around your payment terms, customer relationships and the point where someone on your team should step in.
We scope the invoice source, payment matching and email delivery, then define what your team needs to see when something requires a decision.
Tell us where invoices and payment records live. We check the available integrations and agree how the ledger will stay up to date before scoping a live implementation.
Yes. The demo shows days 7, 14, 21, 28, 35 and 42. We can adapt the timing, wording and escalation rules to your terms and approval process.
No. It uses fictional invoices, captured emails and simulated payments. A live rollout needs an agreed invoice source, payment connection and email delivery setup.
Python and Flask run the reminder workflow. SQLite keeps the invoice ledger, captured messages and payment events together. The Stripe SDK verifies signatures on payment events; this demo uses signed test fixtures. A daily timer runs the same reminder logic as the controls above.
Explore the invoice reminder wording, with examples for each stage.
Tell us how you invoice, where payment records live and who handles exceptions. We’ll help shape the follow-up around your business.