Payment reminders that send themselves three times a week, with a brake
The firm invoices dozens of client companies monthly and used to chase late payers by hand. Reminders now go out on a Monday/Wednesday/Friday schedule with three escalation levels in three languages, and a guard stops the run if the batch looks wrong.
Results
Numbers come from the run logs. The first fully successful live run was 17 August 2026; the automation moved from a button in Telegram to a fixed schedule on 2 September.
| Metric | Before | After |
|---|---|---|
| Reminder runs | when someone remembered | 3 per week, unattended |
| Human effort per run | check the ledger, write and send each letter | read a summary in Telegram |
| Batch safety limit | none | stops above 40 letters or €20 000 |
| Duplicate reminders | possible | blocked: 5-day cooldown + run lock |
| First live run | — | 14 letters, 13 delivered, €3 711.79 chased |
| From first live run to autopilot | — | 23 days |
The challenge
- Chasing was irregular
Reminders depended on someone opening the ledger. Some clients were reminded twice in a week, others not for a month.
- Tone and language had to be right
Clients read Estonian, Russian or English. A late payer is still a client; the first letter must be friendly, the third must be firm.
- One bad run could do real damage
A data glitch that marks every invoice overdue would send hundreds of letters. The firm needed a brake before it needed speed.
- Two systems, two versions of the truth
Invoice status lives in the accounting system, contact details and language in the CRM — and the two disagreed for 15 clients.
What we built
Every run reads the last 88 days of invoices from Merit Aktiva and works with the real outstanding balance — total minus payments — not the original invoice amount.
Days overdue set the level: 14+ days allows level 2, 21+ allows level 3. The level is not sticky — once the old debt is paid, the client drops back down.
The run stops and alerts if there are no CRM cards or no invoices, if more than 40 letters or €20 000 would go out, or if over half the batch is at the harshest level.
Letters are written as a colleague would: 'already paid? thank you — the letters crossed'. Balances under €3 get one friendly note instead of the three-step sequence.
Pause, resume and status commands in the accountants' group. A preview report arrives at 10:55; sending happens at 11:00 unless paused.
Each letter, its level and the delivery outcome are written to the CRM card. A failed address is shown with its reason in the summary, not buried in a log.
How it went live
Button-triggered runs
Live from 10 August with a button in Telegram, so an accountant approved each batch while the matching and wording were tuned.
10 – 25 August 2026Locks, cooldowns, guard
Run lock and per-recipient tracking added so an overlapping retry cannot double-send; a timezone bug fixed; micro-debt rule and escalation reset agreed with the firm.
12 – 25 August 2026Schedule instead of button
From 2 September the run is fully automatic on Mon/Wed/Fri. Three consecutive delivery failures set a 'do not send' flag on the card for a person to look at.
2 September 2026Honest limits
Invoice PDFs are not yet attached to the reminder emails. Private individuals without a registry number are still reminded manually. Two of the three language variants were machine-translated and are awaiting the firm's formal approval. One recipient domain is dead and fails every run until the accountant provides a new address — it is flagged, not hidden.
Frequently asked questions
Why a brake instead of just sending faster?
Because a reminder is a customer contact. A wrong batch costs more goodwill than a late batch costs cash. The guard limits are agreed with the firm and can be changed in one place.
Does the escalation level ever go down?
Yes, on purpose. It is recalculated from the current invoice age every run, so a client who has paid the old invoice is not still treated as a level-3 case.
What if we want to stop it today?
Type the pause command in the Telegram group. The preview report still arrives so you can see what would have gone out; nothing is sent until you resume.
Which accounting systems can this read from?
Anything with invoice status available through an API: Merit Aktiva here, Xero, QuickBooks Online, Fortnox and 1C in other setups. Contact data can come from a CRM or a spreadsheet.
How long from decision to unattended operation?
In this case 23 days from the first live run to a fixed schedule. The pilot phase with a button is deliberate: it lets the firm see real batches before trusting the schedule.
Similar stream in your business?
Tell us which documents or requests eat the hours. Free audit, fixed pilot price, no commitment.
Get a free automation audit