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
Every 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 outstanding: today's date minus the invoice date. Group by customer and sort into the five buckets based on thresholds (0 = Current, 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.
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:
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.
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.
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.