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 job | Honest hours | At $90/hr |
|---|---|---|
| Discovery and content planning | 4 | $360 |
| Homepage design | 6 | $540 |
| Four inner pages | 8 | $720 |
| Build, responsive polish and testing | 6 | $540 |
| Two revision rounds (included) | 4 | $360 |
| Launch and handover | 2 | $180 |
| Labour: 30 hours | 30 | $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
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.