Understanding Contract Assets and Liabilities in Construction Accounting
- Zane Bodnar
- 6 days ago
- 3 min read
In the construction world, revenue isn’t earned all at once — it’s built over time, just like the projects themselves. Because of this, contractors often use the percentage-of-completion method (POC) to recognize revenue.
But along with that method comes two key balance sheet accounts that can confuse even experienced contractors: contract assets and contract liabilities.
Let’s break down what they are, how they’re calculated, and why they matter.
What Are Contract Assets and Contract Liabilities?
Under ASC 606: Revenue from Contracts with Customers, construction companies must measure progress and recognize revenue as work is performed — not necessarily when they bill or collect cash.
This timing difference between work performed, amounts billed, and cash received creates either:
A Contract Asset → when work performed (revenue recognized) exceeds the amount billed.
A Contract Liability → when billing exceeds the amount of work performed (revenue recognized).
In simple terms:
Contract Asset = “We’ve earned it, but haven’t billed it yet.”
Contract Liability = “We’ve billed it, but haven’t earned it yet.”
The Foundation: Cost-to-Cost Method
Most construction contractors measure project progress using the cost-to-cost method, which compares costs incurred to date against total estimated costs for the job.
Formula:
Percentage Complete=Cost Incurred to DateTotal Estimated Cost\text{Percentage Complete} = \frac{\text{Cost Incurred to Date}}{\text{Total Estimated Cost}}Percentage Complete=Total Estimated CostCost Incurred to Date
That percentage is then applied to the total contract revenue to determine how much revenue should be recognized to date.
Revenue Recognized to Date=Percentage Complete×Total Contract Price\text{Revenue Recognized to Date} = \text{Percentage Complete} \times \text{Total Contract Price}Revenue Recognized to Date=Percentage Complete×Total Contract Price
Once you’ve determined how much revenue should be recognized, you can compare it to the amounts billed to calculate the contract asset or liability.
Step-by-Step Example
Let’s walk through an example.
Project Overview
Item | Amount |
Contract Price | $1,000,000 |
Estimated Total Cost | $800,000 |
Cost Incurred to Date | $400,000 |
Billed to Date | $350,000 |
Cash Collected | $300,000 |
Step 1: Calculate Percentage Complete
400,000/800,000=50%400,000 / 800,000 = 50\%400,000/800,000=50%
Step 2: Determine Revenue Earned to Date
1,000,000×50%=500,0001,000,000 \times 50\% = 500,0001,000,000×50%=500,000
Step 3: Compare to Billed Amounts
Description | Calculation | Result |
Revenue Recognized to Date | $500,000 | |
Less: Amount Billed | ($350,000) | |
Contract Asset | $150,000 |
In this case, the contractor has performed $500,000 worth of work but has only billed $350,000.The $150,000 difference is recorded as a Contract Asset (Unbilled Revenue) on the balance sheet.
Step 4: Reverse Example — Contract Liability
If the contractor had billed $600,000 to date instead of $350,000:
Description | Calculation | Result |
Revenue Recognized to Date | $500,000 | |
Less: Amount Billed | ($600,000) | |
Contract Liability | $100,000 |
Why It Matters
Accurate reporting of contract assets and liabilities provides:
Better cash flow forecasting — knowing how much work has been earned vs. billed
Clearer financial performance — avoids overstating or understating revenue
Compliance with ASC 606 — required for GAAP financials and bonding
Improved communication with sureties and banks — lenders analyze underbillings and overbillings closely
Common Mistakes Contractors Make
Not updating total estimated costs — inaccurate cost forecasts distort completion percentage.
Confusing billings with revenue — revenue is earned based on work performed, not invoices sent.
Ignoring change orders — pending approvals can skew revenue recognition.
Failing to reconcile WIP schedules — discrepancies between WIP and financial statements cause audit issues.
Pro Tip: Use a WIP Schedule
A Work-In-Progress (WIP) schedule is the backbone of contract asset/liability calculations. It summarizes:
Contract price
Costs to date
Estimated costs to complete
Billings to date
Revenue earned
Over/under billings
Updating this schedule monthly helps contractors track profitability and prevent unpleasant surprises at year-end.
Conclusion:
Contract assets and liabilities are essential for accurately portraying a construction company’s financial position. They tell the story of how much work has been performed versus how much has been billed — and, ultimately, how the company is managing cash and performance.
By mastering the cost-to-cost method, maintaining accurate WIP schedules, and understanding the flow of revenue recognition, contractors can stay compliant, confident, and financially strong.



Comments