RPT 207 · Practitioner · Finance track · 10 min read

Accounts Receivable Aging

The report that sorts what customers owe by how long it has been outstanding, exposing collection problems and the cash tied up in unpaid work and retainage.

Definition — what it is

An accounts receivable aging report lists every unpaid customer invoice sorted into buckets by how long it has been outstanding - typically current, 1-30, 31-60, 61-90, and over 90 days past due - so a contractor can see where its collections are healthy and where they are stalling. It measures the cash a contractor is owed and not yet paid, which in construction is unusually large and slow because of monthly billing, net payment terms, and retainage held until closeout. It is not a measure of whether revenue was earned - that is the income statement and WIP - but of whether earned, billed revenue has actually been collected. A rigorous construction aging separates retainage receivable from ordinary progress billings, because retainage is contractually withheld and its aging means something entirely different from an overdue progress invoice.

Also known as: AR Aging, Receivables Aging, Aged Receivables, Debtor Aging

Why it matters — what it protects

Accounts receivable is where a contractor's profit sits before it becomes cash, and aging is how the company sees whether that conversion is happening. Every dollar in receivables is a dollar the company earned, financed, and has not been paid for, so a receivable balance that ages is margin turning into a financing burden. The aging report is the earliest, clearest view of whether the business is collecting the money it has already earned or quietly lending it to its customers.

Aging is a leading indicator of both cash trouble and customer trouble. A receivable slipping from current into 60 and 90 days past due is a warning weeks before it shows up in the cash forecast, and a specific owner whose invoices consistently age is either a slow payer to be planned around or a credit risk to be managed. Reading the aging by customer, not just in aggregate, is how a contractor distinguishes a systemic billing problem from a single bad payer.

Retainage makes construction aging uniquely deceptive, and separating it is the difference between a useful report and a misleading one. Retainage is contractually withheld - often 5 to 10 percent of every billing - and sits in receivables for months after work is done, sometimes not releasing until well after closeout. Lumped in with progress billings it makes the aging look alarming when the retainage is simply not due yet; broken out, it reveals both the real overdue exposure and the large, slow retainage asset that ties up cash.

The aging drives the collection effort, and collection effort is often the fastest way a contractor improves its own cash position. Every dollar collected sooner is a dollar not borrowed on the line of credit, and a disciplined aging-driven collection process - knowing exactly which invoices are overdue, by how much, and why - routinely does more for liquidity than any financing arrangement. The report exists to make that effort targeted rather than reactive.

Lifecycle — how it moves

  1. Invoice generation

    A pay application or progress billing is issued and posts to receivables at its net amount after retainage. The billing's accuracy and completeness set the clock: a billing an owner can dispute will not be paid, and the dispute clock starts here.

  2. Aging classification

    Each open invoice is placed in an aging bucket by its due date, with retainage tracked separately. Aging by due date rather than invoice date is essential, because an invoice on net-45 terms is not overdue at 40 days regardless of how old it looks.

  3. Monitoring and review

    The aging is reviewed on a cadence, by customer and by project, to spot invoices slipping into later buckets. A review that only looks at the over-90 column misses the invoices sliding from current into 30 and 60 where intervention is easiest.

  4. Collection action

    Overdue invoices trigger a graduated collection sequence - reminder, call, escalation, and, where warranted, lien or notice rights. The sequence must respect the reason an invoice is unpaid, because chasing a disputed invoice like a forgotten one damages the relationship.

  5. Dispute resolution

    Invoices held up by a dispute, a pending change order, or missing documentation are worked to resolution. Distinguishing a disputed invoice from a slow-paid one is what keeps collection effort aimed at the right problem.

  6. Retainage tracking

    Retainage receivable is tracked toward its contractual release - substantial completion, closeout, or a defined period after - separate from the progress-billing aging. Retainage that is due for release but not requested is a common, avoidable cash leak.

  7. Cash application

    Payments received are applied to the correct invoices and the aging updates. Misapplied cash makes the aging wrong and can trigger collection calls on invoices already paid, which erodes credibility with the customer.

  8. Reserve and write-off

    Uncollectible balances are reserved and, if truly unrecoverable, written off with the appropriate approvals. A receivable carried at full value long after it is realistically dead overstates assets and delays the hard conversation.

Anatomy — the data it carries

Customer / owner
Who owes the money. The dimension that turns a total into a diagnosis, separating a bad payer from a billing problem.
Project / job
The job the receivable relates to. Links slow payment to a specific project and its issues.
Invoice / pay application number
The specific billing outstanding. The unit collection acts on and cash is applied to.
Invoice date and due date
When billed and when payment is due under the terms. Aging must run off the due date, not the invoice date.
Original and open amount
The billed amount and what remains unpaid after partial payments. The open amount is what is actually being collected.
Aging bucket
Current, 1-30, 31-60, 61-90, over 90 days past due. The core sort that shows where collections are stalling.
Retainage receivable
Amounts contractually withheld, tracked separately with expected release timing. The large, slow asset that must not be lumped with progress billings.
Dispute / hold flag
Whether the invoice is contested or awaiting documentation. Distinguishes a collection problem from a resolution problem.
Last contact / promise-to-pay
The most recent collection touch and any commitment made. Keeps the collection sequence orderly and accountable.
Payment terms
Net-30, net-45, pay-when-paid to a sub. Defines when an invoice is actually overdue versus merely outstanding.
Lien / notice deadline
The date by which lien or bond-claim rights must be preserved. A missed deadline forfeits the strongest collection leverage there is.
Collection status
Where the invoice sits in the collection sequence. Turns the aging from a snapshot into a managed process.

Failure modes — how it breaks

Retainage lumped with progress billings

Retainage sits in the over-90 bucket next to genuinely overdue invoices, making the aging look far worse than it is because the retainage is not actually due. The real overdue exposure is obscured, and collection effort gets wasted chasing money that is contractually withheld and not yet payable.

Aging off invoice date, not due date

An invoice on net-45 terms shows as 40 days old and triggers a collection call when it is not overdue at all. Aging off the wrong date manufactures phantom delinquencies, annoys good customers, and buries the invoices that are genuinely late.

Disputes treated as slow payment

An invoice held up by a pending change order or a documentation gap is chased as if the owner simply forgot to pay. The collection call goes nowhere, the relationship frays, and the actual blocker - a dispute needing resolution - is never worked.

Missed lien and notice deadlines

An aging invoice drifts past the statutory deadline to file a lien or bond claim, and the contractor forfeits its strongest collection leverage. The receivable is still owed, but the tool that would have compelled payment is gone forever.

Misapplied cash corrupting the aging

A payment is applied to the wrong invoice, so a paid invoice still shows open and gets a collection call while the truly open one shows current. The aging loses credibility with both the customer and the collectors who rely on it.

Dead receivables carried at full value

A balance everyone knows is uncollectible sits at full value for months because nobody wants to reserve or write it off. Assets are overstated, the aging is misleading, and the hard conversation with the customer or the auditor is only deferred.

Metrics — how it is measured

Days sales outstanding (DSO)

Average days to collect a receivable. The headline collection-efficiency metric, best computed excluding retainage to isolate progress-billing performance.

Percent past due

Share of receivables past their due date. The clean read on collection health that separates overdue from merely outstanding.

Aging bucket distribution

How receivables spread across the buckets and how that distribution shifts. Movement toward the later buckets is the early warning.

Over-90 balance

Receivables more than 90 days past due, net of retainage. The high-risk exposure most likely to require reserve or legal action.

Retainage receivable and aging

Total retainage outstanding and how long it has been held. Often a contractor's largest, slowest asset, tracked apart from billings.

Collection effectiveness index

Amount collected against amount available to collect in a period. Measures the collection process, not just the balance.

Customer concentration in AR

Share of receivables owed by the largest one to three customers. The credit-risk concentration the total hides.

The AI shift — what actually changes

Conversational

The aging stops being a grid you sort and becomes something you interrogate. You ask which overdue invoices are genuinely late versus retainage not yet due, which customer is driving the over-90 balance, which invoices are approaching a lien deadline, and which are held by disputes rather than slow payment - with the invoices and terms cited so collection effort is aimed correctly.

Generative

The collection communications the aging should trigger are drafted from the record: a reminder, an escalation, or a demand letter for each overdue invoice, sequenced to the reason it is unpaid and referencing the specific invoice, amount, and terms - and a lien or bond-claim notice draft when a deadline approaches, for review rather than composition from scratch.

Orchestrated

The aging stops living apart from cash and legal deadlines. Overdue invoices are matched to their lien and notice deadlines so leverage is never lost, disputes are linked to the change orders or documentation that would resolve them, collection status flows into the cash forecast's collection lags, and retainage is tracked to its contractual release so due retainage is requested rather than forgotten.

Autonomous

The routine motion runs continuously: cash applied to the right invoices and the aging kept current, overdue invoices moved through a graduated collection sequence with drafted communications, lien and notice deadlines watched and surfaced before they lapse, retainage releases prompted when due, and disputes flagged for resolution rather than chased as slow payment - while humans decide when to escalate legally, when to reserve or write off, and how to handle a key customer relationship.

Prompts — put it to work

Tool-agnostic and copy-ready. Adapt the specifics — thresholds, contract windows, cost codes — to your own project before you run them.

Conversational — Weekly collections review to decide where to spend the effort.

Analyze our AR aging for this week's collections review. First separate retainage receivable from progress billings and tell me the aging of each on its own, because I do not want retainage inflating the overdue picture. On progress billings, show the bucket distribution, the total genuinely past due by due date, and which one to three customers drive the over-90 balance. Flag any invoice held by a dispute or pending change order separately from ones that are simply unpaid, and flag any invoice approaching a lien or bond-claim deadline in the next 30 days. Rank the collection effort by a combination of dollar exposure and deadline urgency.

What good output looks like: A collections priority list with retainage separated, disputes and deadlines flagged, and customer concentration surfaced - not a raw aging grid.

Follow-ups:

  • For our worst-paying customer, is this a chronic pattern or a new problem, and are they in our backlog too?
  • Which disputed invoices are waiting on a change order we could push to resolution?
  • How much retainage is contractually due for release that we have not requested?

Generative — You need to send collection communications on a batch of overdue invoices.

Draft the collection communications for our overdue progress-billing invoices. For each invoice, choose the right step in the sequence based on how far past due it is and why: a courteous reminder for something recently past due, a firmer escalation for 60-plus days, and a formal demand referencing our rights for over 90 days with no dispute on file. Reference the specific invoice number, amount, project, and payment terms in each, and keep the tone professional and relationship-appropriate. For the two invoices approaching their lien deadline, also draft the preliminary notice or bond-claim language we need to preserve our rights. Do not send anything to invoices flagged as disputed.

What good output looks like: A set of collection communications sequenced to the reason and age of each invoice, with lien-deadline notices drafted and disputed invoices excluded.

Follow-ups:

  • Redraft the demand letter for the largest over-90 invoice to be sent by counsel.
  • Write a softer version of the escalation for our largest customer given the relationship.
  • Draft the internal note recommending which one invoice we should reserve as doubtful.

Orchestrated — You want the aging wired to deadlines, disputes, and the cash forecast.

Wire our AR aging into the rest of the business. For every overdue invoice, match it to its lien and bond-claim deadline and flag any within 30 days of lapsing. Link every disputed or held invoice to the change order or documentation gap that is blocking it, so the resolution owner is clear. Feed each customer's actual payment behavior from the aging into the cash forecast's collection lags so the forecast reflects reality rather than contract terms. Track retainage receivable to its contractual release date and flag any that is due but unrequested. Report the true overdue exposure net of retainage and disputes, and cite the records for each linkage.

What good output looks like: An aging linked to lien deadlines, dispute resolution owners, and the cash forecast, with due retainage surfaced and true exposure reported net of retainage and disputes, records cited.

Follow-ups:

  • Which invoices will lapse a lien deadline first, and what is the exposure on each?
  • Update the cash forecast's collection lags from this aging and show the effect on our low point.
  • List the retainage releases we should request this month and draft the requests.

Autonomous — Standing policy for running the collections process continuously.

Run our AR collections process continuously under these rules. Apply incoming cash to the correct invoices and keep the aging current by due date, with retainage tracked separately. Move overdue progress-billing invoices through the graduated sequence - reminder, escalation, demand - with drafted communications appropriate to age and relationship, but never send to any invoice flagged as disputed. Watch every invoice's lien and bond-claim deadline and surface any within a defined buffer before it lapses. Prompt retainage release requests when contractually due. Flag disputed and held invoices for resolution rather than chasing them. Never file a lien or send anything to legal, never reserve or write off a balance, and never escalate with a key customer without my approval, and route every deadline warning to me.

What good output looks like: A continuously current aging with a managed collection sequence, deadline warnings, and retainage prompts, where legal action, write-offs, and key-customer escalation stay with a person.

Follow-ups:

  • Show me every deadline approaching, every disputed invoice, and everything you queued to send.
  • Which balances are you recommending we reserve, and on what evidence?
  • Draft the retainage release requests that came due this week for my approval.

Get the full Construction AI Prompt Catalog — every prompt in the library in one document.

Maturity — locate yourself honestly

  1. Level 0 - Balance only

    The company knows its total receivable but not its age or composition. Collections are reactive, retainage is undifferentiated, and lien deadlines are missed.

  2. Level 1 - Bucketed

    An aging report sorts invoices into buckets, but often off invoice date, with retainage lumped in and no link to disputes or deadlines. It shows a total, not a plan.

  3. Level 2 - Separated and sequenced

    Aging runs off due dates, retainage is tracked separately, disputes are distinguished from slow payment, lien deadlines are tracked, and a graduated collection sequence is followed.

  4. Level 3 - Assisted

    Cash is applied accurately, collection communications are drafted to age and reason, deadlines and due retainage are flagged, and payment behavior feeds the cash forecast for review.

  5. Level 4 - Operated

    The collection process runs continuously inside guardrails - cash application, sequencing, deadline watching, and retainage prompting - while humans own legal action, reserves, write-offs, and key relationships.

Common questions

Why must retainage be separated from the rest of the aging?

Because retainage is contractually withheld and not yet due, so aging it alongside overdue progress billings makes the report lie in both directions. Lumped in, retainage sits in the old buckets and makes the overdue picture look alarming when that money is simply being held per the contract until closeout, which hides the real overdue exposure. Separated, the report shows the genuine overdue progress billings that need collection and, on its own, the large and slow retainage asset that ties up cash and needs its own tracking toward release. Any construction aging that does not split the two is close to useless for managing collections.

Should aging run off the invoice date or the due date?

The due date, always. An invoice is not overdue until its payment terms have passed, so aging off the invoice date treats a net-45 invoice as late at day 40 and generates phantom delinquencies that waste collection effort and irritate good customers. Running the aging off the due date, derived from each invoice's actual payment terms, is what makes the past-due buckets mean something - they then show invoices that are genuinely late rather than merely outstanding, which is the whole point of the report.

How does the AR aging connect to lien rights?

Lien and bond-claim rights are the contractor's strongest tool for compelling payment, and they are governed by strict statutory deadlines that run from dates like last furnishing of labor or materials. An invoice that ages past those deadlines loses that leverage permanently, no matter how clearly the money is owed. A rigorous aging therefore carries each overdue invoice's lien and notice deadline so the collection process preserves those rights before they lapse. Missing a lien deadline on a large, slow-paying receivable is one of the most expensive avoidable mistakes in construction collections, which is why the deadline belongs on the aging, not in a separate legal file.

Read this article as markdown · Browse all 110 objects