A full schedule feels like success. It isn't the same thing as a profitable one. Plenty of contractors are booked out for months and still can't say where the money went — because the quote was set once, at the start, and never checked against what the job actually cost to run.
Why "cost plus a bit" isn't a pricing strategy
Most quotes get built the same way: guess the materials, guess the days, multiply by a day rate, add a bit for luck. It works fine until lumber prices jump, a scope change the client "forgot" to mention, or a job that just runs long. Proper pricing starts from what a job genuinely costs — including the costs that don't show up until you're tracking them job by job — then adds a margin that's a deliberate decision, not whatever's left over.
The costs that get missed at quoting stage
- Waste and off-cuts — nobody uses 100% of what they buy. Pricing exactly to the board foot leaves no room for reality.
- Travel between sites — truck running costs add up fast across a spread-out schedule.
- Disposal and bin costs — easy to forget until the job's underway and there's nowhere to put the debris.
- Your own admin time — quoting, invoicing, chasing payment. It's real time, rarely priced in.
- A contingency line — not padding, just an honest allowance for older builds rarely going exactly to plan.
Quote in ranges where the job genuinely is uncertain
Fixed-price quoting works well for jobs you've done a hundred times. For anything with unknowns — what's behind that wall, what state that framing's really in — a fixed price either builds in so much contingency it's uncompetitive, or it's a guess that becomes an argument later. A day-rate-plus-materials structure, or a quote with an explicit "if we find X, it's extra" clause, protects margin without inflating every quote to cover a risk that might not happen.
Check the job against the quote while it's still running
The single biggest fix here isn't a smarter quoting formula — it's knowing, mid-job, whether you're tracking to the number you quoted. A job that's already 30% over on materials in week one is a job you can still have a conversation about. The same job discovered over-budget after invoicing is just a loss, with no window to act. Tagging every receipt and cost to the job as it happens is what makes that mid-job check possible — see our job costing guide for the full mechanics.
A rough worked example
Quote a fence and deck repair at $4,000, with $1,400 budgeted for lumber and hardware. If costs are tagged to the job as they're bought, by the halfway point you can see materials already sitting at $1,250 with half the job still to go — a clear early signal to flag before the job's finished, not a surprise discovered when the final invoice barely covers gas for the month.
Mistakes that quietly wreck a healthy margin
- Quoting from memory instead of last time's actual costs for a similar job.
- No contingency line on anything involving existing structure, wiring or plumbing.
- Never revisiting the quote once a job's underway, even when the scope visibly changes.
- Absorbing "small" extras for free to keep a client happy, without noticing how often "small" adds up.
- Pricing every job the same regardless of how well-understood the work actually is.
FAQ
Should I always quote fixed price?
Not for anything genuinely uncertain. A day-rate or "subject to inspection" structure protects margin better than an inflated fixed price that's uncompetitive, or an accurate-looking one that quietly assumes nothing goes wrong.
How much contingency should I add?
There's no universal number — it depends on the trade and the job. The habit that matters more than the exact percentage is checking actual cost against quote while the job's still running, so a thin contingency gets caught early rather than discovered as a loss.
Does this replace proper job costing?
No — it depends on it. Pricing decisions are only as good as the real cost data feeding them. Track job costs properly first; better pricing follows from actually knowing what jobs cost, not the other way round.