Guide
Monthly management report for a construction company
A construction company's monthly management report must show what the profit and loss alone hides: over and under billing from a work-in-progress schedule, retainage held on both sides, gross margin by job against the bid, the backlog still to build, and cash against what has been billed. Below: each KPI with its formula, why it matters and where it comes from in Xero or QuickBooks Online, then a worked example.
Updated
What KPIs should a construction company track monthly?
Track over and under billing from a work-in-progress schedule, retainage receivable and payable, gross margin by job against the bid, backlog, and cash against billings. Together they show whether jobs earn what they were bid at, whether billing keeps pace with the work, and how much earned cash is still held back.
| KPI | Formula | Why it matters | Where it comes from |
|---|---|---|---|
| Over and under billing (WIP) | Per job: billed to date − revenue earned to date, where revenue earned = contract value × percent complete, and percent complete = cost to date ÷ estimated total cost. Above zero is over billing (billings in excess of costs); below zero is under billing (costs in excess of billings). | Under billing is work you have paid for and not invoiced; over billing is cash collected ahead of the work, still owed in labor and materials. Both move cash without moving profit. | Neither ledger builds the schedule. Xero: Project Summary, for each job's revenue and its estimated and actual costs. QuickBooks Online: Project profitability, on the project's Project Reports tab. Contract values and cost estimates come from your estimates. |
| Retainage receivable | The balance owners have withheld from your progress billings and not yet released. As a rate: retention receivable ÷ progress billings. | It is earned and billed but cannot be collected until the contract releases it, so it swells receivables and DSO without reaching the bank. | A retainage receivable account. Xero: Balance Sheet, and Account Transactions for that account. QuickBooks Online: Balance Sheet, and Transaction Detail by Account. |
| Retainage payable | The balance you have withheld from subcontractors' invoices and not yet paid. | Cash you hold but owe; it falls due as jobs close out. Shown beside retainage receivable, it gives the net position. | A retainage payable account. Xero: Balance Sheet and Account Transactions. QuickBooks Online: Balance Sheet and Transaction Detail by Account. |
| Gross margin by job | Per job: (revenue earned − job cost) ÷ revenue earned, set against the margin in the bid. Across all jobs it is the blended gross margin. | A margin that fades from the bid on one job is lost profit that the blended figure hides until the job is finished. | Xero: Project Summary, or the Profit and Loss filtered by a tracking category set up for jobs. QuickBooks Online: Project profitability, or Profit and Loss by Customer. Both show invoiced revenue; adjust it to revenue earned from the WIP schedule. |
| Backlog | Signed contract value not yet earned. Coverage in months: signed backlog ÷ monthly revenue. | It is the revenue already sold for the months ahead, and shows whether crews and overhead are covered or new work has to be won soon. | Not in the ledger. Contract values come from your contract log, revenue earned to date from the WIP schedule. |
| Cash against billings | Cash on hand against receivables: billed and not yet collected, retainage included. DSO = receivables ÷ revenue for the period × days in the period. | Profit is earned as the work progresses, but cash arrives when pay applications are paid. A rising DSO shows billings turning into cash more slowly. | Xero: Balance Sheet and Aged Receivables Summary. QuickBooks Online: Balance Sheet and A/R Aging Summary. |
How do I calculate over and under billing?
For each open job, divide cost to date by estimated total cost to get percent complete, multiply the contract value by it to get revenue earned, then subtract revenue earned from billings to date. A positive result is over billing, a liability; a negative result is under billing, an asset.
The work-in-progress schedule has one row per open job and these columns, in this order:
- Contract value, including approved change orders.
- Estimated total cost, updated each month by the project manager.
- Cost to date, from the job's costs in the ledger.
- Percent complete = cost to date ÷ estimated total cost.
- Revenue earned = contract value × percent complete.
- Billed to date, from the job's invoices.
- Over (under) billing = billed to date − revenue earned.
Total the over billings and the under billings separately: over billing is a liability on the balance sheet and under billing an asset, so one job does not cancel out another. An under billing that grows on the same job month after month is worth a question to its project manager.
Why can a profitable contractor run short of cash?
Because profit is earned as the work progresses, while cash arrives only when pay applications are approved and paid. Under-billed work, retainage held until close-out and slow-paying owners all keep earned revenue out of the bank, while subcontractors, suppliers and payroll are paid on their own schedule.
- Bill on time. A draw that misses the owner's pay-application cutoff waits a full cycle, and the work sits as under billing in the meantime.
- Watch retainage as its own line. It is earned, but it is not cash until the contract releases it.
- Look ahead by week. A 13-week cash flow forecast places each expected draw, retainage release and subcontractor payment in its week, so a gap shows while there is still time to act.
- Read DSO with the aging. Receivables by age show whether a rising DSO is one slow owner or all of them; working capital shows how much cash the jobs tie up overall.
What does a construction company's monthly report look like?
An excerpt from the April 2026 report of Cedar Plaza Builders. Figures from Ataski's sample company (fictional). The company does not exist; its figures are the sample data of the Financial Analyst's sample workspace, where you can open the construction sample.
| Line | Apr 26 | Mar 26 |
|---|---|---|
| Revenue | $2,180,000 | $2,057,959 |
| Cost of revenue | $1,787,600 | $1,687,526 |
| Gross profit | $392,400 | $370,433 |
| Operating expense | $248,400 | $246,142 |
| Operating result | $144,000 | $124,291 |
- Gross margin: 18.0% for the month; the commentary sets the blended margin of 18.0% against a bid plan of 16.8%.
- Over and under billing: $612,000 billed in excess of costs at month end; on one job, $186,000 of work in progress not yet billed.
- Retainage receivable: $214,000 outstanding on one job, withheld at 10% of progress billings.
- Backlog: 7.4 months of revenue.
- Cash against billings: cash of $918,000 against receivables of $1,932,000; DSO 58 days.
- Not in the sample: retainage payable is not reported separately.
From the sample report's commentary
“Retainage outstanding climbed to $214K — the Maple Street mixed-use job hit substantial completion but the 10% retainage won't release until the punch list closes in Q3. That cash is earned but uncollectable for ~60 more days; the 13-week forecast now models the release in week 11, not week 4.”
“Costs ran ahead of billings on the Cedar Plaza job — $186K of work-in-progress is unbilled because the April draw missed the owner's pay-app cutoff. The worker called it a one-cycle timing slip; the supervisor flagged a pattern of late pay-apps on this GC, so it routed to your inbox.”
“Blended gross margin held at 18.0% vs the 16.8% bid plan — the Riverside change orders were approved at full markup and the self-perform concrete crew beat the subcontracted estimate on two pours.”
Each note names the job, the figure and the reason behind it, the pattern described in the commentary section of the monthly management report template.
What else belongs in a construction company's monthly report?
These KPIs sit inside an ordinary management report: a short summary, the profit and loss against budget and the prior month, the balance sheet, a cash forecast, commentary on what moved and why, and the actions with an owner and a date. The monthly management report template sets out each section, and the month-end close checklist covers what to finish in the books first.
Or have it written for you
Ataski's Financial Analyst writes the monthly management report from your accounting system, with a scorecard, the profit and loss against the prior month, the same month last year and the budget, and a cash and working capital page with days sales and payables outstanding.
- Your ledger. QuickBooks Online and Xero; NetSuite, Sage Intacct, Zoho Books and Business Central in beta.
- Every month on the 1st. The report is refreshed on the 1st of every month for the month just ended, as a draft that waits for your approval.
- History from day one. The first connection reads the trailing 24 months, so the first report already compares each month with the same month last year.
- Cash, 13 weeks out. A weekly cash forecast beside the open invoices and bills falling due.
- A second reviewer. A second, independent AI reviewer reads every monthly narrative, and an AI explanation that cites a source outside your books is discarded, not published.
Plans start at $599/mo. The first month is free, and no card is needed to start it.
Questions
What is a WIP schedule?
A work-in-progress schedule lists every open job with its contract value, estimated total cost, cost to date, percent complete, revenue earned, billings to date and the over or under billing that results. It ties the revenue a contractor reports to the work actually done.
Is over billing revenue?
No. Billings in excess of costs and estimated earnings are a liability: the customer has been invoiced for work not yet performed. Revenue is the amount earned on the WIP schedule, not the amount invoiced.
Should retainage sit in accounts receivable?
It is billed and earned but not due until the contract releases it, often at substantial completion or close-out. Keeping it in its own receivable account lets the receivables aging show what can be collected now, and lets the monthly report show retainage as its own line.
What counts as backlog?
Signed contract value not yet earned. Work that is bid, or awarded but not signed, is better reported on its own line, so the backlog figure only moves when a contract is signed or work is done.