Pricing & margin

Hourly vs fixed price: which one should you quote?

The same job under both models, with the breakeven point calculated — and the third option most contractors never offer.

Jul 20, 2026·9 min read·The MeloDocs team

This is not a philosophical question, it is a risk-transfer question. Hourly means the client carries the risk that the job takes longer than expected. Fixed means you carry it. Everything else — which one clients prefer, which one is more professional, which one makes more money — follows from that single sentence.

So the right answer changes job by job, and a shop that quotes everything the same way is systematically wrong about half the time.

The same job, both ways

A three-day interior carpentry job. You estimate 24 hours at $95, which is $2,280. Quoted fixed, you would price it at $2,600 — the extra $320 is the premium for carrying the schedule risk, and it should be explicit in your own head even if it is invisible on the document.

ACTUAL HOURSHOURLY AT 95FIXED AT 2,600WHO WON
18 hr1,710.002,600.00You, by 890.00
24 hr — as estimated2,280.002,600.00You, by 320.00
27.4 hr — breakeven2,603.002,600.00Neither
32 hr3,040.002,600.00Client, by 440.00
40 hr3,800.002,600.00Client, by 1,200.00

The breakeven is $2,600 ÷ $95 = 27.4 hours. Every hour under that, the fixed price paid you more than hourly would have; every hour over, it paid you less. That number is the entire decision, and it takes ten seconds to calculate before you choose a model.

Now the question that matters: how confident are you that this job lands under 27.4 hours? If your honest answer is “very”, quote fixed. If your honest answer is “it depends what is behind that wall”, quoting fixed is buying a lottery ticket you wrote yourself.

Quote fixed when you can see the whole job

Fixed price is right when the scope is measurable and you have done this shape of work often enough to have real data on how long it takes. Most repeat residential work qualifies: a repaint, a floor refinish, a deck of known dimensions, a standard changeout.

FIXED WINS WHEN
The scope is fully visibleYou have done it twenty timesThe client is comparing bidsSpeed is your advantage
FIXED HURTS WHEN
Anything is hidden behind a surfaceThe client keeps changing their mindMaterials lead times are unstableYou have never done this exact thing

The commercial argument for fixed is strong and often overlooked: it is the only model that rewards you for being good. If you have spent ten years getting fast, hourly billing quietly confiscates that advantage and hands it to the client. A fixed price lets efficiency show up in your margin, which is where it belongs.

Quote hourly when the scope genuinely cannot be seen

Diagnostic work. Repairs behind finished surfaces. Anything on a building old enough that “we will find out” is an honest answer. Restoration, troubleshooting, and the first day of almost any water-damage job.

Hourly quoting has two requirements that most shops skip, and skipping them is why hourly has a bad reputation with clients.

IF YOU BILL HOURLY
01State the rate, the minimum, and what counts as billable
02Say whether travel and material runs are billed
03Give an estimated range anyway — “likely 20 to 26 hours”
04Report hours as you go, not in a lump at the end
05Name a point at which you will stop and re-quote

That third one is the important one. Clients do not object to hourly billing; they object to open-ended hourly billing. An estimated range with an explanation costs you nothing legally — it is an estimate, not a quote — and it removes the single objection that loses the job.

The third option almost nobody offers

Time and materials with a not-to-exceed cap. You bill hourly for the hours actually worked, and you guarantee the total will not exceed a stated figure — on our job, say $2,900.

ACTUAL HOURSHOURLYT&M WITH 2,900 CAPCLIENT PAYS
18 hr1,710.001,710.001,710.00
24 hr2,280.002,280.002,280.00
30 hr2,850.002,850.002,850.00
36 hr3,420.00capped2,900.00

The client gets the upside if it goes quickly and a ceiling if it does not, which is precisely the offer a nervous homeowner is looking for. You give up the windfall on a fast job and keep the risk on a slow one — so the cap has to sit above your fixed price, not at it.

Used well this wins the job that hourly loses on fear and fixed loses on price. Used badly — a cap set at your estimate — it is a fixed price with all the downside and none of the upside.

Split the job at the uncertainty line

The most useful move in the whole discussion: stop quoting the job as one thing. Quote the known part fixed and the unknown part hourly, on the same document.

“Demolition and investigation: time and materials, estimated 6–9 hours at $95. Once the wall is open we will give you a fixed price for the repair before any repair work begins.” The client understands it immediately, because it maps to how the job actually works, and you have stopped pricing a risk you cannot see.

Fixed price is a bet on your own estimating, so measure it

Quoting fixed without tracking your estimate against your actual hours is gambling with extra steps. The fix is one number recorded per job — hours estimated, hours actual — and after twenty jobs you know something about yourself that no amount of instinct provides.

JOB TYPEEST HOURSACTUALVARIANCE
Interior door hang, standard3.03.2+7%
Deck rebuild, 200 sq ft38.041.5+9%
Trim package, whole floor26.034.0+31%
Cabinet install, 14 boxes18.017.0−6%
Repair, water damage, unknown12.023.5+96%

Read that table the way it should be read: the first four rows are estimable and the last one is not. A shop with this data quotes the first four fixed, quotes the fifth hourly, and stops losing money on a category it was never going to get right.

The trim row is the interesting one. A consistent +31% is not a risk, it is a calibration error — the estimate is wrong the same way every time, so the fix is to raise the estimate rather than to change the pricing model. Most estimators discover one or two categories like this and correcting them is worth more than any pricing strategy.

What the client actually hears

The two models sound very different to somebody who does not build things for a living, and understanding what they hear is most of the sales conversation.

THEY HEAR FIXED AS
Safe — I know the numberProfessional — they have done this beforePossibly padded — what if it is quick?Final — so changes will be a fight
THEY HEAR HOURLY AS
Open-ended — where does this stop?Fair — I pay for what I getRisky — I cannot budget for itSlow — are they incentivised to dawdle?

The right-hand column's last line is the objection nobody says out loud and everybody thinks. Address it directly and it evaporates: “I bill hourly on this because I genuinely cannot see the work yet. I will send you the hours at the end of each day, and if it is running past the range I gave you, you will hear it from me before it happens, not after.”

That promise costs a two-line message each evening and it converts the single most common reason clients refuse hourly work. It also happens to be how you would want to be treated in the same position.

Changes behave differently under each model

This is where a good pricing decision gets undone by bad paperwork. Under a fixed price, a change has to be priced and approved — the whole point is that the number was fixed for a defined scope. Under hourly, a change is just more hours, and that is precisely why hourly jobs drift.

A client on hourly can add work casually, because each addition feels like nothing — twenty minutes here, one more outlet there. Nobody is tracking the accumulation and the invoice at the end is a shock that nobody can point to a decision for.

KEEPING AN HOURLY JOB HONEST
01State the estimated range at the start, in hours and dollars
02Report hours daily, not weekly and never only at the end
03Flag when you cross 70% of the estimate — before the number is spent
04Re-quote in writing rather than continuing past the range
05Log added scope as it happens, even at fifteen minutes

The 70% flag is the highest-value habit in this article. It gives the client a decision point while they still have options, and it converts the end-of-job invoice from a surprise into the arithmetic of choices they made along the way.

Do not mix the two on the same line

A specific and common failure: a fixed-price quote with “additional work billed at $95/hr” at the bottom and no definition of which work is additional. Every hour the client did not expect to pay for becomes an argument about whether it was in the original scope, and neither party has anything to point at.

If a job has both models in it, split it into two clearly labelled sections with their own scopes, as in the demolition-then-repair example above. The client should be able to point at any hour of work and know, without asking, which section it came from and therefore how it is billed. If they cannot, the document is the problem, not the pricing model.

The fourth model: blocks of hours, bought up front

For repeat clients — property managers, landlords, businesses with a building to look after — neither hourly nor fixed fits well, because the work arrives as a stream of small unpredictable jobs and quoting each one costs more than doing several of them.

A block of hours solves it. The client buys ten or twenty hours in advance at a modest discount, you draw them down as work arrives, and you send a statement showing the balance. Nobody quotes a two-hour job ever again.

BLOCKRATEPRICEVS 95/HR
10 hours90.00900.00Saves 50.00
20 hours86.001,720.00Saves 180.00
40 hours82.003,280.00Saves 520.00

The discount is real but it is not the reason to do it. The reasons are cash in advance, a client who now has a balance with you and will call you first to use it, and the complete elimination of quoting overhead on small work — which on a two-hour job was consuming a meaningful share of the job's own value.

Three terms make it work: an expiry, so unused hours do not sit as an open liability for years; a statement after every visit, so the balance is never a surprise; and a clear rule for what happens when a job runs past the remaining balance — normally that it continues at the standard rate and is invoiced separately, stated before the work starts.

And whichever you choose, check the rate itself

An hourly rate is not a wage. It has to carry the unbillable half of the week — quoting, driving, chasing payment, the Saturday morning of paperwork — plus overhead and profit. Take your target annual income, add overhead, then divide by *billable* hours, not by 2,080.

A tradesperson billing 1,100 hours a year and dividing by 2,080 is undercharging by nearly half and will not find out from any single job. It shows up as a business that is busy every week and somehow never has money, which is the most common failure mode in this trade and almost always this arithmetic.

DIVIDED BY 2,080DIVIDED BY 1,100DIFFERENCE
Target income 85,00040.8777.27+89%
Plus overhead 34,00057.21108.18+89%
Plus 15% markup for profit65.79124.41+89%

Those two right-hand columns are the same business. One of them charges $65.79 an hour and works itself into the ground; the other charges $124.41 and takes a holiday. Nothing changed except which denominator was used, and nobody outside the business can tell you which one you are using.

So do the calculation once a year with last year's real numbers — actual billed hours from your invoices, actual overhead from your accounts — and then choose a pricing model knowing what an hour of your time has to be worth. Every other decision in this article depends on that one number being right.

Stop copying templates. Describe the job instead.

Try MeloDocs on a real job right now — or get one useful thing in your inbox every other Tuesday.

TRY THE TOOL
Write a quote in two minutes
No account, no card. Your first document exports to PDF.
Try it free →
EVERY OTHER TUESDAY
One useful thing, twice a month
A pricing idea, a scope clause, or a document you can copy.