How to Quote a Plumbing Job in Ontario (2026)
Most plumbers in Ontario lose money on at least one in five jobs they quote. Not because they are bad at plumbing. Because they guess the price instead of building it.
Learning how to quote a plumbing job properly is the difference between a $40K year and a $90K year doing the same volume of work. This guide walks through the exact formula, the Ontario-specific costs you cannot skip, and the three mistakes that quietly kill margin.
The formula every profitable plumber uses
There are only four numbers in a real plumbing quote:
Price = (Labour + Materials + Overhead) ÷ (1 - Profit Margin)
That is it. Every other approach (gut-feel pricing, matching what the last guy charged, "I will eat the difference") is how you end up working 60-hour weeks and wondering where the money went.
Let us break each piece down.
Step 1: Calculate your true hourly labour cost
Your labour cost is not your hourly wage. It is what one billable hour actually costs your business.
A journeyman plumber in Toronto earns about $37.85/hour in straight wages, with the Ontario range running $20 to $50 depending on experience and certification (PayScale 2026). But the loaded cost is higher. You add:
- CPP and EI employer contributions (about 7.5% combined)
- WSIB premiums (rate group 707 for plumbing, varies)
- Vacation pay (4% minimum in Ontario)
- Vehicle, fuel, phone, tools the plumber uses
- Non-billable time (driving, parts pickup, paperwork)
A fair rule: take the wage and add 25-35% to get true hourly cost. A $40/hour plumber actually costs you $50 to $54 an hour to put on a job. Use that number, not the wage.
Step 2: Materials at cost, plus markup
List every material the job needs. Pipe, fittings, valves, fixtures, sealant, anything that gets installed or consumed. Add HST.
Then mark it up. The industry standard for plumbing materials is 40% to 60% (Housecall Pro 2026 guide). Most Ontario plumbers cluster around 50%.
Why mark up materials at all? Because you paid for the truck to fetch them, the supplier account, the storage, and the warranty risk if a fitting fails. The customer is not paying for the part. They are paying for the part delivered, installed, and guaranteed.
If you charge cost on materials, you are subsidising your customer with your overhead.
Step 3: Allocate your overhead per hour
Overhead is everything the business pays even when no work is happening. Insurance, truck payments, fuel, phone, software, accountant, advertising, licence renewals, your own admin time on Sunday night.
Add it all up for a typical month. Then divide by your billable hours that month. Not total hours worked. Billable hours, the ones you actually invoice.
Example: $4,000/month overhead, 100 billable hours = $40/hour overhead allocation.
Most solo plumbers in Ontario sit between $25 and $50 per billable hour in overhead. If you have never calculated yours, you are almost certainly under-charging.
Step 4: Apply your profit margin (the right way)
Here is the trap that gets most contractors. They take their cost and add a percentage on top.
Wrong. That is mark-up, not margin. A 25% mark-up gives you a 20% margin. A 25% margin requires a 33% mark-up.
Use this formula:
Price = Cost ÷ (1 - Margin)
For a 25% net profit margin: Price = Cost ÷ 0.75
Target margins for residential plumbing in Ontario:
| Margin Type | Target Range |
|---|---|
| Gross margin | 45-65% |
| Net profit margin | 15-25% |
If you are below 15% net, you are running a job, not a business.
Worked example: residential kitchen sink replacement
Let us price a real job. Customer wants a new kitchen sink, faucet, drain, and supply lines installed. Old sink removed and disposed.
Labour: 3 hours × $52/hour true cost = $156
Materials:
- Sink (customer-supplied? if yes, $0. If you supply: $280 + 50% markup = $420)
- Faucet: $180 + 50% = $270
- Drain assembly, P-trap, supply lines, sealant: $65 + 50% = $98
- HST included in supplier cost
- Materials total (you supplying): $788
Overhead: 3 hours × $40/hour = $120
Subtotal cost: $156 + $788 + $120 = $1,064
Apply 25% margin: $1,064 ÷ 0.75 = $1,419 + HST
That is a profitable quote. If you priced it at $900 because "the last one was around there", you would lose $164 before HST. Do that twice a week and the year is over.
Ontario-specific costs you cannot skip
Plumbing permits
Most work that adds, moves, or replaces fixtures requires a permit. In Toronto, a basic plumbing permit covers up to five fixtures and starts at $205, with $16 per additional fixture (City of Toronto).
Other common ones:
- Backwater valve permit: $121
- Water service replacement: $245
Quote the permit as a line item. Do not bury it in labour. Customers who push back on permit fees are customers you do not want.
WSIB clearance
General contractors and homeowners are increasingly asking for a WSIB clearance certificate before they pay. If you do not have one, build it into your year-one plan. Read our WSIB clearance certificate guide for the full process.
Regulated trade rules
Gas-fitting, drain layer work, and water service replacement are regulated. Make sure your TSSA or municipal certifications are current before you quote work that requires them. Quoting work you cannot legally perform is how you end up paying a sub at full retail.
Three mistakes that quietly kill margin
1. Quoting before you have seen the job. Phone quotes for anything beyond a faucet swap are a coin flip. Charge a small assessment fee ($75-$120) and roll it into the quote if they accept.
2. Forgetting non-billable time. Driving to the supplier, calling the customer back, writing the invoice. If you bill 4 hours but the job ate 6 hours of your day, you are losing 33% before materials.
3. Quoting in conversation, never in writing. A verbal quote is not a quote. It is a wish. Always send a written quote with line items: labour hours, materials, permits, taxes, total. Use a proper contractor invoice template for the same structure on billing.
Always quote in writing
A written, itemised quote protects you legally and forces you to think through every cost before you commit. Phone quotes are how you end up arguing about scope at the end of the job.
Minimum every quote should include:
- Scope of work (what you will and will not do)
- Labour hours and rate
- Materials list with totals
- Permits and disposal fees
- HST shown separately
- Payment terms (deposit, final payment due on completion)
- Validity period (30 days is standard)
- Your business name, address, WSIB number, licence number
Most plumbers know they should price this way. Few actually do. The ones who do work less and earn more.
See where your business stands: grizzli.app/score