Snow Removal Pricing Calculator (Canada)

Price a Canadian snow contract in CAD three ways — per push, per centimetre-banded event, and a seasonal flat rate with the break-even event count that says when the flat fee stops paying.

Property & size
Property type

Square feet, the unit Canadian lots and driveways are still quoted in.

Units
Crew & equipment (CAD)

Your loaded rate, in Canadian dollars.

Derived from area in commercial 'From area' mode.

Snowfall triggers (centimetres)

One billable pass per trigger's worth of accumulation. Toronto starts plowing arterial roads at 5 cm and sidewalks at 2 cm.

Width of each step in the per-event schedule (5 cm gives 5-10, 10-15, 15-20…).

Accumulation in the snowfall you are quoting.

De-icing / salting

Counted separately from plow events — freeze-thaw days need salt with no plowable snow.

Overhead & margin

Applied to direct cost on every visit.

Margin, not markup — the price is cost ÷ (1 − margin).

Season (November–April)

Your own count from past winters.

What you add to a flat seasonal fee for carrying the volume risk.

Winnipeg's own program runs November to April — six months.

GST / HST

Only rates read from the government that sets them ship as presets.

Under the Excise Tax Act small-supplier test you are not required to register until worldwide taxable supplies pass $30,000 across four consecutive calendar quarters. Untick the box and no tax line appears.

Price per push (CAD, before tax)

Enter a labour rate, hours and a target margin to price the job.

Export
How this is calculated

Cost-plus, per visit, then rolled up three ways. A plow push and a de-icing run are costed as separate visits, priced at the same target margin, and then combined into a per-event price, a centimetre band schedule and a seasonal flat rate with its break-even count.

hours (commercial, from area):
  hours = (area ÷ 43,560) ÷ productivityAcresPerHr

per visit (plow push, and again for a de-icing run):
  labour   = labourRate × crew × hours
  material = saltKg × costPerKg          (de-icing run only)
  direct   = labour + material + equipment
  overhead = direct × overheadPct
  cost     = direct + overhead
  price    = cost ÷ (1 − marginPct)      ← margin by DIVISION

per event (centimetres):
  passes     = depth < trigger ? 0 : ceil(depth ÷ trigger)
  eventPrice = passes × pricePerPush
  band row   = priced at the band's UPPER bound

seasonal flat rate:
  base    = expectedEvents × eventPrice + saltRuns × pricePerSaltRun
  fee     = base × (1 + riskPremium)
  breakEven = (fee − saltRevenue) ÷ eventPrice
  monthly   = fee ÷ seasonMonths

season scenario at N events:
  cost   = N × passes × costPerPush + saltRuns × costPerSaltRun
  margin = (fee − cost) ÷ fee

tax:
  tax = price × rate          (added on top; 0 when not registered)

Passes are a ceiling, not a rounding. Twelve centimetres on a 5 cm trigger is three passes, not two: you clear at 5, again at 10, and the last two centimetres still have to come off before the event is closed out. The US parent tool rounds, because it surcharges per inch above a trigger rather than counting passes — a different billing shape.

De-icing runs do not scale with plow events. The light and heavy scenarios vary plow events and hold de-icing runs constant, because a freeze-thaw morning needs salt with no plowable accumulation. Scaling them together would flatter the light-season number.

The tax rate never touches the margin maths. GST/HST is computed on the finished price and shown as its own line, the way a Canadian invoice reads. The margin readout always measures the pre-tax price against your costs.

Sources: City of Toronto (published centimetre plow thresholds), City of Winnipeg (November-to-April program window), Government of Ontario (HST 13%), Excise Tax Act s. 148 (the $30,000 small-supplier test).

Why this is a separate page, not the US calculator in Canadian dollars

The US snow removal pricing calculator prices the same trade against a different set of facts, and changing the dollar sign would not get you here. Four things are structurally different, and each one changes an input or an output rather than a label.

Depth is centimetres end to end, with no inch branch anywhere in the maths. The event schedule is a stepped centimetre band table — 5–10 cm, 10–15 cm, 15–20 cm — rather than a per-inch surcharge above a trigger. The season assumption is longer: the City of Winnipeg states plainly that its own snow clearing and ice control program typically runs from November until April, which is six months of standby, not four. And the seasonal flat rate is treated as what it is — a transfer of volume risk — with a break-even event count and a light / typical / heavy read that the US page has no field for.

Area stays in square feet. Canada runs a hybrid unit system, and lots and driveways are still quoted in square feet even while the snowfall on them is measured in centimetres. Converting the area would have made the page feel foreign in the other direction.

Centimetres, and the number your client has already seen

Your trigger is the most negotiated line in a snow contract, and it is the one place where a Canadian operator has a published benchmark to argue from.

The City of Toronto states its own winter service levels in centimetres: plowing begins at 2.5 cm on expressways and is completed within two hours; at 5 cm on arterial roads, within six to eight hours; and at 8 cm on collector and local roads, within eight and fourteen hours respectively. Sidewalks and cycling infrastructure are salted and plowed from 2 cm, within twelve and eight hours. Salting starts when snow first accumulates.

That is not your service standard — a municipality clearing arterials is not a contractor clearing a plaza — but it is the number your commercial client’s property manager has read, and it is why the trigger field on this page defaults to 5 cm rather than to two inches. If you intend to hold a tighter window than the city holds on a road of the same class, that is a real selling point, and it belongs in the quote in the same unit.

Three ways to bill the same winter

The calculator prices one cost build-up and then rolls it up three ways, so the choice between billing models is a decision rather than a default.

Per push is the base: labour, equipment and fuel for one visit, marked up by overhead, then divided up to your target margin. Per event multiplies that by the passes an event’s accumulation implies and prints the band schedule you can paste straight into a rate sheet — each band priced at its upper bound, because that is the worst case a signature on that band commits you to. Seasonal takes the expected event count, adds the de-icing runs, and applies whatever risk premium you are charging for guaranteeing a price against a winter nobody has seen yet.

Margin is a division at every step. The price is cost ÷ (1 − margin), never cost × (1 + margin), because the naive markup under-prices every visit of the season and the error compounds across a six-month term. If that distinction is the part that trips you up, the markup vs margin converter settles it on one screen.

The break-even line is the whole point of the seasonal model

A seasonal flat rate is a bet, and the calculator makes you look at the odds before you sign.

The break-even count is the seasonal fee, less the de-icing revenue that fee also covers, divided by the price of one typical event. Below that many events the client has paid for snow that never arrived. Above it, you are plowing for free. The light / typical / heavy table underneath prices out all three winters against the same fee and reports the margin you actually realize in each — including the event count where the margin turns negative, which is the number worth knowing before a February that will not stop.

One deliberate modelling choice: de-icing runs are held constant across the three scenarios. Freeze-thaw and ice mornings need a salt run with no plowable accumulation at all, so scaling them with plow events would have flattered the light season and understated a mild, icy winter. That is also why de-icing is priced as its own visit on this page — its own crew hours, its own material in kilograms, its own count for the season — rather than being folded into the plow price. If you want to size the material line before you cost it, the de-icing salt calculator does the coverage arithmetic, and the equipment cost per hour calculator is where the per-visit machine number comes from if you have never worked it out.

GST/HST is a line, not a headline

Canada quotes before tax and shows the tax separately, which is the opposite of how the Australian and British versions of this page have to work. So the calculator headlines the pre-tax price, prints the tax as its own line, and keeps the tax rate entirely out of the margin arithmetic — the tax was never yours, and counting it as revenue is the fastest way to make a season look better on paper than it did in the bank.

Registration follows the Excise Tax Act. Section 148 treats you as a small supplier while your worldwide taxable supplies stay at or under $30,000 across the four immediately preceding calendar quarters, with a $50,000 threshold for a public service body; exceeding $30,000 within a single quarter ends the status inside that quarter. Under it, untick the box and the quote carries no tax line at all.

Over it, the rate is wherever you work. Ontario’s HST is 13% — five points federal, eight provincial, administered and collected by the Canada Revenue Agency — and that is one of the two presets on the page, alongside the 5% federal GST on its own. There is no thirteen-jurisdiction dropdown here on purpose. The provinces that run a separate provincial tax alongside the federal one — British Columbia’s PST is 7% on taxable goods, software and services acquired in the province — decide for themselves which services are caught, and this site does not assert a rate on a service it has not read from the government that sets it. Pick “other” and type your own.

No Canadian benchmark ships in this tool

Search for what snow removal costs in Ontario and the ranges arrive quickly. Follow them and they resolve to marketplace listings and contractor blogs quoting each other — no regulator, no trade association, no published survey. Under this site’s cite-or-omit rule none of them ship here, and every dollar field on the page starts at zero.

The two numbers that are pre-filled are the ones with a government behind them: the 5 cm trigger, from Toronto’s published arterial threshold, and the six-month billing period, from Winnipeg’s stated November-to-April program window. Everything else waits for you.

What this page deliberately leaves to the contract

Pricing is not paperwork. Ontario’s Occupiers’ Liability Act carries a 60-day written notice regime for snow-and-ice injury claims, added by the Occupiers’ Liability Amendment Act, 2020, and it names the independent contractor employed to remove snow or ice among the people who can be served — which is why Canadian operators keep per-visit service logs with dates, times and material used, and why a per-push or per-event log is worth more than a seasonal invoice when something goes wrong. That regime, the certificate-of-insurance expectations commercial clients bring, and the WSIB and clearance-certificate mechanics all live in the companion guide, snow contracts in Ontario and the Prairies, and none of it is legal advice — it is a description of published law, and your own lawyer and insurer should see any agreement before it is signed. For what to actually buy and carry, snow removal business insurance in Canada covers the coverage side this page prices around but does not sell.

When the number is settled, the Canadian snow removal contract template is where it lands next, built on the same cm triggers and GST/HST this page uses. And if the client wants the seasonal fee spread across the term rather than paid up front, the annual contract monthly payment calculator handles instalment structures the six-month field here only approximates. Before the first plowable event, the same truck usually has one more stop to price: the fall eavestrough clean before freeze-up runs on the same GST/HST and provincial tax logic as this page.

Frequently asked questions

Why are the triggers in centimetres instead of inches?
Because that is the unit the contract, the forecast and the municipality all use. The City of Toronto publishes its own service levels as centimetre thresholds — plowing starts at 2.5 cm on expressways, 5 cm on arterials, and 8 cm on collector and local roads, with sidewalks and cycling infrastructure cleared at 2 cm — and a commercial client reading a response clause is comparing your number to those. A trigger written in inches makes a Canadian quote read as though it was drafted somewhere else, and it invites a rounding argument the first time an event lands near the line.
How does the tool decide how many passes an event needs?
It ceilings the accumulation against your trigger: passes = ceil(depth ÷ trigger), and nothing is billable below the trigger. A 12 cm event on a 5 cm trigger is three passes — you clear at 5, again at 10, and the last two centimetres still have to come off before the event is closed out. The US parent calculator rounds instead, because it surcharges per inch above a trigger rather than counting passes. Different billing shape, different arithmetic.
What does the break-even event count actually tell me?
How many typical events your seasonal flat fee is worth, once the de-icing that fee also covers has been taken back out. Below that count the client has paid for snow that never fell; above it you are working past the fee. Neither is a mistake — a seasonal contract is a deliberate transfer of volume risk — but the number is what turns it into a decision instead of a hope. The light / typical / heavy table underneath it shows the margin you actually realize at each event count, including the point where it goes negative.
Why does the calculator not print a Canadian per-push or per-season range?
Because no regulator, trade body or published survey stands behind one. Ranges for Ontario and Calgary circulate widely, but they resolve to marketplace listings and contractor blogs citing one another, and this site does not print money figures it cannot trace to the body that published them. So every dollar field starts at zero. The only pre-filled numbers on the page are the 5 cm trigger, anchored to Toronto's published arterial threshold, and the six-month season, anchored to Winnipeg's own November-to-April program window.
Do I have to charge GST or HST on snow removal?
Only once you are registered. Section 148 of the Excise Tax Act treats you as a small supplier while your worldwide taxable supplies stay at or under $30,000 across the four preceding calendar quarters — and exceeding $30,000 inside a single quarter ends that status immediately. Untick the box and no tax line appears anywhere in the quote. Registered, the rate is the one that applies where you work: Ontario's HST is 13%, five points of it federal and eight provincial. Provinces running a separate PST or QST alongside the federal GST have their own rules about which services are caught, so this tool asks for your rate rather than guessing it.

Sources

  1. Levels of snow clearing service — plowing begins at 2.5 cm on expressways (2 hours to complete), 5 cm on arterials (6-8 hours), 8 cm on collectors (8 hours) and 8 cm on local roads (14 hours); sidewalks and cycling infrastructure are cleared at 2 cm within 12 and 8 hours; salting begins when snow first accumulates. City of Toronto. Retrieved .
  2. Snow clearing & ice control — "Our snow clearing and ice control program typically runs from November until April"; streets are cleared on a Priority 1 / 2 / 3 basis. City of Winnipeg. Retrieved .
  3. Excise Tax Act, R.S.C. 1985, c. E-15, s. 148 — a person is a small supplier where the consideration for worldwide taxable supplies in the four calendar quarters immediately preceding the quarter does not exceed $30,000 ($50,000 for a public service body); exceeding the threshold within a single quarter ends the status. Justice Laws Website, Government of Canada. Retrieved .
  4. Harmonized Sales Tax (HST) — Ontario's HST is 13%, made up of a 5% federal portion and an 8% provincial portion, administered and collected by the Canada Revenue Agency; page updated 2 January 2026. Government of Ontario. Retrieved .
  5. Provincial sales tax (PST) — the general PST rate in British Columbia is 7%, applying when taxable goods, software or services are acquired in B.C.. Province of British Columbia. Retrieved .
  6. Bill 118, Occupiers' Liability Amendment Act, 2020 (S.O. 2020, c. 33; Royal Assent 8 December 2020) — new s. 6.1 bars an action for personal injury caused by snow or ice unless written notice is served within 60 days, and names an independent contractor employed by the occupier to remove snow or ice among the persons who may be served. Legislative Assembly of Ontario. Retrieved .

Get early access

Fieldwynn is the field-first app we are building for small crews — simple in the truck, powerful in the back office. It is not out yet; join the early-access list and be first when it launches for your trade.