Accounts receivable (AR) aging


You can be "crushing it" on ARR and still miss payroll because invoices aren't getting paid. AR aging is the fastest way to see whether revenue is turning into cash—or quietly piling up into risk.

Accounts receivable (AR) aging is a report that groups unpaid invoices (receivables) by how long they've been outstanding or past due (for example: Current, 1–30 days, 31–60 days, 61–90 days, 90+ days). It tells you where your cash is stuck and how likely it is you won't collect it.

Stacked bars showing AR balance by aging bucket over time

AR aging over time makes cash conversion visible: growth in older buckets usually signals process breakdowns or customer risk before churn shows up in revenue metrics.

What AR aging reveals

Founders use AR aging to answer four practical questions:

  1. Will we have the cash we think we have? AR is not cash. Aging shows how much is actually collectible soon.
  2. Is this a billing/collections process issue or a customer health issue? Older invoices can signal friction, dissatisfaction, or internal deprioritization.
  3. Where should the team focus this week? Aging turns "collections" into a prioritized worklist.
  4. Are we taking on hidden risk as we move upmarket? Invoice-based enterprise terms can quietly extend your cash cycle.

AR aging is also a reality check on operational assumptions behind metrics like Burn rate, Runway, and Burn multiple. If you plan hiring based on revenue but collect slowly, you'll feel it as "unexpected" burn.

The Founder's perspective
If AR aging worsens, I treat it like a runway event, not an accounting event. I pause discretionary spend, tighten approval on new hires, and personally unblock the top overdue accounts. Cash timing is strategy.

How it is calculated

At its core, AR aging is simple: compute the unpaid amount per invoice, compute how old it is (usually relative to due date), then sum into buckets.

Step 1: compute outstanding per invoice

Outstanding amount is the collectible balance on the invoice after payments and credits.

What to include depends on how you operate, but be consistent:

  • Include invoice principal and any contractual charges you expect to collect.
  • Treat carefully taxes (see VAT), credits, and refunds (see Refunds).
  • Separate disputed amounts so the aging report doesn't hide "not collectible yet" inside "overdue."

Step 2: compute days past due

Most teams age by days past due (due date-based), not "days since invoice issued," because due date reflects your agreed payment terms.

days past due=report datedue date\text{days past due} = \text{report date} - \text{due date}

If an invoice isn't due yet, days past due is negative; in practice it belongs in Current.

Step 3: assign a bucket

A common bucket scheme:

BucketMeaningTypical operational meaning
CurrentNot yet due (or due today)Monitor, no action unless high-risk account
1–30Recently overdueFix delivery/PO issues, first outreach
31–60Meaningfully overdueEscalate, confirm pay date, involve sponsor
61–90CriticalPayment plan, pause expansions, exec outreach
90+SevereHigh default risk; consider service restriction

Step 4: sum balances and compute shares

AR in bucket=outstanding amount for invoices in bucket\text{AR in bucket} = \sum \text{outstanding amount for invoices in bucket}

bucket share=AR in buckettotal AR\text{bucket share} = \frac{\text{AR in bucket}}{\text{total AR}}

A founder-friendly view is usually:

  • Total AR
  • Percent Current
  • Percent 60+ (or 90+), because those buckets drive bad-debt risk and emergency escalations

Optional: weighted average delinquency (quick trend indicator)

If you want one number to track weekly, compute a weighted average days past due using invoice balances as weights.

weighted days past due=(invoice balancedays past due)invoice balance\text{weighted days past due} = \frac{\sum \left(\text{invoice balance} \cdot \text{days past due}\right)}{\sum \text{invoice balance}}

Use it as a trend, not a truth. A single large late enterprise invoice can move this number sharply.

What pushes invoices into older buckets

AR aging is mostly the output of five upstream choices. If you diagnose the wrong one, you'll "do more collections" and still not fix the system.

Payment method and friction

  • Card-on-file autopay tends to keep AR low; failures show up as retry/recovery problems (often tied to involuntary churn patterns).
  • Invoice + ACH/wire introduces human workflow: AP queues, payment runs, approvals, and vendor onboarding.

If you're moving from self-serve to sales-led, expect a structural shift: "1–30" becomes normal, but "60+" should still be rare.

Payment terms and contract structure

Longer terms increase AR and shift it older:

  • Net 15 vs Net 45 changes how much "Current" you'll carry at any time.
  • Annual prepay reduces AR if collected upfront; annual invoicing with net terms increases AR.

If you're quoting annual contracts, distinguish between:

  • Annual billed upfront (good for cash)
  • Annual contract but invoiced quarterly/monthly (more AR exposure)

This also connects to how you think about Deferred revenue versus cash reality.

Invoice quality and delivery

A surprising amount of aging is "dumb" failure:

  • invoices sent to the wrong email
  • missing PO number
  • missing vendor form
  • incorrect legal entity details
  • unclear line items after plan changes, discounts, or proration (see Discounts)

If your 1–30 bucket grows while customers claim they "never got the invoice," fix process before escalating.

Disputes and value delivery gaps

Older buckets often correlate with customer dissatisfaction:

  • implementation slipping
  • product not adopted (watch leading indicators like DAU/MAU ratio if you track them)
  • unresolved support issues

You can't "collections" your way out of a broken customer relationship. Past due becomes a bargaining chip.

The Founder's perspective
When a good customer goes past due, I assume we failed somewhere: confusion, missing value, or misaligned expectations. Collections is the symptom. The fix is usually success + finance working together on a clear plan.

Customer concentration and "whale" dynamics

A single large enterprise logo can dominate 60+ and 90+. If you have concentration risk (see Customer concentration risk), AR aging becomes a governance issue:

  • What happens to runway if this one invoice slips another month?
  • Who owns escalation?
  • What's the internal SLA for resolving blockers?

Pareto chart of overdue AR by customer showing concentration in a few accounts

A Pareto view prevents wasted effort: most overdue AR often sits in a handful of accounts that need executive attention, not more reminder emails.

How to interpret changes without overreacting

The most common founder mistake is looking at "total AR" or "90+ dollars" in isolation. Interpretation should start with context.

First, segment your AR reality

AR aging behaves very differently by go-to-market model:

SegmentTypical payment setupWhat "good" looks like
SMB self-servecard-on-file autopayVery high Current; minimal 31+; near-zero 90+
Mid-marketmix of card and invoiceSome 1–30 is normal; 31–60 should be controlled
Enterpriseinvoice, Net 30/45/60Meaningful 1–30 is normal; 60+ should be low and explainable

If your mix is shifting toward enterprise, expect more AR—but hold the line on older buckets.

Second, look for bucket shape changes

Interpret the "shape" of aging like a funnel:

  • Current down, 1–30 up: invoice delivery or new payment friction (often fixable fast)
  • 1–30 down, 31–60 up: missed follow-up, unclear ownership, or AP delays
  • 31–60 down, 61–90 up: relationship risk rising; escalation needed
  • 90+ rising: either disputes are stuck, or you are effectively extending credit without acknowledging it

Third, distinguish timing from collectability

Not all "late" invoices are equal.

A founder-friendly classification:

  • Late but collectible: known AP cadence, confirmed pay date, responsive contact
  • Late and blocked: missing PO, vendor onboarding, contract mismatch
  • Late and at risk: unresponsive, dispute language, product dissatisfaction, budget freeze

Operationally, you want your team spending time on "blocked" and "at risk," not repeatedly emailing "collectible" invoices that will be paid in the next AP run anyway.

Fourth, connect it to cash planning

If you're using AR aging to forecast cash, treat older buckets as increasingly uncertain. A simple heuristic is to apply a "collection probability" by bucket (your actual rates will vary):

BucketConservative collection expectation (example)
Currenthigh
1–30high but slower
31–60moderate
61–90low to moderate
90+low

This matters directly for runway math: even if revenue is booked, delayed cash increases reliance on outside capital and hurts capital efficiency metrics like CAC payback period.

The Founder's perspective
I don't forecast cash using booked revenue. I forecast cash using collections behavior by aging bucket. If 60+ grows, my "safe" runway shrinks even if ARR is growing.

How founders use AR aging to make decisions

AR aging becomes valuable when it drives consistent actions—not when it becomes a monthly spreadsheet that everyone ignores.

Build a weekly operating rhythm

A practical cadence for most SaaS teams:

  • Weekly (operator view): top overdue invoices, who owns next action, blockers, promised pay dates
  • Monthly (leadership view): bucket shares over time, concentration, dispute totals, policy changes needed

Keep the review short, but force clarity: every meaningful past due amount should have an owner and next step.

Create an escalation policy by bucket

A simple policy founders can implement quickly:

BucketDefault actionOwner
1–30confirm receipt, resolve admin issuesfinance or revops
31–60escalate to account owner, confirm pay date in writingsales or success + finance
61–90exec sponsor outreach, payment plan, pause non-essential workleadership
90+service restriction decision, legal/collections evaluationleadership + finance

The goal is not to be aggressive; it's to be predictable. Predictable policies reduce exceptions, and exceptions are what create 90+.

Use aging to tighten go-to-market and pricing decisions

AR aging should influence upstream decisions:

  • When to require upfront payment: If a segment consistently drifts into 60+, you're extending credit. Consider upfront billing, shorter terms, or requiring ACH authorization.
  • When to change packaging: Complex invoices (many add-ons, unclear proration) create disputes. Cleaner packaging often reduces aging friction.
  • When to stop discounting for "close speed": Discounts can increase deal volume but worsen payment behavior if you attract low-intent buyers (see Discounts).

Aging can also help interpret revenue metrics. For example, if MRR is growing but AR aging worsens, your "growth" may be funding customers' payment delays.

Tie AR aging to churn risk (carefully)

Overdue invoices can precede churn, but don't assume every late payer will churn. Use aging as a triage signal:

  • late + low usage + unresolved tickets = high churn risk
  • late + high usage + clear AP cadence = low churn risk, mostly timing

If you already track churn outcomes, connect overdue patterns to churn analysis (see Churn reason analysis) to learn whether delinquency is primarily operational or relationship-driven.

Process flow showing invoice to collections actions mapped to aging buckets

A simple escalation workflow prevents AR aging from becoming noise: each bucket maps to a specific action, owner, and decision threshold.

Common pitfalls that make AR aging misleading

Aging reports are only as good as the definitions underneath them. These are the traps that create false confidence or false panic:

  • Aging by invoice date instead of due date: You'll overstate delinquency for long-term invoices with proper terms.
  • Not netting credits/refunds: Gross aging can look worse than collectible reality (see Refunds).
  • Mixing disputed AR with collectible AR: Disputes need a resolution workflow, not a reminder cadence.
  • Ignoring partial payments: You care about remaining balance, not original invoice size.
  • Letting one whale dominate the story: Always view concentration (top overdue accounts) alongside bucket totals.

Practical benchmarks and targets

There isn't a single universal "good" AR aging profile, but there are useful targets that keep founders out of trouble:

  • Keep 60+ explainable: You should be able to name the top invoices in 60+ and the exact blocker for each.
  • Keep 90+ rare: If 90+ becomes a meaningful share of AR, you have either a policy problem (terms too loose) or a customer problem (value/disputes).
  • Watch trend, not one week: A one-off late payment happens. A three-month drift in bucket shape is a structural change.

If you want one north-star target, make it: minimize "surprises." AR aging is doing its job when overdue items are visible early enough to prevent last-minute runway decisions.

Closing: what to do next

If your AR aging has started to deteriorate, don't jump straight to harsher emails. Do this sequence instead:

  1. Confirm definitions (due-date aging, net of credits, disputes separated).
  2. Run a Pareto (top overdue accounts drive most risk).
  3. Fix "dumb" failures (invoice delivery, PO fields, legal entity accuracy).
  4. Add escalation by bucket with clear owners.
  5. Update cash forecasting assumptions so runway reflects collection reality.

AR aging isn't glamorous, but it's one of the most founder-relevant finance metrics you can review weekly—because it tells you whether growth is actually turning into cash.

Frequently asked questions

For card-first SMB SaaS, you typically want the vast majority of receivables in Current, with very little in 31 to 60 and almost nothing in 90 plus. For invoice-based enterprise SaaS, more will sit in 1 to 30, but 60 plus should still be tightly managed.

ARR reflects contracted recurring revenue, not cash collected. AR aging captures the cash conversion reality of invoiced revenue, including procurement delays, disputes, failed payments, and customers quietly deprioritizing you. If older buckets grow, your runway and hiring plan should be based on cash, not ARR.

Treat 31 to 60 as an early warning. Confirm invoice delivery, resolve PO or vendor onboarding issues, and push for a clear payment date. Segment by customer size and plan. If the rise is concentrated in a few accounts, escalate owner outreach before it becomes 90 plus.

Sometimes, but use a policy that matches segment and leverage. For SMB self-serve, automatic downgrades or pauses after a defined grace period can work. For enterprise, coordinate with the executive sponsor and success team. The goal is to collect without creating avoidable churn.

They can inflate or distort AR if you age gross invoice amounts instead of true outstanding balances. Credits and refunds reduce the collectible amount; disputes may be uncollectible until resolved. Operationally, track disputed AR separately so collections focuses on collectible invoices, and leadership sees real risk.

Measure what matters. Scale what works.