Construction is one of the few industries where a business can be simultaneously the busiest it has ever been and the closest to insolvency it has ever been, and the owner often cannot see it happening because the standard financial statements were never built to show it. The culprit is almost always the same: work-in-progress (WIP) that is not being tracked with the discipline the industry actually requires, combined with a holdback and GST/HST timing structure that behaves nothing like a normal service business's cash flow.
The Busy-and-Broke Paradox
A general contractor running five active projects can show a healthy year-to-date profit on a standard income statement while being weeks from a payroll shortfall, because standard financial statements report completed, invoiced revenue, not the economic reality of partially finished contracts sitting on the balance sheet as unbilled work. Without a proper WIP schedule, an owner is flying on instruments that were built for a business model construction does not actually have.
Key Takeaway
A WIP schedule answers one specific question a normal P&L cannot: for each active job, has the company billed more than it has earned (over-billed) or earned more than it has billed (under-billed)? That single distinction is usually the difference between a contractor who sees a cash crunch coming and one who does not.
What A WIP Schedule Actually Is
A work-in-progress schedule is a job-by-job reconciliation, prepared at least monthly, that compares three figures for every active contract: total costs incurred to date, total billings issued to date, and the earned revenue implied by the project's percentage of completion. The percentage of completion itself is typically calculated using the cost-to-cost method: costs incurred to date divided by total estimated contract costs[1]. That percentage is then applied to the total contract value to determine earned revenue, which is compared against what has actually been billed.
Over-Billing vs. Under-Billing
When billings to date exceed earned revenue, the job is over-billed, the contractor has collected ahead of the work performed, which shows up on the balance sheet as a liability (billings in excess of costs). This is a healthy position for cash flow, provided it is not masking margin erosion elsewhere. When earned revenue exceeds billings to date, the job is under-billed, the company has performed work it has not yet invoiced for, which is an asset on paper but a genuine cash flow drag in practice, since payroll and material costs for that work have typically already been paid.
A portfolio of five profitable-looking jobs that are all quietly under-billed is precisely the situation that produces the busy-and-broke paradox: the income statement shows growth and margin, while the balance sheet is silently accumulating an ever-larger amount of performed-but-uncollected work. Monthly WIP analysis and revenue accrual is the standard remedy, catching the drift before it becomes a payroll problem[2].
Percentage-of-Completion vs. Completed-Contract: The Canadian Tax Choice
For Canadian tax purposes, a contractor with a contract expected to run less than two years generally has the option to use the completion method, deferring recognition of profit until the contract is substantially finished, rather than recognizing profit progressively under the percentage-of-completion method[3]. The Canada Revenue Agency accepts either method for tax purposes provided it is applied consistently[4], but consistency is the operative word. Once a method is adopted for a given contract type, switching between methods opportunistically from year to year is exactly the kind of pattern that draws CRA scrutiny.
The practical trade-off: the completion method defers tax, which helps cash flow while a project is underway, but it also means that if several large contracts happen to finish in the same fiscal year, taxable income, and the resulting tax bill, can spike sharply in that single year. The percentage-of-completion method smooths that volatility at the cost of recognizing (and paying tax on) profit earlier, before all of it has actually been collected.
Holdback Mechanics: Protecting Cash Flow, Not Just Compliance
A holdback is a portion of each progress payment, commonly 10%, that the client or owner retains until the work is approved as fully complete and free of deficiencies, a mechanism required under provincial lien legislation across Canada[5]. Holdbacks exist to protect the owner against liens and defects, but from the contractor's side, they represent a predictable, contractually mandated cash flow lag layered on top of ordinary payment terms. A contractor who fails to track holdbacks receivable and holdbacks payable as distinct, separately coded accounts, rather than lumping them into ordinary accounts receivable and payable, will systematically overstate current assets and misread their real cash position[2].
Progress Billing Issued
Invoice reflects percentage complete; 10% statutory holdback is deducted from the payable amount.
Substantial Performance
Formal declaration filed; starts the statutory lien period clock (45-60 days depending on province).
Lien Period Expires
If no lien is registered, the holdback becomes payable regardless of whether it has actually been paid yet.
Holdback Released
Cash is finally received; both the receivable and the associated GST/HST timing event resolve simultaneously.
GST/HST Timing on Holdbacks: The Rule Most Contractors Get Wrong
Canadian GST/HST rules contain a special timing carve-out specifically for construction holdbacks. Under the general rule, GST/HST becomes payable on the earliest of the invoice date, the date an invoice should have been issued, or the date payment becomes due under the contract[1]. Holdbacks are the exception: where a holdback arises under a written contract or provincial/federal law governing construction, renovation, or repair of real property, GST/HST on that specific holdback amount is not payable until the earlier of the day the holdback is actually paid, or the day the holdback period expires under the contract or legislation[7][8].
This distinction matters because the rest of a progress invoice does not get this deferral. A common and costly error is contractors remitting GST/HST only on the cash actually collected on an invoice, excluding the holdback portion entirely, when in fact the full invoice amount excluding only the properly-deferred holdback is due in the period the invoice is issued[9]. The same mechanic applies symmetrically on the input tax credit side: if a subcontractor's invoice does not correctly deduct their own holdback, the general contractor cannot claim the input tax credit on the withheld portion until the subcontractor's holdback is legitimately payable either[6].
Worked Example
A $100,000 progress invoice at 13% HST produces $13,000 in HST and a 10% holdback of $11,300 (calculated on the gross invoice). The contractor remits the full $13,000 of HST in the period the invoice is issued, not the $11,700 that corresponds to cash actually expected that period, because only the holdback on the underlying contract price, not the HST itself, qualifies for the timing deferral[9].
Building The Job Costing System
A defensible job costing system for a Canadian contractor needs, at minimum: real-time cost tracking by project and cost code (labour, materials, subcontractors, equipment), a WIP schedule refreshed monthly and reconciled to the general ledger, separate chart-of-accounts codes for holdbacks receivable and payable, a lien-deadline calendar tied to every substantial performance declaration, and progress billing templates that correctly separate the contract amount, the holdback, and the tax[2]. Manual spreadsheets can support this at very small scale, but the reconciliation burden grows non-linearly with active project count, most contractors outgrow spreadsheet-based WIP tracking well before they outgrow spreadsheet-based bookkeeping generally.
Sample WIP Position Across Five Active Jobs
KPIs Every Contractor Should Track Monthly
- Days Sales Outstanding (DSO), a target under 45 days is a reasonable benchmark for collection efficiency in Canadian commercial construction[2].
- WIP turnover, roughly 4-6 times annually is a healthy range, indicating jobs are progressing and billing at a reasonable pace relative to the size of the WIP balance[2].
- Overbilling ratio, ideally under 10% of the WIP balance; a consistently high ratio can indicate front-loaded billing masking margin problems that surface later in the job[2].
- Gross profit margin by job, tracked individually, not just at the company level, since one badly-estimated job can quietly offset the margin earned on several good ones.
A Worked Illustration: A Mid-Size General Contractor
A $12M-revenue general contractor running eight concurrent commercial projects reviews its WIP schedule monthly. In April, the schedule flags Job 4, a $2.1M office fit-out, as under-billed by $180,000: costs incurred and estimated percentage complete imply $1.4M of earned revenue, but only $1.22M has actually been invoiced, because a change order has not yet been formally billed. Without the WIP schedule, this gap would not surface until the project's cash flow tightened in July. With it, the controller issues the change-order invoice within the week, and the $180,000 gap closes before it ever becomes a real liquidity event. This is the entire operational case for disciplined WIP tracking: it converts a lagging, easy-to-miss balance sheet drift into a same-month, fixable billing action.
Frequently Asked Questions
How often should a WIP schedule be updated?
Can I switch between the percentage-of-completion and completion methods?
Do I have to remit HST on a holdback I have not been paid yet?
What is the biggest bookkeeping mistake specific to construction?
References
- Canada Revenue Agency. (n.d.). GST/HST and home construction. Government of Canada. canada.ca/en/revenue-agency/.../charge-collect-home-construction.html
- Insight Accounting CPA. (2026, March 5). Accounting for construction progress billing and holdbacks: A CPA's guide for Ontario contractors. insightscpa.ca/construction-progress-billing
- Empire CPA. (2022, September 22). How are holdbacks treated for tax purposes? empirecpa.ca/how-are-holdbacks-treated-for-tax-purposes
- Green Quarter Consulting. (n.d.). Accounting and bookkeeping for construction business in Vancouver. green-quarter-accountants-bookkeeping.com
- Ledgers Online. (2024, January 4). GST/HST timing rules for construction contractors in Canada. ledgersonline.com/blog/gst-hst-and-the-construction-industry
- JTL CPA. (2023, May 22). Construction: HST implications. jtlaccounting.com/blog/construction-hst-implications
- Canada Revenue Agency. (n.d.). RC4052: GST/HST information for the home construction industry. Government of Canada. canada.ca/.../rc4052-gst-hst-information-home-construction-industry.html
- Canada Revenue Agency. (1990, September 14). Time of liability (GST 300-6). Government of Canada. canada.ca/.../time-liability-gst-300-6.html
- Insight Accounting CPA. (2026, March 5). Accounting for construction progress billing and holdbacks: A CPA's guide for Ontario contractors [Worked example section]. insightscpa.ca/construction-progress-billing
This article reflects publicly available CRA guidance and industry practice literature current as of publication and is provided for general informational purposes. It is not tax, legal, or accounting advice for any specific business. GST/HST rules, provincial lien periods, and CRA administrative positions are updated periodically, confirm current rules at canada.ca or with a qualified advisor before acting.