Most website quotes come back as a range: “somewhere between X and Y, depending on scope.” That’s not dishonesty — scope genuinely does move projects around. But it also means the client is the one absorbing the risk of that uncertainty, usually without realizing it until the invoices start adding up.
A fixed price shifts that risk to the person doing the work. That’s only possible if the scope is actually clear before the quote is given — which is the part worth paying attention to.
Why fixed pricing is rare
Fixed pricing requires the agency to know, in advance, roughly how long something will take. That means the scoping conversation has to happen properly before any code gets written: what pages exist, what they need to do, who edits them after launch, what “done” looks like. Most agencies skip the depth of that conversation because open-ended billing doesn’t punish them for skipping it. If the project runs long, the client pays for the extra hours either way.
A fixed quote only works if that scoping work actually happened. If an agency gives you a firm number in the first conversation, that’s not efficiency — it’s a guess with a price tag on it.
What should be fixed, and what shouldn’t
The build itself — the pages, the functionality, the launch — should be a fixed number once scope is agreed. What shouldn’t be fixed into the same box: ongoing changes after launch, new features nobody discussed in scoping, and content the client hasn’t written yet. Bundling those into a “fixed price” either inflates the quote to cover the unknown, or sets up a fight later about what was “included.”
The honest version separates the two: a firm price for a clearly defined build, and a straightforward hourly or project rate for anything that comes after and wasn’t part of the original scope.
The real test of a good quote
A good fixed quote should survive you asking “what happens if X takes longer than expected” — and the answer should be “that’s our risk, not yours,” because the scope was clear enough to plan around. If the answer is “well, then we’d need to talk about additional costs,” the price wasn’t really fixed. It was a starting offer.
That’s also why cheap, vague quotes are often worse value than a clear, higher one: the vague quote is the one most likely to grow.
What this looks like in practice
We price small business websites as fixed builds because the scope for that category of work — a handful of pages, clear content, one owner who needs to edit it afterward — is genuinely knowable in advance. When we’ve built these for clients like Enkel Natur and Erikssonwood, the quote given at the start matched the invoice at the end, because the scoping conversation did the work the quote depended on.
If your last web project ran over and nobody could tell you exactly why, that’s usually a scoping problem, not a budget problem. Happy to scope the next one properly.