How-to guide · Pricing

Fixed fee vs hourly pricing: how to price a project without guessing

Hourly protects you when the scope is fuzzy or the work is ongoing; a fixed fee wins when the deliverable is well-defined and you have done it before. Either way, the number comes from the same place: your hourly rate multiplied by honest hours — plus, on a fixed fee, a buffer for the risk you absorb. A fixed quote is not a different kind of maths; it is your hourly maths with the estimation risk priced in. This guide shows how to build it and how to protect a fixed fee from scope creep.

What each model really sells

Hourly sells time. The client pays for the hours worked. If the job takes longer, the client pays more — the estimation risk sits with the client, which is the honest arrangement for work nobody can size in advance. Its cost: an open-ended bill for the client, and a quiet flaw for you — efficiency is punished. Finish in 20 hours what you estimated at 30 and you earn a third less for doing the job well.

Fixed sells an outcome. The client pays for a defined deliverable at an agreed price. If the job takes longer, you absorb it — the estimation risk sits with you. That buys the client budget certainty and rewards your efficiency: finish faster and the effective rate rises. Its cost is yours: a bad estimate is your loss, not the client's problem.

Neither model is "fairer" in the abstract: fairness is matching who carries the risk to who can control it. A fixed fee stays fair only if the scope is written down and additions are priced; hourly stays fair only if the client sees the hours accumulating.

When hourly is right

The scope is not defined yet. Discovery, audits, troubleshooting, early-stage work where the deliverable cannot be written down — hourly is the honest model, because any fixed number would be a guess. The work is ongoing. Retainers, support and maintenance have no finish line to fix a fee against. It is a new kind of project for you. Your first job of a type is where estimates are least reliable; hourly keeps that risk with the client while you learn what the work takes. The client directs the work. When they decide day by day what you do next, they are buying your time — charge for time. And when ongoing work like this settles into a monthly pattern, package it properly: our guide to freelance retainers covers the structures, the pricing and the rollover rules that keep one healthy.

Hourly needs guardrails. Give an expected-hours estimate, set a check-in point — "I will flag it if we pass 20 hours without being near done" — and update the client as hours accumulate. Hourly without updates drifts into the one argument the model is famous for: the surprise invoice.

When fixed is right

The deliverable is repeatable. You have built this website, designed this brochure, written this kind of report before, and your past jobs tell you what it takes. The service is productised. A fixed package — same scope, same price, sold repeatedly — can only be priced fixed. The client needs budget certainty. Many clients cannot approve an open-ended commitment at any price, but can approve a number. A fixed quote is often what makes the job exist at all.

The test is one paragraph: can you write the deliverable down, in full, and have you done something close before? If not, a fixed quote is a guess wearing a suit — price hourly, or sell a small paid discovery first and quote the main job from what it tells you.

How to turn your rate into a fixed quote

Six steps. Break the job into parts. Estimate each part's hours — from your last similar job, not your fastest day. Multiply by your hourly rate (if you don't have one yet, work it out with the freelance hourly rate calculator first — a fixed quote built on a guessed rate is a guess twice over). Add a risk buffer scaled to repeatability: around 10% for work you have done many times, 20% for familiar-but-not-identical work, up to 30% for new territory. Add expenses. Round to a clean figure. Here is the method on one fictional job: a web designer, Priya, quoting a five-page website for a bakery, Willow & Oak, at $90 an hour.

Part of the jobHonest hoursAt $90/hr
Discovery and content planning4$360
Homepage design6$540
Four inner pages8$720
Build, responsive polish and testing6$540
Two revision rounds (included)4$360
Launch and handover2$180
Labour: 30 hours30$2,700
Risk buffer at 20% (familiar job, new client)$540
Expenses: stock photos $60, domain and hosting setup $40$100
Total, rounded to a clean figure$3,350

Read the buffer the way Priya does: at 20%, it covers the job running to 36 hours — six extra hours already paid for, turning a modest overrun from a loss into a normal week. The same job billed hourly at exactly 30 hours would come to $2,700 plus the $100 of expenses — $2,800. The $550 between $2,800 and $3,350 is the price of certainty, split both ways: the client pays it to cap their cost; Priya earns it for carrying the risk. If the site takes 24 hours instead, she still bills $3,350 — that is the deal, in both directions. The estimate generator builds this number line by line while the client still only needs an estimate; the fixed quote comes once the scope is agreed. The project price calculator runs exactly this build-up for the fixed number itself — parts, buffer, expenses and rounding — and shows the floor underneath the quote, so you know before any negotiation where it has to end.

The hybrid middle

Most real quotes live between the two models. Fixed fee with an hours cap: the bakery site at $3,350 for the agreed scope, capped at 32 hours, extra hours at $90. The client gets a number; you get a ceiling on unpaid work — the cap is where a ballooning job gets discussed instead of absorbed. Day rates: the same chain in an eight-hour unit, right for workshops and on-site blocks where "a day of you" is the deliverable. Not-to-exceed quotes: hourly billing with a ceiling — "no more than $3,000" — where the client pays less if you finish under. Offer it when the client fears an open-ended bill but the scope still moves: they get a cap, you keep hourly honesty, risk is shared.

Scope-creep protection: a fixed fee is only as safe as its scope

Every element of the method assumes the job stays the job you priced. The protection is a written scope: deliverables, exclusions and revision rounds, agreed before work starts. Our scope of work generator turns an accepted estimate into that boundary in one page. Three clauses do most of the work. Revision rounds are counted — "two rounds included" means the third is billable, stated calmly in advance rather than argued about later. Extras are priced before they start — a new page, an extra integration, another stakeholder's changes: each gets a price agreed in writing before the work is done. The quote names what it excludes — content writing, photography, ongoing updates — because most scope creep is not bad faith; it is two people picturing different jobs under the same price.

Pair the quote with the payment structure from our guide to deposits and upfront payments — a deposit before work starts, a milestone midway — so a large fixed fee is never entirely at risk at the end.

How to present the choice to a client

Quote the fixed number; keep the hourly build-up private. The client is buying an outcome, and showing the timesheet underneath invites haggling over hours neither of you can verify in advance — "surely the inner pages only take four?" Offer both models only when it genuinely helps the client choose — "fixed at $3,350 for the agreed scope, or hourly at $90 if you'd rather keep it open-ended" — and say which you recommend and why; a recommendation is what makes you the professional in the room rather than a menu. Whichever model wins, it goes into the proposal with the scope and payment schedule attached — our proposal template guide shows where the pricing section sits.

Pricing mistakes

A fixed fee on a fuzzy scope. The classic loss-maker: the number is firm, the job is not, and every addition arrives free. Fuzzy goes hourly, gets a paid discovery, or gets a written scope before it gets a price.

Estimating best-case hours. Your fastest day is not your average. Base hours on the last similar job, delays and revision rounds included, or the quote prices a job that has never happened.

No buffer — or a buffer spent on scope. The buffer prices estimation risk only. Letting it absorb additions spends your protection and teaches the client that extra work is free.

Hourly billing with no updates. Hours that balloon in silence end in a disputed invoice. An expected-hours estimate, a check-in point, and a short weekly note keep hourly the model nobody has to argue about.

Questions

Neither is better in the abstract — it depends on how well the work is defined. Hourly is better when the scope is fuzzy, the work is ongoing, or you have never done this kind of job before, because the client carries the estimation risk. A fixed fee is better when the deliverable is well-defined and you have done similar work before: you can estimate honestly and the client gets budget certainty. The test: write the deliverable down in one paragraph. If you can — and you have done something close before — quote it fixed. If not, price hourly, or start with a paid discovery phase.
Break the job into parts, estimate the honest hours for each part, and multiply by your hourly rate. Then add a risk buffer scaled to how repeatable the job is — around 10% for work you have done many times, 20% for familiar-but-not-identical work, up to 30% for new territory — add any project expenses, and round to a clean figure. So 30 hours at $90 an hour is $2,700 of labour; a 20% buffer adds $540; $100 of expenses takes it to $3,340, quoted as $3,350. If you do not have a rate yet, work it out first — a fixed quote built on a guessed rate is a guess twice over.
Scale it to repeatability: around 10% for work you have done many times, 20% for familiar work with new details, up to 30% when the job is genuinely new to you. The buffer is the price of the estimation risk you absorb — it is what turns a job that runs 20% over from a loss into a normal week. What it is not: a pot to spend on scope additions. Additions after the quote are priced separately, before they start.
First, the buffer absorbs it — that is what it is for. A 20% buffer on a 30-hour job covers up to 36 hours at your rate. Beyond the buffer, ask why: if the scope grew, price the additions as a change request, agreed in writing before the work is done. If the estimate was simply wrong, finish the job well, note the real hours, and estimate better next time — silently absorbing endless overruns pays you less every time.

Related: from a rate to a number the client can approve

Work out the rate every quote stands on with the hourly rate calculator; build the estimate line by line with the estimate generator while the scope forms; fix the boundary with the scope of work generator; and agree the deposit and schedule in the proposal before either model starts costing you money.