Fixed price vs hourly: your tracked hours already know which one pays

Fixed price vs hourly comes down to one question: who carries the risk that your estimate is wrong. Hourly leaves that risk with the client. A fixed price moves it to you and pays you for holding it. Quote fixed when your past hours on similar work are predictable, and hourly when they are not.

Most advice on this choice is temperament dressed up as strategy. Hourly is “safe”, fixed is “grown-up”, value pricing is what serious people do. None of it asks the question that settles the matter, which is how long your projects actually take. That answer is sitting in your records, provided you kept recording after you stopped billing by the hour.

What is the real difference between fixed price and hourly?

Hourly sells your time. The client pays for every hour the work takes, so an estimate that runs long costs them, not you. The price of that safety: your income is capped at hours times rate, getting faster at the work pays you less, and every invoice arrives as a list of hours someone can question line by line. If you have been through that conversation, what to do when a client questions your invoice covers how to answer it well.

A fixed fee sells an outcome. Fixed price, fixed fee, project-based: three names for the same contract. You agree a number for a defined result, and the hours behind it become your business. Finish early and the difference is yours. Run over and so is the overrun.

Neither is more professional than the other. They are two ways of allocating the same risk, and the right one depends on how good your estimate is. That is not a matter of opinion. It is a matter of record.

What does a fixed-price project actually pay per hour?

The fee is fixed. Your hourly rate is not. Divide the fee by the hours the project really took and you get the effective hourly rate for that project, which is the only honest test of whether a fixed price was a good one.

A worked example, on stated assumptions. Say your hourly rate is $80. A client wants a website build, you estimate 50 hours, and you quote a fixed $4,000. Here is how the same project pays out at three different finishing points:

Hours the project tookBilled hourly at $80Fixed feeEffective rate on the fixed fee
38$3,040$4,000$105.26 an hour
50$4,000$4,000$80.00 an hour
68$5,440$4,000$58.82 an hour

Two things in that table matter.

First, the fixed fee wins when you are faster than your estimate and loses when you are slower, by exactly the same arithmetic. Fixed pricing is not a way to earn more. It is a bet that your estimate is good, with the upside and the downside both sitting with you.

Second, look at the bottom row from the outside. The invoice says $4,000. The client paid on time. The project feels fine. Nothing on any document you produced records that the last eighteen hours added nothing to the fee, or that your real rate on the job came in about a quarter below your advertised one. Unless you tracked the hours, the overrun is invisible, and invisible overruns get repeated.

This is a per-project figure. Your effective rate across the whole business, with admin and pitching included, is a different and usually lower number, and how many hours you can actually bill in a day shows how to find it.

Why keep tracking time on fixed-price work?

Because the client stopped needing your hours and you did not.

On an hourly contract, tracking is how you get paid. On a fixed one, it is how you find out whether you were paid well, and it is the first habit to go once the invoice no longer depends on it. That is precisely the wrong moment to drop it. Hours tracked on fixed work give you three things nothing else will:

  • The effective rate per project, so you can see which clients and which kinds of work pay, and which only look like they do.
  • Where overruns come from. Track by phase (discovery, build, revisions, calls and email) and the pattern surfaces fast. Often it is not the build at all. It is the third round of feedback and the calls around it.
  • The raw material for your next quote. This is the one that compounds.

Research explains why that last one matters. Psychologists Roger Buehler, Dale Griffin and Michael Ross found that people predicting when they would finish their own tasks were too optimistic, and that they built those predictions from scenarios of how the work would go rather than from how similar work had gone before. In one of their studies, the optimistic bias disappeared when participants were told to connect the prediction to relevant past experience (Journal of Personality and Social Psychology, 1994). Daniel Kahneman and Dan Lovallo traced overly optimistic forecasts to what they called the inside view: anchoring on plans and scenarios while neglecting the statistics of the past (Management Science, 1993).

Your tracked hours on past projects are those statistics. Without them, every fixed quote is an inside-view guess, and nothing ever corrects it.

A timer you have to remember to start is exactly the timer you skip when nobody is paying for the hours. If you track fixed work, use something that records without being asked, or review each day while it is still fresh.

Should you charge hourly or per project?

Decide from the job in front of you, not from a general preference:

If this is trueChargeWhy
The scope cannot be written down in a paragraphHourlyAny fixed number would be fiction, and you would be the one carrying it
You have never done this kind of project, or never tracked itHourly, or a paid discovery phase firstYou have a plan to estimate from, but no past
The work is ongoing support with unpredictable demandHourly, optionally with a monthly capThe client sets the demand, so the risk belongs with them
You have tracked several similar projects and their hours sit close togetherFixedYour estimate is a measurement, not a hope
You are getting noticeably faster at a repeatable deliverableFixedHourly would hand every efficiency gain to the client
The client needs a single budget figure to get sign-offFixed, with a tight scopeCertainty is worth paying for, and you are the one providing it
The client picks apart every line of every invoiceFixedIt ends the argument about hours by removing the hours
The result is worth far more to the client than your effort costsValue-basedYour hours become the floor, not the price

As a single rule: charge hourly until your own records can predict the job, then switch to fixed. Move to value-based pricing when the client can put a figure on the outcome and that figure dwarfs your cost of delivering it.

How do you quote a fixed price from your own past hours?

This is where the tracking pays for itself. The method is simple. The discipline is in using the hours projects actually took, not the estimates you gave at the time.

1. Pull the actuals from comparable projects

Every hour tagged to each project, calls, email and revisions included, not just production time. Say your last five brand identity projects took 31, 36, 38, 44 and 57 hours.

2. Read the spread, not just the average

The average is 41.2 hours. Quote 41 and you come in under your rate on two of the five. The spread says more: four jobs landed between 31 and 44 hours, and one ran well over. Find out why. If the 57-hour job was the one where the client added a second product line halfway through, that is a scope problem, and the fix belongs in the contract, not the buffer.

3. Choose your buffer deliberately

A buffer is not a figure you look up. It is a business decision about how much overrun risk you will carry for this client on this scope. Some sensible ways to set it:

  • Cover a chosen share of your past projects. Fifty hours covers four of the five above, and accepts that a job like the fifth would pay below your rate.
  • Buffer by client. A client who has sent clear briefs twice earns a smaller buffer than a new one whose sign-off chain you have never met.
  • Buffer by phase. If your records show revisions are where jobs overrun, put the buffer there and cap the revision rounds.

Whichever you choose, write down the reason. Your records will tell you later whether it was right.

4. Multiply by your rate, then sanity-check it

Fifty hours at $80 is $4,000. If you do not yet have an hourly rate you trust, set that first: the freelance hourly rate calculator builds one from your income target, your costs and the hours a client will actually pay for. A fixed price built on an underpriced rate is underpriced twice.

5. Put the scope and the change rule in the quote

The buffer covers estimating error. It does not cover the client asking for more. A clause you can copy and adapt:

Fixed fee: [amount] for [deliverables, listed individually]. Includes [two] rounds of revisions on the agreed direction. Anything outside this scope, including new deliverables or further revision rounds, will be quoted before work begins or billed at [hourly rate] an hour, agreed in writing first. [Payment terms.]

6. Close the loop

When the project ends, compare actual hours with the quote and add it to the list. Five projects become six, and the next estimate improves on its own.

Is value-based pricing better than hourly?

Sometimes. It is a narrower tool than its advocates suggest.

Value-based pricing sets the fee from what the result is worth to the client rather than from what it costs you to produce. A checkout redesign expected to lift an online shop’s conversion, or a proposal template a sales team will use on every deal, can be worth far more to the client than the hours it takes. Pricing that work by the hour hands the client almost all of the difference.

It works when three things are true: the client can put a figure on the outcome, they will discuss that figure with you before the quote, and your track record makes it believable that you can deliver it. It fails on commodity work, on outcomes nobody can measure, and with clients who want a supplier rather than a partner.

In practice, value-based pricing is a fixed fee whose number comes from the client’s side of the table. Your hours still matter to it in two ways. They set your floor: if the value-based figure comes in below your past hours for this kind of job multiplied by your rate, you are not pricing on value, you are discounting. And fee divided by hours is still the only way to tell afterwards whether it worked.

How do you switch a client from hourly to fixed price?

Start with a client you already bill by the hour, because you hold the one dataset nobody else has: exactly how long their work takes.

  1. Pick work that repeats. Monthly maintenance, a recurring report, a regular batch of design assets. One-off projects can follow later.
  2. Pull their actual hours. Several months of history on the same kind of work beats any estimate you could make.
  3. Propose it at a natural boundary. A new quarter, a renewal or the start of a new phase, never in the middle of a project.
  4. Sell the certainty, not the change. The client gets the same cost every month and no timesheet to review. You carry the heavy months.
  5. Keep the hourly rate in the contract for anything outside the agreed scope.
  6. Keep tracking. Review after three months. If the effective rate has slipped, you have the numbers to reprice.

A message you can adapt:

Over the last four months your site maintenance has run between 11 and 16 hours a month. From [date], I’d like to move it to a fixed monthly fee of [amount]. You get the same cost every month and no hours to check, and if a month runs heavy, that is on me. Anything new, like a feature build, I will quote separately before starting.

What makes it land is the specific range from real records. “Your work usually takes about fifteen hours” is a claim. “Between 11 and 16 hours a month for four months” is evidence.

How does fixed price vs hourly work on Upwork?

Upwork runs them as two separate contract types. On an hourly contract, the freelancer logs time in a work diary and billing runs weekly on the hours logged. On a fixed-price contract, the client funds each milestone in escrow before work begins, and payment is released when they approve the submitted work, or automatically once a 14-day review window passes (Upwork Help).

Two consequences follow. Milestones are your change control on the platform: a build split into several milestones contains an overrun to one stage and forces a scope conversation at every boundary. And moving a client from hourly to fixed means ending the current contract and rehiring under a new one, because a contract cannot be converted in place (Upwork Help).

On fixed-price work the platform pays you for the milestone, not the hours, so keep your own record. It is the only way to know what each milestone paid.

What to do next

Pull the last three fixed-price projects you delivered. Find the hours each one took, from your tracker, your calendar or your sent mail, and divide the fee by them. That number is what fixed pricing has actually been paying you, and it will tell you more than any opinion on this subject, including this one.

Then record hours on every fixed project from now on, by phase, and let the next quote come from those records instead of from the plan in your head. If you want to see where your time goes without maintaining anything, Stunda records it in the background and sorts it by client and project, so the hours behind a fixed fee are waiting for you when the project closes.

Questions people ask

Is it better to charge hourly or a fixed price?

Neither is better in general. Hourly suits work with an unclear or shifting scope, because the client carries the risk of it taking longer. A fixed price suits work you have done and measured before, because you can estimate it well and you keep the gain when you finish early. Choose by how predictable the job is, not by preference.

How do I work out a fixed price from my hourly rate?

Estimate the hours from the actual time similar past projects took, not from a plan of how this one should go. Add a buffer you have chosen for this client and scope, then multiply by your hourly rate. Write the scope, the number of revision rounds and your rate for extra work into the quote, so the buffer only has to cover estimating error.

Should I still track time on fixed-price projects?

Yes. The client no longer needs the hours, but you do. Dividing the fee by the hours a project really took gives your effective hourly rate on it, shows which phases overrun, and gives you real figures for the next quote. Without that record, a project that ran badly over looks identical to one that went well.

What is the difference between a fixed fee and value-based pricing?

Both give the client one agreed number. A fixed fee is usually built from your estimated hours multiplied by your rate. Value-based pricing starts from what the outcome is worth to the client and charges a share of that value. Your cost of delivery still sets the floor, because a value price below it is simply a discount.

What happens if a fixed-price project takes longer than quoted?

If the extra time came from estimating error, you absorb it and your effective hourly rate on the project falls. If it came from the client asking for more than the agreed scope, that is a change, and a well-written quote says how changes are priced, usually a separate quote or your hourly rate, agreed in writing before the extra work starts.

Does Upwork have fixed-price and hourly contracts?

Yes. Hourly contracts are billed weekly on hours logged in a work diary. Fixed-price contracts are split into milestones that the client funds in escrow before work begins, with payment released when the client approves the work or the 14-day review window passes. An existing contract cannot be switched between the two types, so you end it and start a new contract with the updated terms.

Still measuring, since the moment you opened this page

You've been here 2:40.
That's $3.78 unbilled.

That's how it slips away: a few quiet minutes at a time, on every project. Stunda catches them all day, silently, and turns them into invoices that send in four steps.

Free forever for solo freelancers. No card required. Setup takes 60 seconds.