Construction Contractor Invoice Guide: Progress Billing & Holdbacks

Construction contractors face invoicing requirements unique to the trades: progress billing tied to project phases, statutory holdbacks governed by provincial lien legislation, and the need to separate materials from labour. This guide explains how to invoice correctly so you protect your lien rights and get paid without disputes.

Required Fields for Construction Invoices

A valid construction invoice in Canada must include:

  • Contractor's full legal name and business address
  • GST/HST registration number (required once you exceed $30,000 annual revenue)
  • Client name and project address — use the site address, not just the billing address
  • Sequential invoice number
  • Invoice date and due date
  • Description of work completed — reference the project phase or contract milestone
  • Separate line items for labour and materials
  • Holdback amount deducted (if applicable under provincial legislation)
  • GST/HST calculated on the invoice total before holdback
  • Payment terms and method

Progress Billing: How It Works

Construction projects are rarely paid in a single lump sum. Progress billing ties payment to the completion of defined phases of work. Common structures include:

Percentage of Completion

The contractor invoices based on the percentage of the total contract value completed. For example, if a $100,000 contract is 40% complete, the contractor invoices $40,000 (minus applicable holdback).

Milestone-Based Billing

Each invoice is tied to a specific deliverable: foundation complete, framing complete, drywall complete, etc. This requires a clear schedule of values in your original contract, specifying the dollar amount attributable to each milestone.

Time and Materials (Cost-Plus)

Commonly used for renovation work or contracts where the full scope is unknown. The contractor invoices for actual hours worked and materials purchased, usually with a markup for overhead and profit.

Holdbacks: What Every Contractor Must Know

Canadian construction lien legislation — such as Ontario's Construction Act — requires owners to hold back a statutory percentage of each progress payment. This holdback protects subcontractors and suppliers who have lien rights against the property.

  • The standard holdback rate is 10% in most provinces
  • The holdback is retained by the owner (or general contractor if you are a sub) until the lien period expires
  • Your invoice should show the gross amount, the holdback deducted, and the net amount due now
  • GST/HST is calculated on the gross amount, not the net after holdback
Important: Preserving your lien rights requires timely registration of a lien if you are not paid. Know the lien registration deadlines in your province — typically 45 to 60 days after the last day of work in most Canadian provinces.

Separating Labour and Materials

Always separate labour and materials on your invoices. This matters for three reasons:

  1. Client verification: Clients and general contractors want to see exactly what they are paying for
  2. Tax purposes: Some provinces apply PST differently to materials vs labour
  3. Dispute resolution: Itemised invoices are harder to dispute

List materials as individual line items where possible, or group them as "Materials — [project phase]" with a total. Attach a materials list or receipts for cost-plus contracts.

Sample Construction Progress Invoice

FieldExample Value
FromKowalski Framing Ltd.
[email protected] | Calgary, AB
GST Number876543210 RT0001
Invoice #INV-2026-014
Invoice DateMarch 5, 2026
Due DateMarch 19, 2026 (Net 14)
ProjectResidential Addition — 45 Maple Ave, Calgary AB
Bill ToBirchwood Homes Inc., 800 Crowchild Trail NW, Calgary AB
Framing Labour — Phase 2 (200 hrs @ $65/hr)$13,000.00
Lumber and structural materials$4,200.00
Hardware and fasteners$380.00
Gross Amount$17,580.00
Less: Statutory Holdback (10%)–$1,758.00
Net Amount Before Tax$15,822.00
GST (5%) on Gross Amount$879.00
Total Due Now$16,701.00
Holdback Due After Lien Period$1,758.00 + GST
PaymentEFT — Royal Bank, Transit 10203, Institution 003, Acct 9876543
Note: GST is calculated on the full gross amount ($17,580), not on the net after holdback. This is required under CRA rules — you remit GST on the full contract value as work is billed, regardless of holdback timing.

Common Construction Invoicing Mistakes

1. Not including the project site address

Always reference the specific project address. In lien disputes, the property address is what ties your invoice to lien rights against that land.

2. Calculating GST on the net amount after holdback

GST/HST must be calculated on the full contract amount before holdback. Undercharging GST is a CRA compliance issue you are responsible for correcting.

3. Lumping labour and materials together

Itemise labour and materials separately. Clients and general contractors use these figures for their own accounting and cost reporting. Lumped invoices are frequently returned for revision.

4. Not tracking holdback release dates

Follow up on holdback releases after the lien period expires. Many contractors leave holdback money uncollected simply because they forget to invoice for it.

Invoice Construction Clients Faster with InvoiceFast

Create progress invoices with holdback calculations, GST/HST, and itemised labour and materials. Built for Canadian contractors in the trades.

Try InvoiceFast Free