← Latest news
· 3 min read

What is invoice aging?

What is invoice aging?

Invoice aging groups unpaid invoices by how long they've been outstanding, usually in 30-day buckets. On the payables side it's an aged creditors report; on the receivables side, aged debtors.

A standard one looks like this:

Supplier Current 31–60 61–90 90+ Total
Halliwell & Son 1,248 420 1,668
Nordic Office 890 340 1,230
Trade Direct 2,100 1,880 640 4,620

It answers two useful questions immediately: how much do we owe, and how overdue is it.

The flaw in the standard report

Nearly every accounting package ages by invoice date against today. Which quietly mixes together two completely different problems:

"We haven't processed this yet." The invoice arrived three weeks ago, sat in an inbox, and was only entered on Tuesday. It's 21 days old and nobody has done anything wrong except be slow at entry.

"We've processed it and it isn't due." The invoice is 21 days old, entered on arrival, approved, and sitting on 30-day terms with nine days to run. Entirely healthy.

Both appear in the same bucket. One is a process failure and one is normal, and the report shows them as the same number.

Age by due date, not invoice date, if your system allows it. Then the buckets mean something: anything past due is genuinely late, and the current column is genuinely fine.

Most packages support this and default to the other.

What the buckets usually mean on the payables side

Current. Fine, assuming your terms are what you think they are.

31–60. Either terms longer than 30 days, or approval taking too long. Check which — the first is a commercial arrangement, the second is a bottleneck.

61–90. Something is stuck. Almost always a query nobody owns, or an approver who never responded and nobody chased.

90+. Usually one of three things: a disputed invoice that was never resolved, a duplicate that shouldn't be there at all, or a credit note that was never allocated against it. All three are cleanup, not payment.

The 90+ column on a payables report is rarely a cash problem. It's a housekeeping problem that looks like a cash problem.

What it doesn't tell you

Invoices you haven't entered. The largest omission by far. An invoice sitting in someone's inbox is not on this report, so the report understates what you owe — and by an amount that grows with how infrequently you do entry. If you enter monthly, this report is meaningfully wrong for most of the month.

Whether the aging is deliberate. A high 31–60 bucket could be good working capital management or a broken approval process. Same number, opposite meanings.

Which invoices carry consequences. Not every late payment costs the same. A supplier charging interest, a single-source supplier, or one about to put you on credit hold matters far more than a large balance with a supplier who doesn't mind.

Using it well

Age by due date if you can.

Read it before each payment run, filtered to what falls due before the following run. That's the number that decides what goes in this one, and it's the one people don't compute.

Work the 90+ column separately, as cleanup rather than payment. Most of it will be queries, duplicates and unallocated credits.

Check the total against a supplier statement occasionally. If the supplier thinks you owe less than you do, you have a duplicate. If they think you owe more, you have an invoice you never entered — which is the one this report structurally cannot show you.


Cribble records invoices as they arrive rather than when someone gets to them, which removes the gap between what you owe and what your aged report knows about.

See your own paperwork read.

One simple plan. Sign up and forward your first document today.

Get started