The report that does not exist until someone builds it
An ageing report is a list of unpaid invoices grouped by how overdue they are — current, 1–30 days, 31–60, 61–90, over 90. It is the single most useful document in credit control, because it converts a vague sense that people owe you money into a prioritised list.
Accounting systems generate it automatically from the sales ledger. Businesses that invoice from a template and reconcile mentally have all the same information — invoices issued, money received — and no report.
The gap is purely mechanical, and it closes the same way everything else in this space closes: turn both sides into data and compare them.
What not having one costs
Without an ageing, chasing is driven by memory and irritation rather than by age and amount. The customer who shouts gets chased; the one who quietly never pays does not.
Collection probability falls with time, and it falls faster than most people expect — an invoice unpaid for four months is a materially different proposition from one unpaid for four weeks. Not knowing which is which means the wrong conversations happen at the wrong time.
There is also a planning cost. Cash forecasting without an ageing is guesswork, and the businesses that run out of cash while profitable are usually the ones that could not see this list.
The two sides you need
Side one: every sales invoice you have issued that might still be unpaid — customer, invoice number, issue date, due date, amount. If they exist as PDFs, invoice extraction and an invoice register turn them into that table without typing.
Side two: every receipt into your accounts for the period — date, amount, payer reference — which comes from converting your bank statements, plus any payment processor reports if customers pay by card.
Everything else is derived. The ageing is what remains on side one after side two has been matched against it.
Building the ageing, step by step
Build the invoice register
Every issued invoice with customer, number, dates and amount.
Extract receipts
All bank and processor receipts for the same period.
Match
Reference first, then amount and date; part-payments recorded as part-payments.
Subtract
What remains unmatched on the invoice side is the receivable.
Bucket by age
Measured from the due date, not the invoice date.
Sort by amount within bucket
So effort follows value as well as age.
Act
A different action per bucket, not the same email to everyone.
Buckets, and what each one means
The standard buckets exist because behaviour changes at those boundaries. Treating them as merely descriptive is what turns an ageing report into a document nobody acts on.
| Bucket | What it usually means | Reasonable action |
|---|---|---|
| Not yet due | Normal trading | Nothing — but it is your forecast |
| 1–30 days | Admin delay or a missed run | Polite reminder with the invoice attached |
| 31–60 days | Deliberate or a real problem | Call, not email — establish the reason |
| 61–90 days | Dispute, cash trouble, or ignored | Escalate; agree a plan in writing |
| Over 90 days | Collection risk is now material | Decide: plan, third party, or write off |
| Part-paid, any age | Often an unraised dispute | Ask what the deduction was for |
Age from the due date, not the invoice date
This sounds pedantic and is the difference between a report people trust and one they argue with. An invoice issued on the 1st with 30-day terms is not overdue on the 15th, and putting it in an overdue bucket makes the whole report suspect.
So the register needs a due date, derived from the invoice date and the customer's terms. Where terms vary by customer, store them once rather than recalculating from memory each month.
Extraction captures the payment terms printed on the invoice where they exist, which for most businesses covers the majority and leaves a short list to fill in by hand.
Matching receipts to invoices, realistically
Some receipts match cleanly by reference. Many do not: customers pay several invoices in one transfer, round amounts down, deduct something without explanation, or pay through a processor that nets its fee.
Handle the common patterns explicitly. One payment covering several invoices is allocated across them. A short payment is recorded as a part-payment with the balance still outstanding, not written off silently. A processor payout is gross sales minus fees, so the invoice was paid in full even though less arrived.
The tooling for this at volume is what payment matching and the reconciliation engine do — amount, name and reference signals with a confidence score per match.
What makes an ageing wrong
Credit notes not applied are the commonest: an invoice shows as unpaid when it was cancelled or reduced, and chasing it damages the relationship.
Duplicated invoices — the same invoice issued twice under different numbers — inflate the ageing and are usually discovered by an annoyed customer rather than by you.
Then processor timing: a card payment taken on the 30th settles in the next month, so the invoice looks overdue during the gap. And deposits or payments on account that were never allocated to a specific invoice, which make both sides wrong at once.
The two numbers worth watching
Total receivables tells you very little on its own. The two that matter are the share of the balance over 60 days — a direct measure of collection health — and the trend in average days to pay across your customer base.
Both need history rather than a snapshot, which is the practical argument for building the ageing monthly rather than in a crisis. Two data points are a trend; one is an opinion.
Debtor-day formulas exist and are worth calculating consistently rather than precisely. What matters is whether the number is moving, and in which direction.
Turning the report into money
An ageing that nobody acts on is worse than none, because it creates the feeling of control without the substance. The fix is a fixed action per bucket, done on a fixed day, by a named person.
Chase in descending order of amount within each bucket rather than working down the list alphabetically. Attach the invoice to every reminder — a surprising share of non-payment is genuinely "we never received it" — and move to the telephone at the 31–60 boundary, because email stops working there.
Everything at 90 days needs a decision rather than another reminder: a written payment plan, escalation, a third party, or a write-off. Repeating the same email for six months is the default outcome and the worst one.
Separating disputes from late payment
A disputed invoice is not a late payment and should not sit in the same bucket, because the action is completely different: someone has to resolve the dispute before any chasing makes sense.
Mark them explicitly, with the reason and the owner. An ageing report where a third of the over-90 balance is actually three unresolved disputes tells a very different story from one where it is genuine non-payment.
It is also the most common reason a customer stops paying everything rather than the disputed item — which is why finding these early is worth more than chasing harder.
The ageing is also your forecast
The not-yet-due bucket is next month's income, and the ageing is the only honest basis for a short-term cash forecast. Applying a realistic collection assumption per bucket — most of the current balance, less of the 60-day balance, little of the over-90 — produces a forecast that is defensible rather than optimistic.
Pair it with the outgoing side from your bank data and you have a genuine cash view. Cash flow from bank statements covers building that half.
The businesses that get caught out are rarely the ones without profit. They are the ones without this view.
A worked example: an agency with no ledger
A design agency invoices from a template and banks payments. There is no accounting system and a strong feeling that "a few clients are behind".
Extracting a year of issued invoices produces 142 rows. Extracting the bank statements produces the receipts. Matching by reference clears most of it; the rest is resolved by amount and date, including four transfers that each covered several invoices.
What remains is £38,000 unpaid — but the shape is the story. Nine invoices are current, eleven are in the 1–30 bucket, and two clients account for £24,000 of the over-90 balance, one of which turns out to be a dispute nobody escalated after an argument in March.
The report took an afternoon to build and changed what the agency did the next morning. The feeling had been "a few clients are behind". The fact was two.
Making the next ageing shorter
Most of what an ageing report reveals is preventable at the invoicing stage rather than the chasing stage. Clear payment terms on the invoice, a due date stated as a date rather than as a number of days, and the invoice reaching an accounts-payable address rather than one person's inbox.
Then the habit: build the ageing monthly rather than when cash gets tight. Chasing at 20 days works far better than chasing at 90, and the difference in effort is trivial.
For customers who are consistently slow, the lever is terms rather than tone — deposits, staged payments, or a credit limit. That is a commercial decision your data should inform rather than one to make on instinct.
How this differs from finding unpaid invoices
Unpaid invoice detection answers a binary question: which invoices have no matching payment? That is the input to this exercise.
Ageing is what you do with that answer — grouping by time, prioritising by value, and driving a different action per bucket. One finds the invoices; the other decides what happens to them.
Both sit on top of the same matching layer, which is why building the register once serves all of it: invoice reconciliation and payment matching cover the mechanics in more depth.
Who this helps
Agencies and consultancies
Project invoices, long terms, and clients who pay in batches.
Small businesses with no ledger
Invoices in a folder and payments in the bank.
Bookkeepers
Producing an ageing for clients who never had one.
Anyone forecasting cash
Because the ageing is the input, not a by-product.
Why completeness decides the report
An ageing built on incomplete receipts shows invoices as unpaid that were paid, and chasing a customer for money they already sent is the fastest way to make people stop trusting the report.
So the receipts side has to be provably complete: every statement checked against its own opening and closing balance, and no missing periods between statements. That check runs automatically, per account.
The invoice side has a different risk — invoices that were never captured at all. Sequential numbering is the practical control: gaps in your own numbering are worth investigating before the report is trusted.
How documents are handled
TLS in transit, processing in EU data centres, the original document deleted immediately after extraction, extracted data encrypted at rest, and no model training on customer documents — see security.
Terms, and what they do to the ageing
Payment terms decide when an invoice becomes overdue, so getting them into the register is what makes the buckets meaningful.
| Term | Due date | What to watch |
|---|---|---|
| On receipt | Immediately | Rarely enforced; expect drift |
| Net 14 | 14 days after invoice date | Common for small suppliers |
| Net 30 | 30 days after invoice date | The default in most markets |
| End of month following | Month-end after issue | Effectively up to 60 days |
| Staged / milestone | Per the agreement | Track each stage as its own invoice |
| Deposit then balance | Two dates | Deposit unpaid blocks the work, not the ageing |
The routine that turns a report into cash
An ageing works when it is attached to a routine: the same day each week, the same person, the same actions per bucket. Without that, it becomes a report people look at when worried, which is exactly when it is least useful.
The routine that works for most small businesses is weekly, thirty minutes, top-down by amount within each overdue bucket. Reminders for the recent, calls for the middle, decisions for the old.
Log the outcome against each invoice — promised date, dispute raised, no answer — because the second conversation is far more effective when it starts with what was said in the first.
What the ageing tells you about a customer
Read the pattern rather than the balance. A customer who always pays at 45 days on 30-day terms is predictable and can be planned around. One whose payment days are lengthening month by month is a warning, regardless of the current balance.
A customer who suddenly stops paying entirely after paying reliably usually has either a dispute nobody escalated or a cash problem — and the two need opposite responses, which is why the phone matters at that point.
Concentration is the third signal: if a large share of the overdue balance sits with one customer, that is a business risk rather than a collections task, and it belongs in a conversation about terms and limits.
Deciding when to stop chasing
Some invoices will not be collected, and carrying them forever makes the ageing dishonest — a report where a quarter of the over-90 balance is uncollectable overstates what the business is actually owed.
The decision is commercial and, in most jurisdictions, has accounting and tax consequences, so it belongs with your accountant rather than in a spreadsheet rule. What the data gives you is the basis: age, amount, contact history, and whether the customer is still trading.
Practically, review anything over a year at least annually, decide explicitly, and record the decision. An invoice quietly ignored is worse than one written off deliberately, because nobody ever learns from the first.
The boundary, stated plainly
FlowParse is a document-extraction engine, not an accounts-payable platform and not an ERP. It has no approval workflow, no purchase-order system, no vendor master, no payment execution and no ledger of its own. Nothing here approves, posts or pays anything.
What it does is turn the documents this work depends on — purchase orders, invoices, delivery and goods-received notes, supplier statements, remittance advice and bank statements — into structured, comparable data, with a completeness check on the statements so the numbers you compare are provably whole.
That is deliberately half the job. The other half — deciding what an exception means, approving a payment, posting a journal — belongs to your process and your people, and any tool claiming otherwise is describing something you would still have to supervise.
Build the first one this week
Extract the last twelve months of issued invoices and the same period of bank receipts. Match, subtract, bucket. An afternoon for most small businesses, and it is the single most useful financial document many of them have ever produced.
Then repeat it monthly. The second one takes twenty minutes, because only the new invoices and the new receipts have changed.
Share it with whoever makes commercial decisions, not just whoever chases. An ageing report that stays in the finance folder informs collections; the same report in front of the person who agrees terms and takes on new clients changes which customers you accept in the first place — which is where the larger saving actually lives.
Build an ageing from what you already have
Extract your issued invoices and your bank receipts, match them, and see exactly who owes what — and for how long.
