What do you do when a fixed-fee project goes over scope?
I separate the overrun into two piles before I say anything to the client. Work I underestimated, which is mine to absorb, and work that was genuinely added, which is a new conversation. Almost every awkward moment in fixed-fee work comes from failing to make that distinction out loud.
I price fixed fee, and most of my projects sit between one thousand and ten thousand dollars. That model puts estimation risk on me by design, which is the point of it from the client's side. They get a number they can approve without watching a clock. I get the upside when I am efficient and the downside when I am wrong.
So an overrun is not automatically a problem to escalate. Sometimes it is just the model working as intended, in the direction I did not want that week.
How do you tell underestimation from real scope change?
Ask whether the deliverable changed or only the effort did. If what we agreed to build is still what I am building, and it is taking longer, that is my estimate being wrong. If there is now something we never discussed, or the thing itself has become a different thing, that is scope.
The test I use is whether I could have known. If the complexity was visible at quoting time and I did not look hard enough, it is on me, and saying so costs less than defending it. If the complexity arrived with information nobody had at the start, it is a shared situation, and pretending otherwise is how you end up resenting a client who did nothing wrong.
The grey zone is where discipline matters. Often the deliverable is nominally the same but the client's standard for it has risen. That is real scope change wearing the costume of a revision, and it deserves naming rather than absorbing in silence.
When do you absorb it without saying anything?
When it is my error and it is small enough that raising it costs more trust than the money is worth. Under roughly ten percent of the project, on a first project with a client, from a cause I can point to in my own estimate, I absorb it and record why.
The recording part is the half people skip. An absorbed overrun that nobody writes down is a lesson that does not survive to the next quote. I keep a short note per project of what took longer than I thought and why, and that note has changed my estimates more than any pricing framework I have read.
There is a limit to this generosity and it is worth knowing where yours is. Absorbing repeatedly on the same client teaches both of you that the number was never real, and the second overrun is much harder to raise than the first would have been.
When do you stop and re-quote?
When continuing would deliver something worse than what we agreed. That is the line, not a percentage. If the honest way to finish inside the fee is to cut quality, the project has already failed and the only question left is whether anyone says so before delivery.
The mechanics matter more than the timing. I stop work, write down what changed, what it now costs, and what the options are, and I include the option of not doing it. A re-quote that only offers more money and more work reads as a demand. A re-quote that includes cutting something reads as a decision.
What I avoid is the slow drip. Three small requests for more budget over a month damages a relationship more than one clear conversation, because each one feels like a surprise and together they feel like a pattern.
What does an overrun usually mean about the sale?
That the discovery was too thin. In my experience the overruns that hurt almost never come from the building, they come from decisions nobody made before the building started. Who approves this. What happens to the old URLs. Where does the content come from. Unanswered at quote time, expensive later.
That is why I charge for discovery separately when a project is at all complicated, which I wrote about in charging a discovery fee before quoting. Paid discovery is not a way to make more money. It is a way to make the fixed fee that follows it defensible, because I am quoting a known thing rather than a hopeful one.
Content is the single most reliable source of overrun I encounter on website projects. Everyone agrees the client will supply it. The build finishes. The content does not exist. The project then sits open for weeks, and open projects cost me in attention even when they cost nothing in hours.
Does an overrun mean you should switch to hourly billing?
No, and I have thought about this properly rather than defensively. Hourly transfers estimation risk to the client, which sounds fairer and buys a worse working relationship, because now every decision has a meter running and the client starts optimising for my speed instead of their outcome.
What hourly genuinely fixes is open-ended work where nobody can specify the deliverable. For that, I would rather use a fixed-scope sprint than an hourly rate, which keeps the predictability while accepting that we do not know everything. I set out that comparison in hourly billing versus fixed-scope sprints.
The other reason I stay fixed fee is that it forces me to get better at scoping. An hourly practice can be sloppy at estimation indefinitely and never notice. A fixed-fee practice finds out immediately, in cash, which is unpleasant and educational.
How do you write a scope that actually holds?
By writing down what is excluded, in the client's language, next to what is included. Inclusions alone do not hold, because a reasonable person reads them expansively and a stressed person reads them optimistically. Exclusions are what make the boundary visible before anyone is invested.
I try to name the specific things that historically expand. Number of page templates rather than number of pages. Number of revision rounds rather than until you are happy. Who writes the copy. Whether migration of existing content is in or out. Each of those sentences is short and each has prevented a conversation I did not want.
The other thing that holds a scope is a change mechanism nobody has to be brave to use. If asking for something extra has a defined path, clients use it comfortably and I get paid for the work. If it does not, they ask casually, I say yes casually, and we both discover the cost at the end.
What do you do when the client disputes the overrun?
Listen for whether they are disputing the facts or the fairness. If they think the work was always included, that is a documentation problem and I go back to what we wrote. If they accept it was extra but feel it should be covered, that is a relationship judgment and no amount of paperwork resolves it.
On the second kind, I decide based on whether I want the next project. Sometimes eating the difference is the correct commercial decision and I should stop pretending it is a moral one. Sometimes the disagreement is a signal that the fit is wrong, which is a different problem with a different answer, and I covered my version of that in how I say no to bad-fit clients.
What I do not do is deliver resentfully. Work that is finished grudgingly is visibly worse, the client can tell, and the reputational cost of that outlasts whatever was in dispute. Either take the hit properly or have the conversation properly.
What has this actually changed in how you work?
Over six years and seventy plus projects for twenty five plus clients, the biggest change is that I now spend longer on the quote than feels reasonable. The estimate is the product decision. Everything downstream of a bad estimate is damage control dressed up as project management.
The second change is that I stopped quoting the same day I am asked. A number given quickly is a number given optimistically, and optimism is the most expensive input in a fixed-fee practice. A day of distance turns a lot of confident guesses into questions I should have asked.
The third is that I now treat an open project as a cost even when it is not consuming hours. Projects that drag have a real price in attention and in the work I did not take, and that price is invisible in any spreadsheet I have ever built.
What should you do next?
Go back to your last overrun and put it in one of the two piles. Underestimation or added scope. If you cannot tell which it was, that is the finding, and it points at your scope document rather than at your client.
Then add two lines to your next proposal: the specific exclusions that bit you last time, and the path a client should use to ask for something extra. That is a ten minute change and it is the one that has saved me the most awkward conversations. If you are pricing project work and want a second opinion on whether your scope actually holds, reach out and send it over.
Get found, cited and the back office automated
Let's make your site the source AI engines quote and wire up the systems behind it.
Read more blogs
Let's get your website found and cited by AI
Tell me what you're working on, whether AI search is skipping your product, your back office is buried in manual work, or you need a build that does both.