How to price a renovation job without losing money on it

A pricing framework for renovation and construction contractors - labour, materials, overhead, and margin. Know your floor before you quote.

5 min read

Most contractors lose money on jobs they should have made money on. Not because the work was bad. Because the price was set on gut feel, a line item got missed, and the gap only showed up when the job was already finished and the invoice didn’t cover what it cost to run.

This is a pricing problem, not a work-quality problem. And it’s fixable before the job starts, not after.

Why underpricing happens even to experienced contractors

The instinct is to price competitively to win the job. In practice, “competitive” usually means underestimating and underestimating means working part of the job for free.

Three places margin quietly disappears:

Materials are estimated, not calculated. A tiling job isn’t just tile. It’s tile, adhesive, grout, backer board, cutting waste, and disposal. In a market like Canada, a 20 sqm bathroom tiling job can run CA$1,800–2,600 in materials once everything is counted properly – contractors who price from memory instead of a full list routinely lose 8-12% of that before the job even starts.

Labour is quoted per day, not per hour. A two-day job that runs to three because of a hidden issue is a job where day three is unpaid. Build contingency into the quote, not into your patience.

Overhead is invisible. Vehicle, fuel, tools, insurance, phone, admin time – all of it is part of the real cost of doing the job. If it’s not in the quote, the margin is quietly paying for it instead.

The three numbers every contractor needs before quoting anything

Before a single quote goes out, three numbers need to be settled:

  1. Minimum hourly rate. Target annual income, plus overhead costs, divided by billable hours per year (typically 1,200–1,400 for a solo operator). That’s the floor. Every job has to clear it.
  2. Material margin. The contractor carries the risk on materials – price changes, over-ordering, damage. A 10-15% margin on materials isn’t padding, it’s risk coverage.
  3. Target profit margin per job. Gross margin for renovation and construction trades typically lands in the 20-30% range. Consistently under that is a signal something upstream in the pricing process is broken, not that the market is just tight.

A quoting framework that holds up on every job

Six lines, every quote:

  • Labour. Hours × hourly rate, broken down by stage on multi-day jobs.
  • Materials. Full itemized list, not a round number. Cost price plus 10-15% margin.
  • Subcontractors. Any outside work, plus 10-15% coordination margin.
  • Overhead allocation. A fixed percentage (typically 15-20%) applied to labour.
  • Contingency. 5-10% on complex or first-time jobs. Drop it once the job type is familiar.
  • Profit margin. 20-30% applied to the total of everything above.

That number is the floor. Discounting from there for a good client or a job that fits the schedule is a choice. But it’s a choice made with the real number in hand, not a guess.

What does a profitable renovation quote actually look like?

A profitable quote separates every cost driver instead of bundling them into one number. Labour, materials, subcontractors, overhead, contingency, and margin each get their own line, so if a job underperforms, it’s obvious which line was wrong, not just that “the job didn’t work out.”

Two details get missed most often: a change order clause, and an expiry date on the quote. Without a change order clause, every scope addition turns into an argument about who eats the cost. Without an expiry date, a contractor is bound to material pricing that may have moved 5-10% by the time the client signs – which, on a CA$15,000 job, is real money.

The pricing mistakes worth fixing this week

  • Quoting the same day as the site visit, off memory, instead of checking current material prices.
  • Treating a first-time job in an unfamiliar space the same as the tenth job of that type. Complexity has a cost, price it.
  • Discounting to win the job before knowing the floor. Know the minimum, then decide whether to move off it.
  • Skipping the deposit. A 30% deposit before materials are ordered isn’t pushy. It’s how the job gets bankrolled without the contractor floating the client’s project.

The real fix is closing the loop between quotes and actual costs

Pricing accurately isn’t about charging more. It’s about knowing the real cost of a job before starting it, and making sure the number reflects that, not adjusting it after the fact when the invoice doesn’t add up.

The gap most contractors have isn’t judgment, it’s feedback. A quote goes out on a PDF, the job happens, the invoice gets paid, and the actual numbers – hours worked, materials used, what changed mid-job disappear into email instead of feeding the next quote. Nothing gets more accurate over time because nothing is being tracked.

A system that connects quotes to actual job costs closes that loop. When a quote for a bathroom tiling job is linked to what the job actually took – hours, materials, change orders the next similar quote starts from real data instead of memory.

Duuabl’s AI quoting builds a quote from site photos and voice notes, flags when a job is priced below your trade average, and keeps the real numbers visible before the quote goes out. It’s one piece of a wider gap — most contractors are running this on top of five or six disconnected tools, which is its own source of lost margin.

The pricing gap and the cash flow gap are usually the same problem wearing two names – if quotes are underpriced, getting paid on time doesn’t fix the underlying math, it just delays when the shortfall shows up.

See how AI quoting works →

Join the waitlist

Be first in.
Be part of the first cohort.

We're building with the first cohort, not for them. If you're a contractor who wants tools that actually fit how construction works, this is for you.

No credit card. No commitment.

Job Pipeline This week
New
Kitchen reno - Singh
Mississauga · Tiling
C$8,200
Deck rebuild - Tremblay
Etobicoke · Carpentry
C$4,600
Quoted
Bathroom refit - Chen
North York · Plumbing
C$5,100
In Progress
Basement finish - Park
Scarborough · General
C$14,800
Panel upgrade - Okafor
Brampton · Electrical
C$3,200
Complete
Roof repair - Williams
Hamilton · Roofing
C$6,500