Construction AR Aging Reports: A Complete Guide
If you have ever finished a job, sent the invoice, and then waited… and waited… you already know the pain of slow-paying customers. In construction, that pain hits harder than most industries because your overhead does not stop just because a client drags their feet. Materials suppliers want their money. Your crew expects paychecks on Friday. And your next project needs funding whether the last one has paid out or not.
That is where accounts receivable aging reports come in. They are not glamorous. Nobody got into contracting because they love spreadsheets. But an aging report is one of the most useful tools you can have in your back office, and ignoring it is one of the fastest ways to run a profitable company straight into a cash crisis.
This guide breaks down everything contractors need to know about AR aging reports: what the aging buckets mean, how to use the data to collect faster, and how to connect your aging numbers to the bigger picture of cash flow health.
What Is an Accounts Receivable Aging Report?
An accounts receivable aging report is a simple document that lists every unpaid invoice your company is owed, grouped by how long each invoice has been outstanding. Think of it as a snapshot of who owes you money and how late they are.
Most aging reports organize invoices into time-based columns called “buckets”:
- Current (0 to 30 days): Invoices that are still within normal payment terms. Nothing to worry about yet.
- 31 to 60 days: Starting to get stale. These need attention before they become a real problem.
- 61 to 90 days: Red flag territory. The longer an invoice sits here, the harder it gets to collect.
- 91 to 120 days: Serious concern. You are now looking at potential bad debt.
- 120+ days: Critical. Collection rates drop dramatically past this point.
A typical report will show you the customer name, invoice number, invoice date, amount due, and which aging bucket it falls into. Most will also show a total for each bucket so you can see at a glance how much of your receivables are current versus overdue.
Here is why this matters for construction specifically: your invoices tend to be large. A single unpaid invoice for $47,000 sitting at 90 days is not the same as a $200 phone bill going late. When construction invoices age, the dollar impact on your business is massive.
Understanding the 30/60/90/120 Day Aging Buckets
Each aging bucket tells you something different about the state of that receivable, and each one calls for a different response.
Current (0 to 30 Days)
This is healthy territory. The invoice has been sent and is within the payment window you agreed on. If you set net-30 payment terms, these invoices are not late yet. Your job here is simply to make sure the invoice was received and there are no disputes brewing. A quick confirmation email or call a few days after sending can prevent surprises later.
31 to 60 Days
Now you are past due. For most contractors, this is where the first follow-up call should happen if it has not already. The tone is still friendly and professional. Maybe the invoice got lost in someone’s inbox. Maybe the GC is waiting on the owner to release funds. Whatever the reason, you need to find out now, not later.
At this stage, about 90% of invoices are still collectible if you take action. The key word there is “if.” Contractors who shrug off 45-day-old invoices and say “they will pay eventually” are the same ones scrambling to make payroll two months later.
61 to 90 Days
This bucket is where things get serious. Industry data shows that the probability of collecting an invoice drops significantly once it passes 60 days. At this point you should:
- Send a formal past-due notice in writing
- Call the customer directly (not just email)
- Document every communication
- Consider withholding additional work until the balance is resolved
If you are dealing with a general contractor who has not paid a subcontractor invoice at 90 days, it is also time to review your lien rights and make sure you have not missed any filing deadlines.
91 to 120+ Days
Once an invoice crosses 90 days, you are staring at potential bad debt. Collection agencies typically recover only a fraction of the original amount at this stage, and the cost of legal action may or may not be worth it depending on the invoice size.
At 120+ days, many accounting standards suggest you should start considering a write-off or at least set up an allowance for doubtful accounts. That does not mean you stop trying to collect. It means you stop counting that money as a reliable asset on your balance sheet.
The lesson across all these buckets is simple: time kills collectibility. Every week that passes without action reduces your chances of getting paid in full.
How to Use Aging Reports to Prioritize Collections
Having an aging report is one thing. Actually using it to drive your collection efforts is another. Here is a practical approach that works for construction companies of all sizes.
Sort by Dollar Amount Within Each Bucket
Not all overdue invoices deserve the same level of effort. A $2,500 invoice at 45 days is less urgent than a $85,000 invoice at 35 days, even though the smaller one is technically more overdue. Sort each bucket by dollar amount and focus your energy on the biggest balances first.
Work the 31 to 60 Day Bucket Hardest
This is your sweet spot for collections. Invoices in this range are overdue enough to justify a direct phone call but not so old that the customer has mentally written them off. Your recovery rate here is still high, and a little persistence goes a long way.
Create a Weekly Collection Routine
Pick a day each week (Monday morning works well for most contractors) and review the full aging report. Make your calls, send your follow-up emails, and update notes on each account. Consistency matters more than intensity. Five follow-ups spread over five weeks will outperform one angry phone call at 90 days.
Flag Repeat Offenders
If the same customer keeps showing up in your 60+ day buckets, that is a pattern, not a coincidence. Consider adjusting their payment terms, requiring deposits on future work, or raising the conversation with their project manager. Your accounts receivable process should include a policy for dealing with chronically late payers.
Connect Collections to Project Decisions
Your aging report should feed into your project planning. If a developer owes you $120,000 at 75 days and wants you to start another $200,000 job, that is critical information. Do not silo your accounting data away from your operations team. Everyone who makes decisions about which work to take on should have visibility into outstanding receivables.
Automating AR Tracking to Save Time and Catch Problems Early
Manual AR tracking with spreadsheets works when you have five invoices outstanding. It breaks down fast when you are running 15 projects with progress billing, retention holdbacks, and multiple pay applications per job.
Why Spreadsheets Fall Short
The biggest problem with spreadsheet-based aging reports is that they are only as current as the last time someone updated them. If your bookkeeper updates the AR spreadsheet on Friday afternoon, by Wednesday you are looking at stale data. Invoices that came in over the weekend are not reflected. Payments that cleared on Monday are still showing as outstanding.
In construction, where a single day can make the difference between filing a lien on time or missing the deadline, stale data is dangerous.
What Automated AR Tracking Looks Like
Modern construction management software connects your invoicing, payment tracking, and reporting into one system. When you send an invoice through the platform, it automatically starts the aging clock. When a payment comes in, the system updates the balance and aging in real time.
This means your aging report is always current. You do not have to ask someone to “run the numbers” before your Monday morning meeting. You pull up the report and the data is live.
Automated systems can also send payment reminders on a schedule you set. Maybe you want a friendly reminder at 7 days before due date, another at the due date, and a past-due notice at day 35. Set it once and the system handles it without anyone having to remember.
Connecting AR to Your Bigger Financial Picture
The real power of automated tracking shows up when your AR data connects to other parts of your business. When your aging report talks to your cash flow forecast, you can see exactly how overdue invoices are going to impact your ability to fund upcoming projects. When it connects to your job costing, you can see profitability by customer, factoring in how long they take to pay.
Contractors across the country trust Projul to run their businesses. Read their reviews.
A customer who pays $100,000 at 120 days is less profitable than one who pays $90,000 at 15 days, once you factor in the carrying cost and the cash flow disruption. Your AR aging data makes that visible.
Reducing DSO: Practical Steps for Construction Companies
DSO, or Days Sales Outstanding, is the average number of days it takes your company to collect payment after sending an invoice. It is arguably the single most important metric tied to your aging report.
Here is how to calculate it:
DSO = (Total Accounts Receivable / Total Credit Sales) x Number of Days
For example, if you have $450,000 in receivables and did $1,800,000 in credit sales over the last 90 days:
DSO = ($450,000 / $1,800,000) x 90 = 22.5 days
A DSO of 22.5 days is excellent for construction. The industry average tends to hover between 60 and 90 days, depending on the trade and project type. Commercial work typically has longer DSO than residential because of the layers of payment applications and approval processes involved.
How to Lower Your DSO
Invoice immediately. Every day between finishing work and sending the invoice is a day added to your DSO. If your crew finishes on Friday, the invoice should go out Friday, not the following Wednesday.
Make it easy to pay. Accept credit cards, ACH transfers, and online payments. The fewer obstacles between your customer and their bank, the faster money moves. Yes, credit card processing fees eat into margin. But getting paid in 5 days instead of 45 days is often worth the 2-3% fee.
Bill more frequently. Instead of one big invoice at project completion, use progress billing tied to milestones. Smaller, more frequent invoices are easier for customers to approve and pay. They also reduce your exposure if something goes sideways on the project. Check out how progress payment applications can help you stay ahead.
Tighten your payment terms. If you are currently at net-60, consider moving to net-30 with a 2% early payment discount. Many customers will take the discount, and those who do not are at least anchored to a shorter timeline.
Pre-qualify your customers. Before you sign a contract, do some basic homework. Check references. Look at their payment history with other subs. Pull a credit report on larger jobs. The best time to avoid a 120-day receivable is before you start the work.
Follow up before invoices are due. A quick “just confirming you received invoice #4523” call at day 15 catches problems early. Maybe there is a line item dispute. Maybe the invoice went to the wrong person. Better to find out at day 15 than day 45.
Connecting AR Aging to Cash Flow Health
Your aging report is not just a collections tool. It is a window into the financial health of your entire operation.
The Cash Flow Connection
Every dollar sitting in your aging report is a dollar you cannot spend. It cannot buy materials for the next job. It cannot cover the insurance premium due next week. It cannot fund the new truck your crew needs. When your aging report shows heavy balances in the 60+ day columns, your cash flow is under pressure whether your profit and loss statement looks good or not.
This is the trap that kills construction companies. You can be profitable on paper and still run out of cash. The P&L says you made $200,000 last quarter. But if $180,000 of that is sitting in accounts receivable at 75 days, your bank account tells a very different story.
Using Aging Data for Cash Flow Forecasting
A smart forecasting process starts with your aging report. Look at each bucket and assign a realistic collection probability:
- Current: 95 to 98% likely to collect
- 31 to 60 days: 85 to 90% likely
- 61 to 90 days: 70 to 80% likely
- 91 to 120 days: 50 to 60% likely
- 120+ days: 25 to 40% likely
Multiply each bucket total by its probability and that gives you a more realistic picture of incoming cash than just looking at the raw receivables number. Use those adjusted numbers in your cash flow forecast and you will make better decisions about when to take on new work, when to tap your credit line, and when to hold off on equipment purchases.
Warning Signs in Your Aging Report
Watch for these patterns that signal trouble:
Growing 60+ day balances month over month. If the tail end of your aging report keeps getting fatter, your collection process has a leak somewhere.
One customer dominating your receivables. If 40% of your outstanding AR is from a single client, you have concentration risk. If that client goes sideways, so does your cash flow.
Retention balances that never get billed. Retention holdbacks are normal in construction, but they should eventually convert to invoices and then to cash. If you have retention sitting unbilled for months after project completion, you are leaving money on the table.
DSO trending upward. Track your DSO monthly. A steady climb over three to six months means something systemic is changing, maybe your customer mix is shifting, maybe your billing process has slowed down, or maybe the market is tightening and customers are stretching payments.
Building a Healthier AR Position
The contractors who maintain healthy cash flow are not just good at building things. They are good at the boring stuff: invoicing on time, following up consistently, tracking their numbers weekly, and making collection calls before things get awkward.
Start with your aging report. Review it every week. Act on what it tells you. Connect it to your cash flow forecast so you can see around corners. And build a collection process that your team follows without fail, not just when cash gets tight.
Your AR aging report will not make collections fun. But it will make them manageable, predictable, and far less stressful than getting blindsided by a cash crunch you did not see coming.
Common Aging Report Mistakes Contractors Make (and How to Avoid Them)
Reading an aging report is straightforward. Using it well is where most contractors stumble. Here are the mistakes that come up over and over again, along with what to do instead.
Treating the Aging Report as a Monthly Task
Too many contractors pull their aging report once a month, usually when the bookkeeper hands it over or when the accountant asks for it. By the time you are looking at month-old data, invoices that were at 35 days are now at 65 days. That friendly follow-up window has closed, and now you are in serious collection territory.
The fix is simple: make it weekly. Every Monday morning, before you start planning the week’s work, pull up the aging report. It takes 15 minutes to scan and another 30 to make your follow-up calls. That 45-minute investment saves you hours of chasing money later and keeps cash flowing in consistently.
Ignoring Small Balances
It is easy to focus on the big invoices and let the $1,200 and $3,500 ones slide. But small balances add up fast. If you have 20 invoices under $5,000 sitting in the 60+ day column, that is potentially $60,000 or more in working capital that is stuck. That is a truck payment, two weeks of payroll for a small crew, or the materials deposit on your next job.
Small balances also train your customers. If a client learns they can pay you late on a $2,000 invoice without hearing a word, they will do the same thing on the $40,000 invoice next quarter. Consistent follow-up on every balance, regardless of size, sets the tone for how your company expects to be paid.
Not Separating Retention from Regular Receivables
In construction, retention holdbacks muddy up your aging report if you do not track them separately. A 10% retention on a $300,000 job shows up as $30,000 in your receivables, but it is not actually collectible until the project is complete and the retention period ends. If that $30,000 shows up in your 90-day bucket, it looks alarming, but it might be perfectly normal depending on the project timeline.
The solution is to track retention as its own line item or category in your aging report. That way you can see your “real” aging (invoices that should have been paid by now) versus retention balances that are on a separate clock. When retention does become billable, move it into your standard aging and start the collection process immediately. Do not let it sit unbilled for months, which is a surprisingly common problem. For a deeper look at how retention fits into your overall AR process, read our complete accounts receivable guide for contractors.
Failing to Document Communication
You call the GC’s office, leave a voicemail about an overdue invoice, and move on with your day. Two weeks later you call again and the office manager says nobody ever called. Sound familiar?
Every collection touch point needs to be documented: the date, who you spoke with (or that you left a voicemail), what was discussed, and what the next step is. This is not just for your own tracking. If things escalate to a formal dispute or legal action, a documented trail of consistent follow-up attempts is powerful evidence. It shows you were reasonable, persistent, and professional.
Your construction management software should give you a place to log these notes against each invoice or customer record. If it does not, a shared spreadsheet or even a notebook will work. The important thing is that the information exists somewhere outside of one person’s memory.
Blaming the Customer Without Checking Your Process
Sometimes late payments are not the customer’s fault. Before you pick up the phone to chase an overdue invoice, ask yourself a few questions:
- Did the invoice go to the right person? On commercial jobs, invoices often need to go to a specific accounts payable contact, not the project manager you have been emailing.
- Was the invoice accurate? A billing error or missing PO number can hold up payment for weeks while the customer waits for a corrected version.
- Did you include all required documentation? Many GCs require signed daily logs, progress photos, or certified payroll before they will process a pay application.
- Are your payment terms clearly stated on the invoice? If the invoice just says “due upon receipt” but your contract says net-30, you are creating confusion.
Cleaning up your invoicing process on the front end prevents a huge percentage of collection problems on the back end. Take a look at your invoicing workflow and make sure every invoice goes out complete, accurate, and to the right person.
How to Set Up an AR Aging Report for Your Construction Company
If you do not have a formal aging report in place, or if yours is a mess of sticky notes and mental math, here is how to set one up from scratch.
Step 1: Gather Every Outstanding Invoice
Pull together every unpaid invoice across every project and every customer. This includes progress billings, final invoices, retention receivables, and any disputed amounts. Do not leave anything out, even if you think it is “handled.” If money is owed and has not hit your bank account, it belongs on the aging report.
For most contractors, this means checking your accounting software, your email sent folder (for invoices sent as PDFs), and your project files. If you have been sending invoices through multiple channels without a central system, expect this first step to take a few hours. That is fine. You only have to do the big cleanup once.
Step 2: Record the Key Details for Each Invoice
For every outstanding invoice, capture:
- Customer name
- Project name or number
- Invoice number
- Invoice date
- Due date (based on your contract terms)
- Amount due
- Amount already paid (for partial payments)
- Remaining balance
- Any notes about disputes or special terms
This might seem like a lot, but you need all of it. The project name ties the receivable back to a specific job so you can track profitability. The due date is what drives the aging calculation, not the invoice date. And partial payment tracking is essential because a customer who paid $40,000 of a $50,000 invoice is very different from one who has paid nothing.
Step 3: Build Your Aging Buckets
Using the due date as your starting point (not the invoice date), calculate how many days each invoice is outstanding and slot it into the right bucket:
- Current: 0 to 30 days past due date
- 31 to 60 days past due date
- 61 to 90 days past due date
- 91 to 120 days past due date
- 120+ days past due date
Some contractors also add a “not yet due” bucket for invoices that have been sent but the payment deadline has not arrived yet. This is useful because it gives you a complete picture of all outstanding receivables, not just the overdue ones.
Step 4: Total Each Bucket and Calculate Percentages
Add up the balances in each bucket and calculate what percentage of your total receivables each bucket represents. This is where the story really starts to take shape.
A healthy aging report might look something like this:
- Current: $280,000 (56%)
- 31 to 60 days: $120,000 (24%)
- 61 to 90 days: $60,000 (12%)
- 91 to 120 days: $30,000 (6%)
- 120+ days: $10,000 (2%)
In this example, 80% of receivables are under 60 days old. That is a solid position. Compare that to a company where 40% of receivables are over 60 days. That company has a collection problem, and probably a cash flow problem too.
Step 5: Set Up a Review Cadence
The report is only useful if you look at it regularly. Set a recurring calendar event for every Monday morning (or whatever day works for your week). Spend 15 to 20 minutes reviewing the report, flag anything that has moved into a new bucket since last week, and assign follow-up actions.
If you are running a team, share the aging report (or at least the high-level numbers) with your project managers. They often have the closest relationships with the customer’s team and can help resolve payment issues faster than a call from your bookkeeper.
Trade-Specific AR Challenges and How to Handle Them
Different construction trades face different collection dynamics. What works for a general contractor billing a developer is not the same as what works for a plumber billing a homeowner. Here is how aging report management plays out across common trades.
General Contractors and GC-to-Owner Collections
GCs typically deal with the longest payment cycles in construction. On commercial projects, the payment chain runs from the GC to the owner (or the owner’s lender), which adds layers of approval and processing time. It is not unusual for a GC to submit a pay application and wait 45 to 60 days for payment even when everything is approved without dispute.
Because of this, GCs need to be realistic about what their “normal” aging looks like versus a genuine collection problem. If your standard payment cycle is 45 days, an invoice at 50 days is not a crisis. An invoice at 50 days on a project where the owner typically pays at 25 days is a different story. Context matters, and your aging report should include enough project detail that you can tell the difference.
GCs also face the challenge of paying their subs before they have collected from the owner. This cash flow gap is one of the biggest reasons construction companies fail. Your aging report should feed directly into your payment scheduling so you know exactly when you can afford to pay subs without dipping into reserves meant for other projects.
Subcontractors and the Payment Chain Problem
Subs are at the mercy of the payment chain. You do the work, bill the GC, and then wait for the GC to get paid by the owner before your check arrives. This means your aging report might show an invoice at 60 days that is not actually the GC’s fault. The owner is sitting on the payment, and the GC is stuck in the middle.
That said, “the owner has not paid us yet” is an explanation, not an excuse. Most states have prompt payment laws that require GCs to pay subs within a set number of days after receiving payment from the owner, and many require payment within a set period regardless of whether the GC has been paid.
Know your state’s prompt payment rules. Document them. And when an invoice hits 45 to 60 days, ask the GC directly: “Have you been paid by the owner for this pay period?” If the answer is yes and you still have not been paid, that is a different conversation entirely, and it might be time to review your lien rights and filing deadlines.
Residential Contractors and Homeowner Collections
Residential work has its own collection quirks. Homeowners are not professional bill-payers. They do not have an accounts payable department. Payment often depends on whether the homeowner is happy with the work, whether they have the cash available, and whether they even remember the invoice exists.
The biggest mistake residential contractors make is billing at the end of the job. If you do a $35,000 kitchen remodel and send one invoice at completion, you are completely exposed. If the homeowner drags their feet, disputes the final details, or runs into their own financial problems, you are chasing a huge balance with limited options.
Progress billing solves this. Break the project into milestones, maybe 30% at contract signing, 30% at rough-in completion, 30% at substantial completion, and 10% at final walkthrough, and bill at each stage. This way, by the time you reach the end of the job, you have already collected 90% of the contract value. Even if the final 10% turns into a collection issue, your exposure is manageable.
For homeowner-facing work, also consider requiring payment before starting each phase. “We will begin framing once the foundation milestone payment clears” is a completely reasonable business practice, and it keeps your aging report much cleaner.
Specialty Contractors and Retention-Heavy Projects
Trades like mechanical, electrical, and fire protection often work on projects with 5% to 10% retention holdbacks that can stretch for months or even years after substantial completion. This creates a unique aging challenge: you have money owed that is legitimate but not yet billable under the contract terms.
Track these retention balances on a separate schedule, with the expected release date for each one. When the retention period ends, bill it immediately, the same day if possible. Too many specialty contractors let retention invoices sit for weeks or months after they become billable, simply because nobody is watching the calendar.
If you are working on a project where the change order volume is high, make sure your retention tracking accounts for change order amounts as well. Retention is typically calculated on the total contract value including approved changes, and billing errors here are common and costly.
Building a Collection Policy That Sticks
An aging report tells you where the problems are. A collection policy tells your team what to do about them. Without a written policy, collections happen inconsistently. Whoever happens to notice an overdue invoice makes a call, or more often, nobody does until the cash crunch forces the issue.
What Your Collection Policy Should Include
Payment terms and expectations. Spell out your standard terms (net-30, net-45, whatever you use) and make sure they are on every contract and every invoice. This is the baseline your entire collection process hangs on.
Contact schedule by aging bucket. Define exactly what happens at each stage:
- Day 7 before due date: Friendly reminder email that the invoice is coming due
- Due date: Thank-you if paid; reminder if not
- Day 7 past due: Phone call to confirm receipt and expected payment date
- Day 14 past due: Second call, escalate to a supervisor or project manager if needed
- Day 30 past due: Formal past-due notice via email and mail
- Day 45 past due: Direct conversation with the customer’s decision-maker
- Day 60 past due: Written demand with consequences outlined (work stoppage, lien filing)
- Day 90 past due: Formal demand letter, lien filing if applicable, collections agency referral
Escalation paths. Who makes the first call? Who gets involved at 60 days? At what point does the owner of the company step in? Define this clearly so your team is not guessing.
Consequences for late payment. Your policy should state what happens when a customer does not pay on time. This might include late fees (if your contract allows them), suspension of work on active projects, refusal to bid future work, or referral to collections. The important thing is that these consequences are real. If you threaten to stop work at 60 days but never actually do it, your policy is just words on paper.
Documentation requirements. Every call, email, letter, and conversation about a past-due invoice should be logged. State in the policy who is responsible for documentation and where it lives.
Getting Your Team to Follow the Policy
A collection policy on paper is worthless if your team does not follow it. The two biggest barriers are:
-
Nobody “owns” collections. If it is everyone’s job, it is nobody’s job. Assign a specific person to run the weekly aging review and make the follow-up calls. On smaller crews, this might be the owner. On larger companies, it might be an office manager or a dedicated AR person.
-
People are uncomfortable asking for money. This is real, especially when the customer is someone you have a personal relationship with. Frame it differently for your team: you are not asking for a favor. You are asking for payment for work that was completed as agreed. That is a professional transaction, not a personal confrontation.
Train whoever is making collection calls on a simple script. Something like: “Hi [name], this is [your name] from [company]. I am calling about invoice [number] for $[amount] on the [project name] job. It was due on [date] and I wanted to check on the status. Do you have an expected payment date?” That is it. No drama, no apology, no aggression. Just a straightforward question.
Reviewing and Updating Your Policy
Review your collection policy at least once a year. Look at your DSO trend, your aging distribution, and your write-off rate. If your DSO is climbing despite following the policy, maybe you need to tighten the timelines. If you are writing off more than 1 to 2% of revenue, something in the process is broken.
Talk to your team about what is working and what is not. Maybe the email reminders are getting ignored and phone calls need to start earlier. Maybe a specific customer segment (like property management companies or government agencies) needs a different approach because of how their payment processes work.
The goal is not perfection. The goal is a system that runs consistently, catches problems early, and keeps cash moving into your account on a predictable schedule. Your collections process should evolve as your business grows and your customer mix changes.
Ready to see how Projul can work for your crew? Schedule a free demo and we will walk you through it.
The work you do deserves to get paid for. An aging report is how you make sure it does.