(437) 561-6272

CPA Quick Support — a licensed CPA on call from $99/month.

Get an instant quote
Who we help · Roofers · Accounting

Roofing company books built around deposits, draws and shingle prices.

A roofing job collects money three ways: a deposit before the crew shows up, progress draws on the bigger jobs, and a final invoice that can land weeks after the last shingle. Each one has different revenue and HST timing, and the price of materials can move between the quote and the install. We keep books for Ontario roofing contractors that get all three right, job by job.

Roofer installing shingles on a residential roof

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 quoteWhat the books need to show
Materials per squareSupplier invoices matched to the job, variance against quote flagged
Crew labourHours costed to the job with CPP, EI, vacation pay and WSIB loaded in
Disposal and bin rentalCharged to the job, not buried in overhead
Deposit collectedA liability until work starts, HST payable when applied
Progress drawsInvoiced 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.

Common questions

03
Do we charge HST when we collect a deposit?

Generally no. HST on a deposit becomes payable when the deposit is applied against the price, usually at invoicing, so the tax is accounted for then rather than on receipt.

Can you work with the software we already use?

Yes. Estimates and invoices from tools like Jobber flow into QuickBooks Online, and we reconcile them to deposits, draws and final payments so the job file and the books agree.

Do you track profit per job or just company totals?

Per job. Materials, costed labour, disposal and equipment time are coded to each roof, so you see quoted versus actual margin while the season is still on.

Keep exploring

03

Construction & Trades

Every construction & trades niche we work with.

Visit page

Roofer tax services

Crew classification and T5018 slips settled before the CRA asks.

Visit page

Landscaper accounting

Seasonal contracts and snow revenue booked in the right month.

Visit page

Books that keep pace with the season

A free 15-minute discovery call, no commitment. Walla replies within two business days, either way.

CPA Ontario
Client stories

Rated 5.0 on Google.

Instant quoteGet pricing in 2 minutes Call us(437) 561-6272