Sign a fixed price contract when the scope is written down to pages, features and integrations, and every change goes through a signed change request. Pick time and materials when the scope is still moving or depends on systems nobody has tested yet. Many buyers combine the two: they pay for a short discovery phase, then sign a fixed build for the scope that phase produces.
If your scope is already clear, compare our fixed-quote website builds: the price is agreed before work starts. The rest of this page stays neutral, because both models are legitimate and each one fails in its own predictable way.
This article is not legal advice. Have a lawyer review any contract before you sign it.
Short answer: score your project in five minutes
Answer eight questions, give each one 0, 1 or 2 points, and add them up.
| # | Question | 0 points | 1 point | 2 points |
| 1 | Is the scope written down to pages and integrations? | No, only goals | Partly, a sitemap exists | Yes, page by page |
| 2 | Is the design approved? | Not started | Style direction agreed | Key screens signed off |
| 3 | Do you depend on external APIs with unknown behavior? | Several, undocumented | One, with docs | None, or all tested |
| 4 | Is the budget fixed by a board or a grant? | No, it can flex | Soft ceiling | Hard number |
| 5 | Is the deadline fixed? | No | Preferred date | Hard launch date |
| 6 | Who decides on your side, and how fast? | A committee, weeks | Two people, days | One owner, within 48 hours |
| 7 | Do you expect major changes during the build? | Yes, weekly | Some | Few or none |
| 8 | Do you need a predictable cash flow? | No | Quarterly is fine | Yes, per milestone |
12–16 points: fixed price. 7–11 points: hybrid — paid discovery, then a fixed build. 0–6 points: time and materials with a ceiling.
The scorecard is blunt on purpose, and one zero on question 3 can outweigh three twos elsewhere. An unknown payment gateway or ERP can burn a fixed budget in a week. Treat any zero as a flag worth a conversation before you sign.
How each model works
The two models split risk differently. The U.S. federal procurement rules describe the split clearly, and the logic carries over to private contracts. Under the Federal Acquisition Regulation, a firm-fixed-price contract sets a price "not subject to any adjustment" based on the contractor's actual costs. It "places upon the contractor maximum risk and full responsibility for all costs" (FAR 16.202-1, FAC 2026-01, checked as of September 30, 2026). A time-and-materials contract pays for direct labor hours at fixed hourly rates, plus the actual cost of materials (FAR 16.601(b), same edition, as of September 30, 2026).
| Fixed price | Time and materials | |
| Who carries scope risk | The contractor, within the written scope | You |
| How the price is set | One number for the defined deliverables | Hours × agreed rates, plus materials |
| How changes enter | Signed change request with its own price and date | Added to the backlog, billed as worked |
| What you see | Milestones and acceptance | Timesheets, sprint reports, burn against a cap |
| Main failure mode | Disputes over what "done" means | Budget drift without a hard ceiling |
The second column hides a cost: time and materials needs more of your attention, week after week. FAR says so directly: the model "provides no positive profit incentive to the contractor for cost control," so the buyer has to watch the work (FAR 16.601(c)(1), as of September 30, 2026). A private buyer has no contracting officer. That job falls on you or your product owner.
When fixed price works
Fixed price fits work you can describe before it starts, and FAR's own test is a useful yardstick here. A firm-fixed-price contract suits purchases with "reasonably definite functional or detailed specifications," or cases where "performance uncertainties can be identified" and priced in (FAR 16.202-2, as of September 30, 2026).
For a website, that usually means four things are true:
- Every page type is listed, with its fields and states.
- Integrations are known and documented: CRM, payment, analytics.
- Design direction is approved, or the key screens already exist.
- One person on your side can accept or reject a milestone.
With those in place, a fixed schedule becomes realistic. On our service page, a landing page or fast-launch site takes 4–6 weeks. A corporate website or a larger platform runs 10–16 weeks, with named milestones agreed before the contract starts (toimi.pro/web-development, as listed on September 30, 2026).
Fixed price also has a hidden cost. A careful contractor adds a buffer for the risk it carries, and the less you specify, the bigger that buffer gets. Vague scope costs you twice. You pay for uncertainty up front. Then you still argue about it later.
It breaks down in three cases: a scope that changes weekly, an integration nobody has seen documented, and a decision committee that takes a month to approve a mockup. Each delay or change becomes a change request. Ten change requests turn a fixed contract into time and materials with extra paperwork.
When time and materials works
FAR limits time and materials to work where it is "not possible" to estimate the extent or duration "with any reasonable degree of confidence" (FAR 16.601(c), as of September 30, 2026). That is a good private-sector rule too. Use the model when you honestly cannot write the scope yet, and say so in the contract.
Typical cases for a web project:
- An integration with a legacy ERP or an undocumented partner API.
- A product after launch, where priorities shift with user data.
- An ongoing development retainer with a monthly backlog.
- A prototype meant to test an idea before you commit to a build.
The risk is open-ended spend, and you can limit it with three tools.
A ceiling. Federal rules require a ceiling price in every time-and-materials contract, which the contractor exceeds "at its own risk" (FAR 16.601(d)(2), as of September 30, 2026). Copy that idea. Write a monthly or total cap in hours or dollars, and state that work stops at the cap until you approve more in writing.
Short sprints. Two-week sprints with a demo at the end of each, so you see working software every other Friday. If a sprint delivers nothing you can click, you know early.
Hour reports. Weekly timesheets by person and task. Ask for the task name as well as the role, since hours logged against a vague label like "development" are hard to challenge.
A fourth safeguard is the exit clause. You should be able to stop after any sprint and keep everything built so far.
The hybrid: paid discovery, then a fixed build
Many website builds score in the middle band of the scorecard. For them, the hybrid is usually the safest route: you split one contract into two, each priced the way its risk deserves.
Phase 1, discovery, time and materials or a small fixed fee. The team maps pages, user flows, roles, data and integrations, and tests the risky API calls against real credentials. The output is a document you own.
Phase 2, the build, fixed price. The contractor prices the written scope. Changes go through change requests, measured against that document.
The discovery document is what makes the second phase fair. It should list what is out of scope, too. Exclusions settle more disputes than inclusions. If you want this step done properly, start with a technical specification before you sign the build contract.
Two rules keep the hybrid honest. First, you own the discovery output outright and can take it to another vendor for a competing quote. Second, the build price comes after discovery, never before. A fixed number quoted before scope exists is a guess with a signature on it.
What a fixed quote looks like
Here is how we price web builds. We scope the project, name every deliverable, and give you a number. Only a signed change request moves it. Every project comes with a fixed quote, full code ownership, and a 30-day post-launch support window. Our published starting prices, as of September 30, 2026:
| Build type | Starting price |
| Landing page — minimal functionality | from $3,000 |
| Template-based corporate website adapted to your brand | from $20,000 |
| Custom website with unique design and logic | from $30,000 |
| Media portal or B2B tool with user accounts | from $45,000 |
Any other type of build gets an estimate after a brief.
Whoever quotes you, check what the fixed number leaves out. Common exclusions:
- Content. Copywriting, photography, translation.
- Licenses. Premium plugins, fonts, stock images, map APIs.
- Third-party subscriptions. CRM seats, email service, search, hosting beyond launch.
- Data migration from an old site, if not listed as a deliverable.
- Post-launch work after the warranty window ends.
Ask for the exclusion list in writing. If a quote has none, the gaps will surface later as change requests, priced at a moment when you have little room to argue.
Contract clauses to check
Use this list on any draft contract. Read the column for your model, because a clause that is fine in one model can be dangerous in the other.
| Clause | Fixed price: what to look for | Time and materials: what to look for |
| Change request | Written form, price and date impact, signed before work starts | Change enters the backlog; no separate approval, but the cap still applies |
| Milestones and acceptance | Named deliverables per milestone, acceptance window in days, what happens on silence | Sprint demos, acceptance per sprint, right to reject stories |
| Definition of "done" | Browsers, devices, performance targets, content loaded or not | Same list, applied per story |
| IP and code ownership | Written assignment of copyright on full payment; repository access | Assignment per paid invoice, so you own what you paid for |
| Warranty window | Days after launch, what counts as a defect, response time | Usually none; negotiate a bug-fix window per release |
| Hour cap | Not needed | Monthly and total ceiling; work stops at the cap without written approval |
| Hour reporting | Not needed; progress by milestone | Weekly timesheets by person and task |
| Exit | Termination for cause; payment for accepted milestones only | Termination on notice; handover of code and docs within set days |
One clause deserves a closer look. Paying for custom code does not make you its owner by default. The U.S. Copyright Office explains that a commissioned work counts as "work made for hire" only in nine listed categories, and only with a signed written agreement (Circular 30, as of September 30, 2026). Website code often falls outside those categories, which is why development contracts use a copyright assignment instead. Under 17 U.S.C. § 204(a), a transfer of copyright is valid only in writing, signed by the owner (as of September 30, 2026). No signed assignment, no clean ownership.
Read the exit clause twice. Check what you receive if you leave mid-project — source code, credentials, design files, documentation — and the number of days the contractor has to hand it over.
FAQ
Is fixed price always cheaper than time and materials?
No, fixed price is often more expensive on paper. The contractor carries the scope risk and prices a buffer for it. You pay for predictability. Time and materials can cost less when scope is small and decisions are fast. It can also cost far more when requirements drift and no ceiling is set. Compare the likely total, not the rate.
Can I switch from time and materials to fixed price mid-project?
Yes, once the remaining scope is written down. A common point is after discovery or after the first few sprints, when the unknown integrations are tested. Sign a new statement of work for the rest. Make sure the code and documents from the first part are already assigned to you before the switch.
What hourly rate is fair for time and materials?
There is no single fair rate, since it depends on role, seniority and location. Ask each bidder for separate rates per role — designer, developer, QA, project manager. Federal contracts require exactly that split, a separate fixed hourly rate for each labor category (FAR 16.601(c)(2), as of September 30, 2026). Then compare total estimates for the same backlog, since a low rate with slow delivery costs more.
What happens if a fixed-price contractor misses the deadline?
That depends on the contract, so write the remedy in before you sign. Common options are a fee reduction per week of delay, the right to terminate for cause, or both. Tie the remedy to delays the contractor controls. Your own late approvals should shift the date by the same number of days. Without a delay clause, a missed deadline is hard to enforce.
Who should write the change request?
Either side can start it, but the contractor prices it. You describe the change, and the contractor returns the cost and date impact in writing. Nothing gets built until you sign. Keep every signed request with the contract. At handover, that file proves exactly what scope you paid for.