A list of unpaid invoices tells you how much you are owed. An aging report tells you something more useful: how worried to be about each dollar of it. By sorting receivables into buckets by how long they have been outstanding, it converts a flat total into a risk profile — because an invoice at 95 days past due is not the same kind of money as one due next week.
It is the first report an accountant, lender or buyer will ask for when they want to know whether your revenue actually turns into cash — and it is simple enough to build from any invoice list, including a spreadsheet.
What the report shows
Rows are customers; columns are age buckets; each unpaid invoice lands in the bucket matching how far past its due date it sits. The conventional buckets are current (not yet due), 1–30 days past due, 31–60, 61–90, and 90+.
Here is a small example — three customers, $10,700 outstanding:
| Customer | Current | 1–30 | 31–60 | 61–90 | 90+ |
|---|---|---|---|---|---|
| Acme Studios | $2,400 | — | — | — | — |
| Birch & Co | $1,200 | $1,800 | — | — | — |
| Cole Retail | — | — | $1,600 | $900 | $2,800 |
| Total ($10,700) | $3,600 | $1,800 | $1,600 | $900 | $2,800 |
How to read it
Read the totals row first, as a shape. A healthy report is front-loaded: most of the money sits in current and 1–30, and each bucket rightward is smaller than the last. The example above is not healthy — $2,800 of $10,700 is past 90 days, and all of it belongs to one customer.
That is the second read: down the rows. Aging problems are rarely evenly spread; they concentrate in specific customers, and the report names them. Acme is a model citizen. Birch pays, slowly. Cole Retail is a collections case wearing a customer name — 39% of your receivables and every dollar of your worst bucket.
The 31–60 bucket is your early-warning line: money there has survived a due date and a polite reminder, and whatever stopped it paying is now a pattern, not an oversight. By 90+, the odds of full collection have fallen substantially — old receivables decay, which is why waiting is itself a decision.
What each bucket asks you to do
The report earns its keep when each bucket has a standard response — decided once, applied routinely, with no awkwardness in the moment:
- Current: nothing. Optionally a friendly heads-up a few days before the due date on large invoices.
- 1–30 past due: a written reminder the day after the due date, and again at two weeks. Most invoices here are inattention, not refusal.
- 31–60: a phone call, not another email — and a direct question about when payment will arrive. Pause new work for the customer if the amount is material.
- 61–90: an escalation letter with a specific date, a payment-plan offer if the customer is struggling, and no further credit terms.
- 90+: a decision. Collections agency, legal letter, payment plan — or a write-off that at least stops the account consuming attention. Hope is not on the list.
Building one, and the number that summarises it
From any invoice tracker with an amount, a due date and a paid flag, the report is one calculation per unpaid invoice: today minus due date, sorted into buckets. Software produces it in a click, but a spreadsheet pivot does the same honest work — what matters is running it on a schedule, weekly or monthly, so the drift between reports becomes visible.
Its one-number companion is DSO — days sales outstanding, the average time from invoice to cash. The aging report says where the problems are; DSO says whether the overall machine is speeding up or slowing down. Watch both: DSO trending up while the 60+ buckets swell is the classic picture of collections quietly failing.
Common Mistakes
Aging from invoice date and due date interchangeably
A report aged from invoice date shows Net 30 invoices as "30 days old" when they are not yet late. Pick past-due-date aging (the convention above), label the report accordingly, and be consistent.
Reading only the total
$10,000 outstanding that is 90% current is routine; the same total 40% in the 90+ bucket is an emergency. The distribution is the information — the total alone actively misleads.
Running it only when cash gets tight
By the time the bank balance raises the question, the answer is months old. The report is an early-warning system only if it runs on a schedule.
Treating every bucket the same way
Sending a fourth polite email to a 90-day debtor and a stiff demand to a customer three days late gets both responses wrong. Escalation should follow the bucket, not your mood that morning.
Frequently Asked Questions
What is a good aging profile?
Front-loaded: the large majority of receivables in current and 1–30, shrinking with each bucket, and 90+ near zero. Norms vary by industry and terms, so the trend across your own reports matters more than any universal ratio.
How often should I run the report?
Weekly if cash is tight or customers are slow; monthly as a floor for any business extending credit terms. The value is in the comparison between runs, which only exists if the runs happen.
When should an old invoice be written off?
When the cost of pursuing it exceeds what you will plausibly recover — commonly somewhere past 90–180 days after collection attempts have failed. A write-off records the loss as bad debt; tax deductibility depends on your country and accounting method, so confirm treatment with your accountant.
Is the aging report the same as DSO?
They are companions. The aging report is the detailed map — which invoices, which customers, how late. DSO compresses collection speed into a single average number you can track over time. Use DSO to spot drift, the aging report to find its cause.
Sources & Further Reading
Ready to put this into practice?
Create a professional invoice in your browser — free, no sign-up, no watermark.
Open the Invoice Generator