- Blog
- Accounts Receivable Management
- Accounts Receivable Aging Report: How to Read and Use It
Accounts Receivable Aging Report: How to Read and Use It
Partner, SDO CPA LLC / CEO, Growthy

You sent 20 invoices last month. Revenue looks solid on paper. But cash is thin, and you're not sure why. The answer is probably sitting in your receivables. The tool that shows you exactly where the money is stuck is the accounts receivable aging report.
This guide covers what the report contains, how to read each bucket, how to build one, and what to do with it. Whether you run a services business or manage books for clients, the AR aging report is the one snapshot that answers: "Who owes me money, and how long have they had it?"
It's part of a broader accounts receivable management workflow. But on its own, it's the fastest way to go from "I think we have a collections problem" to "here are the specific invoices and what each one needs."
What is an accounts receivable aging report?
An accounts receivable aging report lists every open invoice you're owed, grouped by how long it's been outstanding. Standard buckets: Current (not yet due), 1-30 days past due, 31-60 days, 61-90 days, and 90+ days. The dollar total in each bucket shows how much of your AR is healthy, at risk, or close to lost. A business with $80,000 in open AR wants most of that sitting in Current, not in the 90+ column.
Key Takeaways
- An AR aging report sorts every open invoice into five time buckets: Current, 1-30, 31-60, 61-90, and 90+ days past due.
- The 90+ bucket is your bad-debt signal: when it exceeds 15-20% of total AR, you need to set a reserve and escalate.
- Collection probability drops fast past 60 days: that's when a polite email stops working and a phone call is required.
- The report is only as accurate as the ledger underneath it: unapplied payments and duplicate invoices create phantom balances across every bucket.
- Run it weekly, not monthly: cash flow surprises build in the 31-60 column over weeks before they become a crisis.
- Software or spreadsheet, the math is simple: days outstanding equals today's date minus invoice date; sort by threshold, sum by bucket.
What Is an AR Aging Report?
An AR aging report is a real-time snapshot of every open invoice in your books, sorted by age. It's not a P&L. It's not a balance sheet. It answers one question: which customers owe you money, and how overdue are they?
You can pull it in 60 seconds from most accounting software. It updates every time you record a payment or issue an invoice. Most business owners and bookkeepers treat it as their AR dashboard, the first view they pull before chasing receivables, approving new orders on credit, or estimating next week's cash flow.
Why Every Business With Net Terms Needs One
If you extend credit (Net 30, Net 60, or any custom terms), you have accounts receivable. And if you have AR, you need to track it by age. Without the aging report, you're working from a single total. That number tells you what's owed but nothing about whether any of it is actually collectible. It could include $12,000 that's been unpaid for three months and has a 30% chance of never coming in.
Where It Lives in Your Books
The aging report pulls from your AR subledger, not the general ledger. The GL shows a single "Accounts Receivable" line: one number. The AR aging breaks it down invoice by invoice: customer name, invoice date, invoice amount, and days outstanding. Every open balance appears. Every customer is listed. That's the difference between knowing your accounts receivable turnover ratio (how fast you collect on average) and knowing which specific invoices are slowing it down.
The Aging Buckets: What Each One Signals
Categorizes the routine. Flags what needs you.
See Growthy on a sample book. Read-only bank access.
Get startedEvery AR aging report uses the same five buckets. Here's what each one means.
Current (Not Yet Due)
These invoices are out but not overdue yet. Payment isn't late. The due date hasn't arrived. This is healthy. If a customer is on Net 30 terms, an invoice issued today sits in Current for 30 days. No action needed. This bucket should hold the largest share of your AR.
1-30 Days Past Due
The due date passed but the invoice is recent. Most cases in this bucket are administrative: wrong billing contact, invoice went to spam, their AP team is running behind. Collection probability is still high. A polite reminder (email or a short phone call) resolves most of these.
31-60 Days Past Due
This bucket needs direct attention. The customer has seen the invoice and hasn't paid. That's a choice, not an oversight. Common reasons: cash flow issue on their end, a dispute they haven't surfaced, or an internal approval that stalled. Don't send another email. Call them. Get a response on the specific invoice.
61-90 Days Past Due
Serious. Past 60 days, collection probability drops meaningfully. This is where bad debt starts to form. An invoice here needs escalation, not just a follow-up from the AR person. Involve a principal or account manager. If the amount is significant, consider a payment plan conversation to recover something rather than waiting for all of it.
For a full process on what to do here, see the guide on accounts receivable collections.
90+ Days Past Due
High risk. The longer an invoice sits in this bucket, the less likely you are to collect it in full. A growing 90+ balance is the one number to watch most closely on your aging report. It's also the primary input for setting a bad-debt reserve. Don't let it build without action. See bad debt write-off for how to handle these when collection fails.
How to Pull and Build the Report
Three ways to get your AR aging report.
From Accounting Software
In QuickBooks Online, go to Reports and search "Accounts Receivable Aging Detail." In Xero, it's Reports > Aged Receivables. Set the aging date (today or last day of the month), pick bucket intervals (standard is 30 days), and run. The software calculates days outstanding for every open invoice automatically. This is the fastest path.
From a Manual Export
Export your AR subledger as a CSV. Add a column for days past due: today's date minus the invoice due date, not the invoice date. Group by customer and sort into the five buckets on that number (not yet due = Current, then 1-30, 31-60, 61-90, 91+). Sum each bucket. This is exactly what the software does. The math is straightforward.
Why Data Quality Is the Real Variable
The report is only useful if the data underneath it is accurate. Unapplied payments (cash received but not matched to an open invoice) create phantom balances. Duplicate invoices inflate totals. Miscategorized transactions put things in the wrong bucket. Garbage in, garbage aging. A clean, reconciled, categorized AR ledger is the prerequisite. Growthy keeps that ledger accurate: it categorizes transactions with 85% accuracy on first import, and you review the rest. When every payment is matched, the aging report reflects what's actually owed.
That prerequisite has its own workflow. Matching deposits to open invoices, including lump-sum payments and deposits that arrive net of processor fees, is covered in the payment reconciliation guide.
A Worked Example: Reading a Real Aging Report
Let's say your business has $80,000 in total AR. Here's what the aging breakdown might look like:
Bucket | Amount | % of Total |
|---|---|---|
Current | $68,000 | 85% |
1-30 days | $4,200 | 5.3% |
31-60 days | $3,100 | 3.9% |
61-90 days | $2,700 | 3.4% |
90+ days | $12,000 | 15% |
The Bucket Breakdown
The Current bucket is healthy at 85%. Most of what you're owed isn't late yet.
The 1-30 and 31-60 buckets are small. A few follow-up calls this week should resolve most of it.
The 90+ bucket is the problem. $12,000 is 15% of total AR. That's meaningful. If you haven't actively worked those invoices, some of this may already be uncollectible.
What the Numbers Tell You
This report drives three immediate decisions. First, who gets a call this week (anything in 31-60 that hasn't had recent contact). Second, which accounts need escalation (the 61-90 group and the largest line items in 90+). Third, whether to set a bad-debt reserve against the 90+ balance. At 15% of total AR, the answer is probably yes.
You'd also want to look at the 90+ bucket by customer, not just in aggregate. Is it one customer with a $12,000 balance, or six customers with $2,000 each? One customer is a relationship problem. Six customers is a systemic collections problem.
The Decisions an Aging Report Drives
The report is useful only if you act on it. Here are the three decisions it should drive.
Follow-Up Cadence by Bucket
Match intensity to age:
- Current: No action. Monitor.
- 1-30 days: Send a reminder. Email is fine. Keep it short.
- 31-60 days: Call. Get a commitment on a payment date.
- 61-90 days: Escalate. A principal or account manager makes contact. Explore a payment plan if needed.
- 90+ days: Escalate further. Consider a formal demand letter or a collections referral for large balances.
One action per bucket. Don't mix intensity levels. A polite reminder email to a 90+ invoice is a waste of time.
Escalation Triggers
Not every 60+ day invoice needs the same response. Some specific triggers worth setting:
- Any single invoice over $1,000 past 60 days gets a call from a principal, not just an AR contact.
- A customer with two or more invoices in the 31-60 bucket is a pattern. Address it before they go further.
- A 90+ balance growing month over month (not shrinking) signals that collection isn't working. Change the approach.
Set these triggers in writing. Don't leave them to judgment.
Setting a Bad-Debt Reserve
Your 90+ balance is the starting point for estimating bad debt. A common approach: reserve 25-50% of the 90+ total as doubtful accounts. On a $12,000 balance, that's $3,000 to $6,000.
The exact percentage depends on your industry and customer mix. Service businesses often see higher default rates in 90+ than product businesses. Adjust the percentage based on historical collection rates if you have the data.
For the accounting treatment when a receivable goes bad, see the guide on bad debt write-off.
Three Errors That Fake a Past-Due Balance
Before you chase an invoice, check that the balance is real. Three bookkeeping mistakes put money in the wrong bucket and send you after customers who already paid.
One rule underneath all three: the buckets count days past the due date, not days since the invoice date. A Net 30 invoice issued October 1 comes due October 31. On November 15 it sits in the 1-30 bucket at 15 days late, not in the 31-60 bucket.
Short-Pays Coded as Bad Debt
A customer sends $940 against a $1,000 invoice. They took $60 off as a return or an adjustment. With no credit memo on file, the bookkeeper codes the $60 to Bad Debt Expense and marks the invoice paid.
That $60 usually is not bad debt. It is a pricing dispute settled with a discount, a deduction the customer took without asking, or a real return that belongs in Sales Returns and Allowances. Coding it as bad debt overstates bad debt expense and understates the contra-revenue account. At tax time the deduction may not hold under IRC §166, because the debt was collected, just not in full.
The fix: don't code a short-pay as bad debt without documentation. An unearned discount is a collections problem, not a write-off. An approved discount belongs in a Sales Discount account.
Payments Misapplied Across Several Invoices
A customer owes invoices #1021, #1022, and #1023. They send one check for the combined amount with no remittance advice saying which invoices it covers. The bookkeeper applies the whole thing to #1021. The other two stay open on the aging.
A month later the customer calls about #1022 being past due. They believe it is paid. The check cleared their bank. Nobody is lying. The money arrived, it just landed on the wrong invoice.
Missing remittance advice is the most common reason an aging report shows past due on invoices a customer thinks are settled. The fix is procedural. When a lump-sum payment arrives with no remittance, call before you post. Get the invoice breakdown, apply it, and note the call in the customer record.
Aging Balances Accrued a Second Time at Year-End
At year-end some bookkeepers see open invoices on the aging and also book accrued revenue for the same work. That counts the revenue twice.
The line is clean. An open invoice on the aging is already billed and already recognized as revenue under accrual, sitting in AR as an unpaid balance. Accrued revenue is work performed but not yet invoiced, with no invoice in the system.
If it is on the aging, it is already revenue. Don't accrue it again. This shows up most when a client invoices late: work done in December, invoice sent January 3. If the December invoice exists and sits open on the aging, the revenue is already on the books.
Frequently Asked Questions
How often should I run an AR aging report?
Weekly is standard for businesses with meaningful receivables. Monthly is the bare minimum. The reason to run it weekly: the 31-60 bucket builds over two to four weeks before it becomes a problem. By the time you catch it on a monthly report, you've already lost time. Set a standing calendar block on Mondays to run the report and work the list.
What's a healthy accounts receivable aging mix?
There's no universal benchmark, but a practical rule: 80% or more in Current is healthy. When the 60+ days column (combining 61-90 and 90+) exceeds 20% of total AR, something's wrong. It could be your collections process, your customer creditworthiness screening, or your data quality. Diagnose the cause before assuming it's just a slow payer problem.
What causes inaccurate aging reports?
Four main causes: unapplied payments (cash received but not matched to an invoice), duplicate invoices, incorrect invoice dates, and miscategorized transactions. Any of these creates a gap between what the report shows and what's actually owed. If your aging report ever seems off, with customers disputing balances you think are open or totals that don't reconcile, start with the AR subledger and work backward.
Can I run this report in QuickBooks or Xero?
Yes. Both have it built in. In QuickBooks Online, search "Accounts Receivable Aging Detail" in the Reports section. In Xero, it's Reports > Aged Receivables. Run the Detail version for collections work: you need invoice-level data, not just customer totals. The Summary version is useful for a quick health check; the Detail version is what you need when you're working the list.
When can I write off an AR balance as bad debt under IRC §166?
Section 166 requires the debt to be actually worthless, not just slow. To support the deduction, document what you tried: emails, calls, demand letters, and any response from the customer. If they filed bankruptcy, keep that paperwork. A large 90+ balance on its own doesn't satisfy §166. You need evidence that collection is genuinely not possible. Send the client to their CPA before they take the deduction.
What's the difference between an aging report and AR subledger reconciliation?
They answer different questions. The aging report groups open invoices by how overdue they are. Subledger reconciliation compares the total of every open customer balance to the AR control account on the general ledger. Aging tells you how late the money is. Reconciliation tells you whether the books agree on the total. Run both every month. If the two totals don't match, a journal entry was posted straight to the AR account without a customer record. Find it and re-enter it as a customer transaction.
Conclusion
The AR aging report is simple in structure and high-leverage in practice. It takes a single balance sheet number and breaks it into actionable line items. Current means nothing to do. 90+ means act now.
The catch: the report is only as good as the data behind it. Every open invoice needs to be real. Every payment needs to be matched. If your AR ledger has unapplied cash or duplicate entries, the aging report amplifies those problems rather than solving them.
Growthy is bookkeeping software, not a CPA firm. This content is educational, not professional advice.
Get started with Growthy and keep your AR ledger clean so the aging report tells you what's actually owed.
See It Work on Your Data
See Growthy on a sample book. Read-only bank access.
Bobby Huang • Partner, SDO CPA LLC / CEO, Growthy
Partner at SDO CPA. 18 years of hands-on bookkeeping. Bobby still reconciles real client books and builds Growthy from that operating work.
View author profileGrowthy content is written and reviewed by people who keep real books. Worked examples come from real bookkeeping scenarios, and product claims are checked against what the product does today. Our editorial guidelines cover how we source, verify, and update every article.
Keep reading

Accounts Receivable Outsourcing: What It Costs and When It's Worth It
What accounts receivable outsourcing costs: real bookkeeper rates, software prices, and the math for doing it yourself. Plus when to skip it entirely.

Accounts Receivable Turnover Ratio: Formula, Benchmarks, and DSO
If your average customer takes 60 days to pay, you're lending them money for free. You might not notice until payroll gets tight. Late collections don't announce themselves. They creep in one overdue invoice at a time.

Payment Reminders for Unpaid Invoices: Templates and a Cadence That Works
You sent the invoice three weeks ago. The client loved the work. Now your inbox is quiet and your bank account isn't moving.