Follow the money on one re-roof
Every roofing payment has to answer three questions in the books: is it earned yet, is HST due yet, and which job does it belong to. A residential re-roof usually collects a deposit at signing and the balance at completion. A commercial job or a large insurance claim pays in draws tied to stages. Treat all of that as income the day it hits the bank and your spring looks artificially rich while your fall looks broke.
A customer deposit is a liability, not revenue, until the crew earns it. HST follows the same logic: tax on a deposit generally becomes payable only when the deposit is applied against the invoice, not when the cheque clears. Recording deposits properly also protects you in the ugly scenarios, because a cancelled job with a forfeited deposit and a refunded one have very different tax answers.
Progress draws work differently. HST is payable on each draw when it is invoiced or becomes due under the contract, whichever comes first, so draw invoices need to go out on schedule and carry the tax. And if you sub on institutional or commercial work, statutory holdbacks change the timing again, a wrinkle we cover in depth on our general contractor pages.
The final invoice is where discipline pays. It carries 13% HST on the full contract price net of what the deposit already covered, it ages fast once the crew has left the driveway, and a receivables list reviewed weekly in season is what keeps October collections from becoming a January problem. When an account genuinely goes bad, writing it off properly also recovers the HST you remitted on it.
Shingle prices move after your quote ships
Materials volatility is the quiet margin killer in roofing. Asphalt shingle manufacturers push price increases mid-season, suppliers add surcharges, and a job quoted in March may be installed in July at a different cost per square. The quote is frozen; the books cannot be.
The fix is boring and effective: a purchase order for every job, supplier invoices captured through Dext and matched to the job in QuickBooks Online, and a variance line that compares quoted materials to actual, per job, while the season is running. Quote validity windows and escalation clauses are sales decisions, but you can only make them well if the books tell you which job types keep blowing their materials line.
| Line in the quote | What the books need to show |
|---|---|
| Materials per square | Supplier invoices matched to the job, variance against quote flagged |
| Crew labour | Hours costed to the job with CPP, EI, vacation pay and WSIB loaded in |
| Disposal and bin rental | Charged to the job, not buried in overhead |
| Deposit collected | A liability until work starts, HST payable when applied |
| Progress draws | Invoiced on schedule with 13% HST as each becomes due |
Crews, subs and slips in one system
Roofing payroll is weekly, seasonal and expensive to get wrong, because WSIB premiums in roofing's high-rate class are calculated on earnings you report. We run pay inside our End-to-End Accounting service, where bookkeeping, payroll, financial reporting and tax filing sit under one roof, so source deductions, ROEs at season's end and job-costed labour all come from the same records.
Subcontractor invoices get the same discipline. Each sub payment is coded so that year-end T5018 totals fall out of the books instead of being reconstructed from bank statements in February. The classification question, whether the people on your roof are employees or subcontractors at all, matters enough that we gave it its own page under tax services.
A rhythm shaped like your season
From April to November we close the books monthly: invoices from your CRM or Jobber reconciled to deposits, draw schedules checked against contracts, HST collected versus HST paid on materials tracked so the quarterly return is never a surprise. Winter is when the year-end file gets finished and the planning happens, while you can actually sit down.
Most GTA roofing companies we meet are owner-run with one or two crews, and not all of them need full monthly service. A one-crew operation that mostly needs a CPA on call, to sanity-check a quote structure or read a CRA letter, fits our CPA Quick Support subscription at $99 a month. Either way it starts with a free 15-minute call and a written quote, not an hourly meter.
Source: CRA — GST/HST for businesses.
