Fixed Price vs Time & Materials vs Capped T&M: How We Actually Choose
Fixed price kills agencies that estimate badly. T&M scares clients who've been burned. Here's the decision framework we use at 72Technologies before signing a contract — and the math behind it.

Every agency founder has lost money on a fixed-price project and lost a client on a T&M one. The contract model isn't a paperwork detail — it's the single biggest lever on whether a project ends with a referral or a Slack channel full of resentment. After enough scars, we stopped treating it as a default and started treating it as a decision.
This is the framework we actually use before sending a proposal.
The three models, stripped of marketing
There's no shortage of articles explaining what these terms mean. Most of them are written by people who've never had to refund a client. Let's keep it tight.
Fixed price. You commit to a scope, a price, and (usually) a date. Overruns are your problem. Under-runs are your margin.
Time & Materials (T&M). Client pays for hours worked at agreed rates. Scope can flex. Overruns are the client's problem — which means they're your problem the moment trust erodes.
Capped T&M. T&M with a ceiling. You bill hours, but the total can't exceed the cap. Under-runs go back to the client. Over-runs eat your margin. This is the model most experienced buyers actually want, and most agencies under-price.
There's a fourth — equity or revenue share — which we'll touch on at the end, because it deserves its own conversation.
The variable nobody prices correctly: ambiguity
The single best predictor of whether a fixed-price project will be profitable isn't the engineering complexity. It's how clearly the client can describe what "done" looks like.
We score every prospective project on three axes before deciding on a model:
- Spec clarity — Is there a written, agreed scope, or a Figma file with 90% of states designed? Or are we working from a 40-minute Loom?
- Decision latency — When a question comes up mid-sprint, how fast can the client answer? Hours, days, or "let me check with the board"?
- Domain volatility — Is this a standard CRUD app for a known business, or a regulated/AI/novel-UX product where the requirements will mutate on contact with users?
Here's the rough mapping we use:
| Clarity | Latency | Volatility | Model |
|---|---|---|---|
| High | Fast | Low | Fixed price |
| High | Slow | Low | Fixed price with milestone gates |
| Medium | Fast | Medium | Capped T&M |
| Medium | Slow | Medium | T&M with weekly burn reports |
| Low | Any | High | T&M, or don't take the project |
If clarity is low and the client insists on fixed price, that is a red flag, not a negotiation. They are asking you to absorb the cost of their indecision, and they will negotiate harder when reality arrives.
When fixed price actually works
Fixed price gets a bad reputation because agencies use it as a sales weapon — promising certainty they can't deliver — and then bleed margin on change requests.
It works in three specific situations:
- Productised services. Things you've shipped 20 times. A WordPress migration, a Shopify theme build, a Stripe integration with a known checkout flow. You have data on how long it takes.
- Phase 1 discovery. A two-to-four-week, fixed-fee engagement where the deliverable is a spec, architecture doc, and estimate for the build. This de-risks the next phase for everyone.
- Clearly bounded modules inside a larger T&M relationship. "We'll build the auth and billing module for X, fixed, while the rest of the work continues T&M."
The trick is the change-request clause. Without it, fixed price is a trap. Ours reads roughly like this:
Any change to the agreed scope (documented in Appendix A) requires
a written Change Request signed by both parties. Each CR will include:
- description of the change
- impact on timeline
- impact on price
Work on the changed scope begins only after the CR is signed.
Not fancy. But it has saved us six figures over the years because it forces the conversation to happen in writing, before the work starts, not after.
The hidden cost of fixed price: defensive estimating
Good engineers, when asked for a fixed estimate, do one of two things. They either lowball to win the work and hate their life six weeks in, or they triple the estimate to be safe — at which point the client thinks you're expensive and goes with the cheaper bid who lowballed.
This is why fixed price only works when you have historical data. If you've built three e-commerce checkouts, you know the fourth will take 180–240 hours, you quote 240, and you ship in 200. If you've never built one, you're gambling.
When T&M is the honest answer
Pure T&M is the right model when:
- The product is genuinely exploratory (an AI feature where you don't know what works until you test it).
- The client is technical and wants to be in the weeds.
- You're embedded as an extension of an in-house team.
- The relationship is long-term and trust is already established.
The failure mode of T&M is not financial — it's political. A non-technical client watching the meter run will start to feel anxious every time a sprint goes "slower than expected." They don't have the context to know that refactoring a data model in week six is cheaper than discovering it's wrong in week twelve.
We counter this with three habits:
- Weekly burn-down email, not a dashboard they have to log into. Hours used, hours remaining, what shipped, what's next. Five minutes to write, builds enormous trust.
- Re-forecast every two weeks. "Based on velocity, we now expect to hit the goal at X hours instead of Y. Here's why." Never let the client be surprised at the end.
- A soft cap conversation up front. "We expect this to land between 400 and 500 hours. If we cross 450, we'll have a conversation about scope before we keep going."
That last one is the bridge to the model we use most often.
Capped T&M: the model most agencies should default to
Capped T&M is honest in a way fixed price isn't and safe in a way pure T&M isn't. The client gets a ceiling. You get paid for actual work. Unused hours don't get billed.
The math that makes it work for the agency:
cap = expected_hours * blended_rate * (1 + risk_buffer)
risk_buffer:
productised work → 0.10–0.15
familiar domain → 0.15–0.25
new domain / R&D → 0.30–0.50 (or refuse cap entirely)
If you can't justify the buffer to yourself, you can't justify the cap. In our experience, projects with a properly sized buffer land within 10% of the estimate; projects without one are where margin disappears.
The clause that makes capped T&M survive contact with reality
The cap has to be tied to a scope. If scope changes, the cap changes. Same CR mechanism as fixed price. Without that link, capped T&M collapses into fixed price the moment the client says "oh and can we also add..."
Equity and rev-share: rarely, and only with eyes open
Founders love to offer equity in lieu of cash. We almost always decline. The exceptions:
- The cash portion still covers our actual costs (salaries, overhead) with a small margin.
- The cap table is clean and we've seen it.
- The founder is someone we'd back personally, not just a project we're being paid to build.
- The equity is real — not advisor shares with a four-year vest that evaporate if the relationship sours.
Agencies that take a lot of equity tend to become bad agencies, because they're optimising for the wrong customer (their own portfolio) instead of the paying ones. We've watched it happen.
A quick decision script
When a new prospect lands, we run through this in the first call:
- Do you have a written spec or detailed designs? (Clarity)
- Who makes the final call on product decisions, and how quickly? (Latency)
- Has anything like this been built before, by you or anyone else? (Volatility)
- What's your budget range, and is it a cap or a target? (Reality)
The answers tell us the model before we ever quote a number. If we can't get clean answers, the first engagement is a paid discovery — fixed price, two to four weeks — and we don't quote the build until we've done it.
Where we'd start
If you're running an agency and still defaulting to fixed price because clients ask for it: stop. Run your last ten projects through the clarity/latency/volatility grid and see how many should have been capped T&M. Then write the change-request clause you wish you'd had. The next proposal you send out will be the first one priced on evidence instead of optimism.
If you want to see how we structure engagements in practice, our services page lays out the shapes of work we take on — and which pricing model goes with each.
Want a team like ours?
72Technologies builds production software for the kind of teams who actually read this blog.
Start a projectKeep reading
The Anti-Churn Retainer: Designing Monthly Engagements Clients Don't Cancel
Most agency retainers die quietly around month four. Here's how we structure monthly engagements so clients renew without a sales conversation — and how we kill the ones that should die early.
Equity Deals With Clients: When to Take Stock Instead of Cash
Every founder eventually gets the pitch: 'We're cash-light but the upside is huge — would you take equity?' Here's the framework we use to decide, and the deal structures that actually pay out.

The Discovery Sprint That Pays For Itself: Turning Free Scoping Into a Billable Phase
Free scoping is where agencies lose margin and clients lose patience. Here's how we restructured discovery into a paid, two-week sprint that de-risks the build and closes more deals.
