An agent that chases overdue invoices
Last reviewed 27 July 2026
An overdue-invoice agent watches your accounting ledger for invoices past their due date, then runs the follow-up sequence a person would run. It sends reminders on a schedule, escalates tone as the debt ages, logs every reply against the invoice, and stops the moment a customer disputes the charge or promises a payment date.
What starts it
An invoice in the accounting system passes its due date without a matching payment, and no active dispute or payment plan is recorded against it.
What it does
- 01
Poll the ledger for invoices past due with no matching payment.
- 02
Check for an existing dispute, payment plan, or recent human contact, and skip if any is present.
- 03
Select the reminder template matching how far past due the invoice is.
- 04
Send from the finance address and log the send against the invoice record.
- 05
Watch the inbox for a reply and classify it as payment, promise, dispute, or query.
- 06
Stop the sequence and escalate on anything that is not a plain payment.
What it connects to
- Accounting ledger (Xero, QuickBooks, or NetSuite) for invoice and payment state
- Transactional email with a shared finance inbox and reply threading
How it goes wrong
- Chasing an invoice that was already paid by a method the ledger has not reconciled yet, which reads to the customer as incompetence and damages the relationship.
- Misclassifying a dispute as a query and continuing to escalate, which converts a recoverable debt into a formal complaint.
When it hands back
Any dispute, any request to change payment terms, any invoice above the value threshold the owner sets, and any account where a human has had contact in the last fourteen days.
Most overdue invoices are not refusals
The assumption that makes this job fail is that an overdue invoice means a customer who will not pay. On the buyer’s side, invoices sit unpaid for reasons that have nothing to do with willingness. It arrived without the purchase order reference their accounts payable system requires, so it was rejected on receipt and nobody told you. It went to a named individual rather than the accounts payable inbox, and is sitting in one person’s mail while they are on leave. It is waiting on an internal approver. Your bank details were never set up on their vendor master, so the payment run skips it every cycle. Each of those needs a different message, and not one of them is a payment reminder.
So the first job is not sending, it is identifying the blocker, which usually means the opening contact has to ask a question rather than restate a balance. The escalation sequence is the second job: a reminder before the due date, one on the day, then a widening series afterwards with a firmer tone and a shorter interval, until the money arrives or the account leaves the sequence for a person’s desk.
Two structural details decide whether that sequence reads as competent or as automated. The ladder runs per invoice, because each invoice has its own due date derived from that customer’s agreed payment terms rather than from the date it was raised. The message runs per customer, because a customer with dozens of open items should receive one email with a statement attached, not dozens of separate reminders on the same morning. Getting those two the wrong way round is the fastest way to announce that nobody is really watching the account.
What it costs to run
Assume three model calls per invoice per cycle: one to read the ledger state and decide whether the invoice is genuinely chaseable, one to classify any reply that came back, and one to draft the message. Call it 2,000 input tokens each, so 6,000 input, plus a 300-token draft. Anthropic’s published rate card puts Claude Haiku 4.5 at a dollar per million tokens in and five per million out, so that is $0.006 of input against $0.0015 of output. That is under a cent per invoice chased, or roughly eight dollars a month across a thousand chases. Redo the arithmetic with your own volume and model rate.
The token cost is not the constraint. The email sending reputation is. A finance address that suddenly starts sending several hundred messages a day gets filtered, and a chase in a spam folder is worse than no chase because the ledger records it as sent.
What the law lets you add
In the United Kingdom, commercial debts carry a statutory entitlement that most creditors never invoke. Under the Late Payment of Commercial Debts (Interest) Act 1998, a supplier can claim interest at eight percentage points above the Bank of England base rate, plus fixed compensation set by debt size: forty pounds on debts below one thousand pounds, seventy pounds from one thousand to just under ten thousand, and one hundred pounds at ten thousand and above. The Act applies to business-to-business contracts, not consumer ones.
An agent is well placed to apply this consistently, which is exactly the reason to be careful with it. Adding statutory interest to a long-standing customer’s account is a commercial decision with a relationship attached, so the sensible configuration is that the agent computes the entitlement and names it in an internal note, and a person decides whether to charge it.
The reconciliation trap
The single worst outcome of this job is chasing an invoice that has already been paid. It reads to the customer as incompetence, it costs goodwill that took years to build, and it is caused by a lag the agent cannot see: a bank transfer that landed on Friday and will not appear in the ledger until Monday’s feed imports, a card payment sitting in a payment processor, a customer who paid three invoices with one round-figure transfer that has not been allocated to any of them.
Two defences work. The first is a quiet period, meaning no invoice is chased within a fixed number of days of the ledger’s last successful bank feed sync. The second is checking unallocated receipts as well as allocated ones, because a payment sitting in suspense is still a payment.
Reading a reply is harder than sending one
Sending is trivial. Classifying what comes back is where the job actually lives, and the categories are not evenly balanced. A remittance advice, a promise of a date, a query about which purchase order the invoice sits against, a short payment with a deduction explained in one line, a dispute about the work itself, and an out-of-office. Only the last one is safe to ignore, and only the first is safe to act on without a person.
The dangerous confusion is between a query and a dispute. “Which PO is this against?” is a query, and continuing the sequence while answering it is fine. “We never agreed that rate” is a dispute, and continuing the sequence turns a recoverable debt into a formal complaint and, eventually, a credit note. When the classification is uncertain, the correct behaviour is to treat it as a dispute, because the cost of pausing a chase wrongly is a few days and the cost of escalating into a dispute is the invoice.
What changes by who owes you
The chase looks different depending on the payer. Where invoices have been factored, the debt has been assigned and the factor holds the collection right, so contacting the customer directly can breach the facility agreement. Where the payer is a main contractor on a construction project and the contract provides for retention, part of each certified application is held back and does not fall due until the contract releases it, so it is not late yet. Where a practice chases on behalf of its clients, the sender identity changes per client and so does the tone the client will tolerate.
Where this job differs
- bookkeeping practice
The practice chases on behalf of its own clients, so the agent acts under a different sender identity per client.
- freight brokerage
Invoices are often factored, so the chase has to check the factoring status before contacting anyone.
- construction contracting
Where the contract allows retention, it is held back from each certified application and is not due until release, so that part of the balance cannot be chased as a late invoice.