Taskora

Fixed price vs hourly contracts: how to choose

When fixed-price contracts protect you, when hourly contracts are fairer, and how milestones and weekly limits reduce risk for clients and freelancers.

By Tomás Rivera

Every contract on Taskora is either fixed price or hourly. Clients often assume fixed price is safer because the cost is known; freelancers often prefer hourly because it protects them from scope creep. Both instincts are partly right. The model that actually protects both sides is the one that matches how much is known about the work at the start.

How fixed-price contracts work

The client and freelancer agree on a total price for a defined deliverable, usually split into milestones. Each milestone is funded into escrow before work starts and released when the client approves it. The freelancer carries the risk of underestimating; the client carries the risk of an unclear brief, because anything not in the scope is a change request.

Fixed price works best when

How hourly contracts work

The client pays for time worked at an agreed rate, usually with a weekly hour limit. The freelancer logs hours with descriptions of what was done. The client carries the risk of the work taking longer; the freelancer is paid for every hour, including hours spent on changes and discovery.

Hourly works best when

The hidden costs of choosing wrong

Choosing fixed price for loosely scoped work does not remove uncertainty — it hides it. Experienced freelancers add a risk buffer of 20–50% to fixed quotes on vague briefs, so clients often pay more than they would have hourly. Inexperienced freelancers underquote, then either cut corners or abandon the project when the hours run out.

Choosing hourly for well-defined work creates the opposite problem: the client has no cost ceiling, and both sides spend energy reviewing timesheets instead of outcomes. For a clear deliverable, a fixed price with milestones is simpler for everyone.

A useful test: if two experienced freelancers would give estimates within 25% of each other, the work is ready for fixed price. If their estimates differ by 2× or more, start hourly or with a paid discovery milestone.

The hybrid that works for larger projects

For projects above roughly $10,000, the most successful pattern we see is a two-phase contract. Phase one is a short hourly or small fixed-price discovery — typically 5–10% of the expected total — that produces a specification, a prototype or a technical plan. Phase two is a fixed-price build based on that output, split into milestones. The client pays a little for certainty; the freelancer quotes the build without a risk buffer.

Making fixed-price contracts fair

  1. Split the work into milestones of one to three weeks, each with a verifiable deliverable.
  2. Include a set number of revision rounds per milestone — two is common for design work.
  3. Write down what is out of scope and agree that additions are priced as new milestones.
  4. Fund the next milestone only after approving the previous one, so exposure is always limited.
  5. Approve or request changes within a few working days; a freelancer cannot move on while waiting.

Making hourly contracts fair

  1. Set a weekly hour limit that matches the budget, and review it every few weeks.
  2. Ask for short written updates with each week’s hours: what was done, what is next, any blockers.
  3. Agree on what counts as billable — meetings, research, code review — before the first week.
  4. Define a check-in point, such as every 20 hours, to confirm the work is still worth the spend.
  5. Keep priorities in one shared list so hours go to what matters most.

What the numbers look like

Consider a mid-size feature: adding subscription billing to an existing web app. A senior developer at $95 per hour estimates 60–90 hours. As an hourly contract with a 25-hour weekly limit, the client pays $5,700–8,550 depending on what the developer finds in the codebase. As a fixed-price contract without discovery, the developer would sensibly quote around $8,500–9,500 to cover the unknowns. With a $950 discovery milestone (10 hours) first, the build is often quoted at $6,000–7,000 fixed — total cost close to the hourly midpoint, with far less uncertainty.

Escrow and protection on each model

On fixed-price contracts, milestone escrow protects both sides: the freelancer knows the money for the current milestone exists, and the client releases it only for approved work. On hourly contracts, protection comes from weekly limits, logged work and the ability to pause or end the contract at any time. In both cases, keeping communication and payments on the platform is what makes dispute resolution possible.

Quick decision guide

The contract type is not a judgment about trust. It is a tool for sharing risk sensibly. Pick the one that matches what you know today, and you can always switch models for the next phase of the project.