You are a Canadian accountant who has been there: a client calls in late November, panicked because their construction company has been billing based on milestones but has no idea how much revenue to recognize this year. The bank feeds are a mess, job costs are scattered across emails and receipts, and the HST returns are due soon. This scenario is all too common when accounting for progress billing in Canadian construction. The problem is not the billing itself - it is the lack of a structured process to track costs, invoices, and payments against each project phase. Without it, you are guessing at revenue recognition, cash flow, and tax obligations.
This guide covers the mechanics of progress billing, the two main accounting methods - percentage-of-completion and completed contract - and the Canadian-specific tax rules that make construction accounting different. You will also see why a dedicated Canadian platform like Awditify can turn a messy job-costing puzzle into a repeatable workflow.
Table of Contents
- What Is Progress Billing and Why Does It Matter?
- Two Main Accounting Methods for Progress Billing in Canada
- Canadian Tax Considerations: HST, QST, and ITCs
- Common Progress Billing Mistakes and How to Avoid Them
- Choosing the Right Software for Construction Progress Billing
- Frequently Asked Questions
- What to Do Next
What Is Progress Billing and Why Does It Matter?
Progress billing is when a contractor invoices a client in stages as work is completed, rather than billing the full contract amount at once. A typical construction contract might have milestones: foundation, framing, roofing, finishing. Each milestone triggers an invoice for a percentage of the total contract value, often supported by a schedule or a certified progress report.
For most Canadian construction companies - from a two-person renovation crew to a commercial general contractor - progress billing solves a cash flow problem. If you wait until the job is done to bill, you have been paying for materials, labour, and subcontractors out of pocket for months. Progress billing lets you match cash inflows to outflows more closely.
But there is a catch: you need to track costs accurately per project phase. If your bookkeeping lumps all materials into a single "cost of goods sold" category, you cannot tell which phase is over or under budget. That is where accounting for progress billing gets complicated. You need job costing that breaks down costs by project and often by phase. Without it, you cannot reliably report work-in-progress (WIP) or determine how much revenue to recognize.
Two Main Accounting Methods for Progress Billing in Canada
The Canada Revenue Agency (CRA) generally requires construction companies to use one of two methods for revenue recognition: percentage-of-completion (POC) or completed contract (CC). Which one you use depends on the length of your contracts, your business structure, and sometimes your accountant's preference.
Percentage-of-Completion Method
The POC method recognizes revenue in proportion to the work performed. If you are 40% done with the work, you recognize 40% of the expected total revenue, less costs incurred to date. This method is required for long-term contracts (more than one year) under Canadian GAAP (ASPE Section 3400) and is also common for interim reporting.
To use POC reliably, you need a way to estimate the percentage of completion. Common measures include:
- Costs incurred divided by total estimated costs.
- Labour hours worked versus expected total hours.
- Physical milestones (e.g., cubic metres of concrete poured).
Each measure has trade-offs. Cost-based is straightforward but can be distorted by material price spikes. Labour-based works well for labour-intensive trades like electrical or plumbing. Milestone-based is simple but can be lumpy.
Completed Contract Method
The completed contract method defers all revenue and cost recognition until the project is substantially complete. This method is simpler - you do not have to update WIP every month - but it can create large swings in taxable income. The CRA restricts its use to short-term contracts (generally under two years) or when the outcome of a contract cannot be estimated reliably.
Many small residential builders use the completed contract method because they manage multiple short jobs and want to avoid the administrative burden of POC. The trade-off is that you may pay a much larger tax bill in the year the job finishes, while claiming no revenue in the build year.
Which Method Should You Use?
The answer depends on your contract types and your need for accurate financial statements. If you are a CPA firm advising a construction client, you should assess:
- Contract duration: Over one year? POC is likely required.
- Reliability of estimates: Can the contractor estimate total costs within a reasonable range? If not, CC might be more appropriate.
- Financial reporting needs: Banks or sureties often require percentage-of-completion statements to show ongoing profitability.
A practical approach is to maintain both: use POC for internal management and financial reporting, but elect CC for tax purposes under certain circumstances (with your accountant's guidance).
Canadian Tax Considerations: HST, QST, and ITCs
Progress billing in Canada has a layer of complexity that generic accounting guides ignore: sales tax. Depending on the province, you may be dealing with GST, HST, QST, or PST. The rules for when tax must be charged and remitted are tied to the progress invoice, not the cash receipt.
Charge HST/GST on Each Progress Invoice
When you issue a progress invoice, you must charge the applicable HST or GST on the invoiced amount, even if the client has not paid yet. The tax is based on the province where the work is performed. For example, a renovation in Ontario attracts 13% HST. A project in British Columbia uses 5% GST plus 7% PST (separately). If you are in Quebec, you charge 5% GST and 9.975% QST.
This can create a cash flow squeeze: you remit the tax to CRA (or Revenu Quebec) based on the invoice date, but you may not receive the payment for 30, 60, or 90 days. Many construction companies struggle with this mismatch. One way to manage it is to use prompt payment discounts or holdbacks - but the tax remittance does not wait.
Input Tax Credits (ITCs) on Progress Expenditures
You can claim input tax credits for the HST/GST you pay on materials and subcontractor invoices. But if you are using progress billing, you need to ensure that the ITCs are claimed in the right reporting period. The CRA allows ITCs on expenses incurred to earn taxable revenue. Since progress billing is taxable, you can claim ITCs on costs even before the related progress payment is collected.
A common mistake is to delay ITC claims until the client pays. Do not do that. Claim ITCs when you incur the cost, not when you receive the receivables. Your software should track these separately.
Provincial Differences: QST and PST
If your client operates in Quebec, the QST rules are slightly different. The QST is calculated on the selling price before GST, and the rate is 9.975%. Quebec also has its own recapture rules for certain inputs. Similarly, if you work in Saskatchewan, Manitoba, or BC, you have PST obligations that are not integrated with the GST. Your billing and accounting system must handle these separately.
Awditify's municipal and small business features include multi-tax support, so you can set up different tax rates by client or project and ensure the right amounts are charged and reported.
Common Progress Billing Mistakes and How to Avoid Them
Even with the best intentions, progress billing can go wrong. Here are four frequent errors I see in Canadian construction files:
1. Billing Without Cost Tracking
You invoice for 50% completion based on a rough guess, but your actual costs are only 30%. You recognize too much revenue early and may run into cash flow trouble later when the job goes over budget. The fix is simple: tie your progress billings to a certified cost report or a WIP schedule. Use job-costing reports that compare actual costs to budget before every invoice.
2. Mixing Up Progress Billings with Deposits
A deposit received before work starts is not a progress billing. It is a liability (unearned revenue) until you perform the work. Yet I have seen many contractors record deposits as revenue on the invoice date. That triggers unnecessary HST remittance and misstates income. Keep deposits separate in your balance sheet and only recognize revenue as you progress.
3. Ignoring Holdbacks
In many Canadian provinces, the construction contract allows the owner to retain a percentage (often 10%) of each progress payment until the job is substantially complete. That holdback is not revenue you can count on until it is released. Your accounts receivable should reflect the holdable amount separately, and you should not recognize the associated revenue until the holdback becomes receivable. CRA may still require you to remit HST on the holdback amount when invoiced - check with your accountant.
4. Using Generic Accounting Software
Generic software built for retail or service businesses lacks construction-specific features like progress billing, change orders, and job costing. You end up in a spreadsheet mess. A Canadian platform like Awditify is designed for contractors: it supports progress billing with automated HST/GST calculations, job cost tracking by phase, and a client portal for approvals.
Choosing the Right Software for Construction Progress Billing
When you evaluate software for progress billing, look for three things: job costing that drills down to individual projects and phases, automated HST/GST handling with provincial rates, and progress invoicing that ties to a WIP schedule.
The table below compares a generic approach with a purpose-built Canadian solution.
| Feature | Manual / Generic Software | Awditify (Canadian Platform) |
|---|---|---|
| Job costing | Separate spreadsheets, prone to errors | Built-in project-based cost allocation, track by phase |
| Tax handling | Requires manual setup per province, easy to miss rate changes | Pre-configured GST/HST/QST/PST rates by project location |
| Progress invoicing | Draft invoices manually based on estimates | Auto-generate from WIP percentage, e-signature client approval |
| Work-in-progress reports | Must compile from multiple sources | Real-time WIP dashboard, revenue recognition ready |
| Cash flow visibility | After-the-fact reconciliation | Live bank feeds and AI categorization of expenses |
Awditify's AI bookkeeping also helps by categorizing bank transactions against specific jobs, so you do not have to manually tag every receipt. For construction companies with multiple ongoing projects, that feature alone saves hours per week.
Frequently Asked Questions
What is progress billing in construction Canada?
Progress billing is an invoicing method where a contractor bills a client in stages based on work completed. Each stage or milestone triggers a partial invoice, allowing the contractor to collect cash before the entire project finishes. In Canada, progress billing must comply with provincial lien laws and requires careful tracking of job costs to ensure accurate revenue recognition.
How do you record progress billings in accounting?
Record a progress billing by debiting accounts receivable (or progress billings receivable) and crediting progress billings (a contra-asset or liability account). Simultaneously, debit cost of construction and credit work-in-progress (WIP) inventory for the costs incurred to date. Revenue is recognized based on the percentage of completion method unless you use the completed contract method.
Is HST charged on progress billings?
Yes, HST or GST must be charged on each progress invoice, even if the client has not paid. The tax rate depends on the province where the work is performed. For Quebec, QST also applies. The HST/GST must be remitted to CRA (or Revenu Quebec) based on the invoice date, not the payment date, which can create a cash flow gap.
What is the best software for accounting for progress billing in Canadian construction?
The best software for Canadian construction progress billing is one that handles job costing, provincial tax rates, and progress invoicing out of the box. Awditify is built for Canadian construction companies, offering AI-powered bank categorization, multi-tax support, auto-generated progress invoices with e-signatures, and real-time WIP reports. It eliminates the reliance on spreadsheets and manual calculations.
Can I use progress billing if my client holds back 10%?
Yes, but the holdback should be tracked separately. The portion held back is not collectible until the job is substantially complete, so it should not be recognized as revenue until then. However, CRA may still require you to remit HST on the full invoice amount. Check with your accountant about how to handle holdbacks in your specific province.
What to Do Next
Progress billing is a powerful tool for construction cash flow, but only if you support it with proper accounting. Without job costing and tax-aware invoicing, you risk misstated financials and penalties. The best next step is to evaluate your current workflow: Are you using spreadsheets? Are you guessing at WIP percentages? Is your tax remittance based on invoices or cash? If any answer is "yes" to the wrong side, it is time to look at a platform built for Canadian construction.
Awditify is designed to handle the full cycle - from bank feed categorization to progress billing with HST/GST, all the way to WIP reports and client collaboration. Book a demo to see how it works for a residential builder or a commercial general contractor. Your projects - and your accountant - will thank you.



Discussion
Comments