UpworkScout

Blog · October 5, 2026 · 7 min read

Upwork Milestones Explained: How to Structure Fixed-Price Contracts (2026)

By Nabeel Hassan · Upwork Scout

TL;DR: A milestone on Upwork is one funded, named chunk of a fixed-price contract. The client deposits that chunk into escrow, you deliver it, and the client approves it to release the money. Milestones are how fixed-price work gets paid, but they are also how it gets protected and how it gets scoped. A good structure ties each milestone to a deliverable someone could check off, keeps the first milestone small enough that you are never far ahead of the money, and puts the biggest share where the real work is done. Never start a milestone that is not funded. If you are proposing on a fixed-price job, offer your own milestone split in the proposal rather than waiting for the client to invent one.

Most freelancers accept whatever milestone structure the client sets up: often one milestone for the whole project, or a tidy split unrelated to how the work actually happens. Both are fixable, ideally before the contract starts.

This guide covers how milestones work mechanically, how to structure them, how many to use, how to propose them, and what to do when the plan changes mid-contract.

A quick note: Upwork adjusts its contract screens and review periods from time to time. The mechanics below reflect how fixed-price contracts work today, but check the current help pages if a specific number matters to you.

How Upwork milestones work

On a fixed-price contract, the total price is split into one or more milestones. Each milestone has a name, a description, an amount and usually a due date. The cycle for each one is the same:

  1. The client funds the milestone. The money moves into escrow and sits with Upwork, not with the client.
  2. You do the work for that milestone and only that milestone.
  3. You submit the work through the contract.
  4. The client reviews it and either approves, requests changes, or does nothing. If they do nothing, the milestone is approved automatically after the review window, which is currently fourteen days.
  5. The money is released to you, then becomes available after Upwork's security period.

How to get paid on Upwork walks through the timing of that last step in detail. The part that matters here is step one. A fixed-price contract can exist with nothing in escrow. Creating the contract and funding a milestone are separate actions, and only funding protects you.

Why milestone structure matters

It is tempting to treat milestones as admin. They are doing three jobs at once.

They limit your risk

At any moment, the amount you could lose is the work you have done that is not yet covered by a funded milestone. With one milestone for the whole project, that number is the whole project until the client funds it, and even after funding you are waiting until the very end to see any money. With smaller milestones, you are never far ahead of the money and you get paid as you go.

They define the scope

A milestone called "Website" means whatever the client decides it means on the day they review it. A milestone called "Homepage and About page designed in Figma, two rounds of revisions" is checkable. When a new request arrives, it either fits an existing milestone or it obviously does not. Upwork scope creep explains why this is the single most useful defence against unpaid extra work.

They set the review rhythm

Each milestone is a checkpoint where the client looks at the work and says yes. Regular checkpoints catch misunderstandings early, when they are cheap to fix. A single delivery at the end means any misunderstanding is discovered after all the work is done.

How to structure milestones

There is no universal template, but a few principles hold across most kinds of work.

Tie each milestone to a deliverable, not a date or a percentage

"Week 1" and "50% upfront" describe time and money. They do not describe work. A client approving "Week 1" has nothing specific to check, which makes approval feel subjective. Name the output instead: the wireframes, the first draft, the working login flow, the cleaned dataset. Write the description so a stranger could tell whether it was delivered.

Keep the first milestone small

The first milestone does more for trust than for money. It shows the client you deliver, and it shows you the client funds, reviews and approves on time. A small, quick first milestone gets that information to both of you early. If a client funds the first milestone promptly and approves it fairly, the rest of the contract usually goes the same way. If they stall on a small one, you have learned something important at low cost.

Weight the amounts toward the work

Split the price roughly in proportion to the effort each stage takes. If development is most of the work, development should be most of the money. A structure that holds back a large final payment for a small finishing step gives the client leverage at the end, when you have the most work at stake.

Put revisions inside milestones, and say how many

Each milestone description should state what revisions are included, and what is excluded. "Two rounds of revisions on the draft, copy provided by client" is clear. Leaving it unstated invites unlimited rounds, and the review window resets in practice every time the client asks for one more change.

How many milestones should you use?

It depends on the size and length of the project, but a rough guide:

More milestones is not always better. Each one is a funding request and a review cycle, and a client asked to approve something every two days will start to feel managed. Aim for checkpoints that match natural breaks in the work.

Proposing milestones in your proposal

When you apply to a fixed-price job, the proposal form typically lets you choose whether to be paid by milestone or for the whole project at once. Choosing milestones and writing them out does two things for you.

First, it shows the client you have thought about how the work will actually happen. A clear three-step plan with deliverables and amounts reads as competence. How to write an Upwork proposal makes the case that showing you understand the job beats describing yourself, and a milestone plan is one of the most concrete ways to do that.

Second, it anchors the contract. Clients often copy the structure from the winning proposal into the offer. If you proposed the split, you are far more likely to get a split you can live with than if the client builds one from nothing.

If the scope is still unclear, propose a small first milestone for discovery or a first draft, and say the rest will be confirmed once that is done.

Checking milestones before you accept

When the offer arrives, read the milestones against what you agreed. Upwork contract offers covers the full checklist, but for milestones specifically, look for:

Asking for a change at this stage is normal. It is far harder to change the structure once work has started.

When things change mid-contract

Plans change. The contract can change with them, as long as you keep it inside Upwork.

Adding work

When the client asks for something outside the scoped milestones, the clean answer is a new milestone. Something like: "Happy to do that. It is outside what we scoped, so I will add it as a new milestone at [price] and start once it is funded." On most fixed-price contracts, either side can propose an additional milestone, and the client funds it like any other.

Editing an unfunded milestone

If a future milestone has not been funded yet, its amount or description can usually be adjusted by agreement. Do it in the contract, not just in chat, so the record matches what you are delivering.

A client who will not fund the next milestone

Stop at the funded line. Deliver what was funded, submit it, and wait. Starting unfunded work as a goodwill gesture is the single most common way freelancers lose money on fixed-price contracts. If a client keeps delaying, Upwork client not paying covers your options, and how to end a contract on Upwork covers closing it cleanly.

Red flags around milestones

A few patterns are worth stopping for:

Most of these show up earlier than the contract if you look. Clients with real spend, a solid hire history and verified payment rarely play milestone games. How to spot good Upwork clients covers what to check.

Milestones protect the work, filters protect the pipeline

Good milestone structure keeps you safe once you have a contract. It does nothing for the harder part, which is getting in front of the right clients before the job post fills up. That is where most freelancers lose, and it is the problem Upwork Scout is built for. It watches Upwork continuously, filters jobs by payment verification, client spend, hire history and proposal count, and emails you the matches while they are still fresh. The free tier lets you set up your filters and start getting alerts today.

The bottom line

Milestones are how fixed-price work on Upwork gets paid, scoped and protected. Tie each one to a checkable deliverable, keep the first one small, weight the money toward the real work, and state the revisions and exclusions in the description. Propose your own split in the proposal so the offer starts from your plan. Check the milestones again before you accept, add new ones for new work, and never start a milestone that is not funded.

FAQ

How do milestones work on Upwork?

A milestone is one named, funded part of a fixed-price contract. The client deposits the milestone amount into escrow, you complete and submit the work, and the client approves it to release the money. If the client does nothing during the review window, currently fourteen days, the milestone is approved automatically.

Should I start work before a milestone is funded on Upwork?

No. A fixed-price contract can exist with nothing in escrow, and Upwork can only release money a client has actually funded. Wait until the milestone you are about to work on shows as funded, then start.

How many milestones should an Upwork project have?

A job of a few days can use one milestone. A one to four week project usually works well with two to four, starting with a small first milestone. On longer projects, keep each milestone to roughly one to three weeks of work so you are never far ahead of the money.

Can I add a milestone to an existing Upwork contract?

Yes. On most fixed-price contracts either side can propose an additional milestone, and the client funds it in escrow like any other. It is the cleanest way to handle extra work that falls outside the original scope.

Stop refreshing Upwork.

Upwork Scout scans around the clock, filters by client quality, and AI-scores every job against your profile — then emails you only the ones worth applying to.

Get job alerts free →

Keep reading