AR aging buckets explained: 30/60/90 and what to do with them
AR aging buckets explained: why 30/60/90, how to compute weighted average days overdue, and how to set a bad debt reserve from the bucket mix.
AR aging buckets group open receivables by how long each invoice is past its due date — current, 1–30, 31–60, 61–90 and 90+ days. Weight each bucket's balance by its midpoint days to get weighted average days overdue: a $2,000,000 ledger with $760,000 overdue averages 38.1 days late.
Key takeaways
- Buckets exist to convert one number (total AR) into a risk distribution. The mix is the message, not the total.
- Weighted average days overdue compresses the whole distribution into one figure — but state whether the denominator is total AR or overdue AR, because the same ledger reads 14.5 or 38.1 days.
- Bucket loss rates give a defensible reserve: a $2,000,000 ledger with a normal mix produces $57,800, or 2.89% of AR.
- In that ledger the two oldest buckets are 7.7% of the balance and 65.9% of the reserve. That is where the collector's day should go.
- Aging by invoice date instead of due date shifts every balance a full term to the right and makes current invoices look overdue.
Total accounts receivable is a single number that hides everything worth knowing. Two companies can both report $2,000,000 of AR: one where 90% is not yet due, and one where a third of it is more than 60 days late. The aging report exists to tell those two apart, and the buckets are how it does it.
- AR aging bucket
- A band of days used to group open receivables by how long each invoice has been outstanding past its due date. The conventional bands are current (not yet due), 1–30, 31–60, 61–90 and 90+ days past due, and each band carries a different probability of being collected.
Why 30, 60 and 90 days?
The bands are conventional rather than statistical. Thirty-day steps line up with monthly close, with net-30 terms, and with the natural rhythm of a customer's own payment run — an invoice that misses one AP cycle typically slips a whole month, not four days. They also map onto escalation stages: reminder, statement, credit hold, third party.
That convention breaks in two situations. If your terms are net 45 or net 60, a 30-day grid straddles the boundary between "not yet due" and "late" inside a single bucket. And if your escalation ladder fires at 7, 14 and 30 days, a first bucket 30 days wide hides the accounts you were about to escalate. In both cases, design buckets around your ladder — 1–15, 16–30, 31–60, 61–90, 90+ works well — and keep them stable so the trend stays readable.
A real aging distribution
Here is a $2,000,000 ledger for a distributor on net-30 terms, monthly credit sales of $1,300,000, aged by days past due date.
| Bucket | Balance | % of AR | Read it as |
|---|---|---|---|
| Current (not yet due) | $1,240,000 | 62.0% | Working as designed |
| 1–30 days past due | $420,000 | 21.0% | Mostly AP-cycle slippage |
| 31–60 days past due | $186,000 | 9.3% | Something is wrong: dispute, query or cash |
| 61–90 days past due | $94,000 | 4.7% | Escalate or reserve |
| 90+ days past due | $60,000 | 3.0% | Assume you will fight for it |
| Total | $2,000,000 | 100% | — |
Before reading anything into the mix, check it against terms. With $1,300,000 of monthly credit sales, DSO here is ($2,000,000 ÷ $1,300,000) × 30 = 46.2 days on net-30 terms, so customers are running about 16 days beyond terms. The bucket mix now tells you where those 16 days live — and the answer is the 1–30 bucket, not the tail. Recover the DSO figure first; it frames everything below.
Weighted average days overdue
The mix is five numbers. Sometimes you need one. Weighted average days overdue collapses the distribution by assigning each bucket a representative day count — its midpoint — and weighting by balance.
Midpoints used: current = 0, 1–30 = 15, 31–60 = 45, 61–90 = 75, 90+ = 120
Weighted days = 420,000 × 15 = 6,300,000
+ 186,000 × 45 = 8,370,000
+ 94,000 × 75 = 7,050,000
+ 60,000 × 120 = 7,200,000
= 28,920,000 dollar-daysNow pick a denominator, and this is where teams talk past each other.
Across the whole ledger: 28,920,000 ÷ 2,000,000 = 14.5 days
Across overdue balances: 28,920,000 ÷ 760,000 = 38.1 daysBoth are legitimate. The whole-ledger figure (14.5 days) answers how late is our receivables book on average, and it moves whenever sales volume moves. The overdue-only figure (38.1 days) answers when something is late, how late is it, and it isolates collection difficulty from sales volume. Use the overdue-only version to judge the collections function, publish the definition next to the number, and never switch mid-year.
Paste invoice amounts and days overdue. Returns the bucket mix, percentage split, weighted average days overdue on both denominators, and a suggested reserve.
Turning buckets into a bad debt reserve
The aging method for reserves applies an expected loss rate to each bucket. Loss rates should come from your own history — take the invoices that entered each bucket two or three years ago and measure what fraction was eventually written off. Failing that, start with rates like these and correct them annually.
| Bucket | Balance | Loss rate | Reserve | Share of reserve |
|---|---|---|---|---|
| Current | $1,240,000 | 0.5% | $6,200 | 10.7% |
| 1–30 | $420,000 | 1.0% | $4,200 | 7.3% |
| 31–60 | $186,000 | 5.0% | $9,300 | 16.1% |
| 61–90 | $94,000 | 15.0% | $14,100 | 24.4% |
| 90+ | $60,000 | 40.0% | $24,000 | 41.5% |
| Total | $2,000,000 | 2.89% | $57,800 | 100% |
Two observations. The 61–90 and 90+ buckets together are $154,000 — 7.7% of the ledger — but they carry $38,100 of reserve, which is 65.9% of the total. That ratio is the argument for where a collector's Tuesday should go.
Second, compare against the flat percentage-of-sales method: 0.4% of $15,600,000 of annual credit sales gives $62,400, close to the $57,800 the aging method produced. They often land near each other in a stable year, which is why people default to the simpler one. The difference shows up when the mix deteriorates: shift $100,000 from current into 90+ and the aging reserve rises by $39,500 while the sales-based reserve does not move at all. The bad debt reserve calculator runs both methods side by side.
Working the report by value, not by date
The default aging report sorts oldest first. It feels rigorous and it is a bad use of your best collector. Sorting by age puts a $1,200 invoice that is 95 days old ahead of a $214,000 invoice that is 22 days overdue. Sort by amount, either overall or within each bucket.
| Account | Overdue balance | Days overdue | Bucket |
|---|---|---|---|
| Customer A | $214,000 | 22 | 1–30 |
| Customer B | $96,000 | 41 | 31–60 |
| Customer C | $88,000 | 12 | 1–30 |
| Customer D | $52,000 | 68 | 61–90 |
| Customer E | $41,000 | 104 | 90+ |
| Top five | $491,000 | — | 64.6% of all overdue value |
Five calls cover $491,000 of the $760,000 overdue. Note that the largest single exposure sits in the youngest overdue bucket, which an age-sorted report would show on page four. Work value first, then age, then set a de minimis threshold — below perhaps $500, an automated reminder ladder is cheaper than a human, and the rest of the DSO lever list applies.
Five things that make an aging report lie
- Aged by invoice date instead of due date. On net-30 terms this shifts every balance a full term to the right: an invoice 15 days overdue appears in the 31–60 bucket, and invoices that are not due at all appear in 1–30. Check which basis your report uses before you interpret a single number. Most ERPs offer both, and the default is not always the one you want.
- Unapplied cash. A $40,000 receipt sitting unmatched leaves a $40,000 invoice ageing in 31–60 while the money is already in your bank. Unapplied cash over five days old belongs on a daily report, not in the month-end clean-up.
- Unapplied credit memos. These net against the current bucket and quietly reduce the overdue percentage. If the aging total reconciles to the GL but the current bucket looks too big, look for credits with no invoice attached.
- Disputes mixed in with slow payers. A queried invoice is not ageing, it is waiting. Flag disputes and report them as a separate line, because chasing them harder does nothing and the fix lives in billing.
- Partial payments and invoice-level versus balance-level aging. A $100,000 invoice with $90,000 paid should age $10,000, not $100,000. Some reports age the whole invoice at its original date. That single behaviour can double your apparent tail.
What to watch weekly
The aging report is a monthly artefact, but three numbers derived from it are worth watching weekly, because they move before DSO does: overdue value by bucket, count of disputed invoices with their total value, and unapplied cash older than five days. Add collection effectiveness index monthly — it grades the collections team without punishing them for a sales spike, which the aging mix cannot do on its own.
Getting the buckets right in your ERP
Standard aging reports are usually the fastest thing to get and the hardest thing to trust: fixed buckets, aging basis buried in a preference, credit memos handled inconsistently, and multi-subsidiary consolidation that silently changes the answer. Rebuilding it properly means a saved search per bucket or a formula field per band, and it breaks the first time somebody adds a payment term. Running the AR aging report in NetSuite walks the specifics.
Ask "show our AR aged by due date in 15-day buckets, excluding disputed invoices, with the top 10 overdue customers by value" and you get the answer computed live from your own account, with the query shown underneath so you can verify the aging basis instead of hoping. Read-only by default.
Frequently asked questions
What are the standard AR aging buckets?
Current (not yet due), 1–30, 31–60, 61–90 and 90+ days past due. The 30-day steps match monthly close cycles, net-30 terms and customer AP runs. If your terms are net 45 or 60, or your escalation ladder fires earlier, narrower first buckets such as 1–15 and 16–30 are more useful.
How do you calculate weighted average days overdue?
Multiply each bucket's balance by a representative day count — usually the bucket midpoint, so 15, 45 and 75 — sum the results to get dollar-days, then divide by either total AR or overdue AR only. State which denominator you used: on a $2,000,000 ledger the same dollar-days give 14.5 days or 38.1 days.
Should AR be aged by invoice date or due date?
Due date, in almost every case. Aging by invoice date shifts every balance by the length of your payment terms, so on net 30 an invoice 15 days late appears in the 31–60 bucket and invoices not yet due appear as overdue. Aging by invoice date is only useful for measuring billing-to-cash cycle time.
What loss rates should I apply to each aging bucket?
Derive them from your own write-off history: take invoices that entered each bucket two or three years ago and measure what fraction was never collected. Rates rising steeply with age — a fraction of a percent on current, tens of percent on 90+ — are typical. Review the rates annually and whenever your customer mix changes.
Why does my aging report not tie to the general ledger?
The usual culprits are unapplied cash and unapplied credit memos, which sit in one report and not the other, plus foreign-currency revaluation, intercompany balances included in one view, and cut-off differences where the aging is run as-of a different date than the trial balance. Reconcile those four before assuming a system fault.
Is a high percentage of current AR always good?
Usually, but not always. A very high current percentage can also mean terms were extended to win orders, or that a large invoice was raised just before period end. Read the current percentage next to DSO and days beyond terms; a growing current bucket with a growing DSO means terms crept, not that collections improved.
Calculators for this
Paste your open invoices with days overdue to get AR aging buckets, percentage mix, weighted average days overdue and a suggested bad debt reserve.
Size your bad debt reserve from ageing-bucket loss rates, see it as a percent of AR, and compare it against a flat percent-of-sales provision.
Calculate days sales outstanding from your AR and credit sales. See days beyond terms, cash tied up in receivables, and what each day of improvement is worth.
Calculate your collection effectiveness index from beginning AR, credit sales and ending receivables. See what you collected against what was collectable.
Keep reading
DSO explained plainly: the formula, the three variants people confuse, realistic benchmarks by industry, and the seven levers that actually move it.
Collection effectiveness index (CEI) explained: the formula, a worked example at 70.4%, realistic targets, and why CEI beats DSO for judging collections.
How to run an AR aging report in NetSuite: the standard report's limits, the saved search and SuiteQL versions, and the traps that make the buckets wrong.
The cash conversion cycle explained: CCC = DIO + DSO − DPO, a full worked example at 65 days, and how to cut each leg without breaking the other two.