Upwork Milestones Explained: How They Work, How to Get Paid, and How to Change Them

David IyaDavid Iya October 11, 2026 9 min read

Upwork milestones: the short answer

Upwork milestones are how a fixed-price contract is broken into smaller, separately paid pieces of work. Each milestone has a deliverable, a due date and an amount. The client funds a milestone up front, Upwork holds that money, you do the work and submit it, and once the client approves (or 14 days pass with no response) the payment is released to you. Then the next milestone gets funded and the cycle repeats. Milestones only exist on fixed-price contracts. Hourly contracts are billed on logged time instead.

Everything below comes from Upwork's own help center articles on milestones, submitting work, fixed-price payments and Fixed-Price Payment Protection, checked on the day this post was written. Upwork updates these flows often, so if you are reading this much later, confirm the details in the help center.

How a milestone moves from funded to paid

Every milestone goes through the same five stages. Knowing where your money sits at each one stops most of the panic messages freelancers send clients.

The fixed-price milestone payment flow, per Upwork's help center

StageWhat happens
1. FundedThe client deposits money for the milestone. It shows under Work in progress, and the milestone carries a Funded label.
2. SubmittedYou deliver through Submit work. The funds move to In review.
3. In reviewThe client has up to 14 days to approve, release a partial or larger amount, or request changes. If they do nothing, funds release automatically.
4. PendingApproved or auto-released funds go through a five-day security hold to protect against fraud and chargebacks.
5. AvailableYou can withdraw manually or on your automatic withdrawal schedule.

Two details worth knowing. If the client requests changes and you resubmit, the 14-day review period starts again. And fixed-price contracts never qualify for Upwork's faster payments, which only apply to eligible hourly contracts. If cash flow timing matters to you, the full picture is in [how long does Upwork take to pay](/blog/how-long-does-upwork-take-to-pay).

The milestone rules that actually protect you

Upwork's Fixed-Price Payment Protection is only as good as your habits. Per Upwork, you may be covered when three things are true: the milestone was fully funded before you began, you delivered through the Submit Work for Payment flow, and the work matches the milestone description. Upwork is blunt about the flip side: if a milestone is not funded in advance, it cannot help you recover payment later.

  1. Never start before you see Funded. No label means the client has not deposited the money yet, no matter what they say in chat.
  2. Always click Submit work. Go to Deliver work > Your active contracts and select Submit work on the contract. Even if you already sent the files in Messages, by email, or straight into the client's site or doc, you still need to click Submit to start the 14-day clock. You do not have to upload the work again.
  3. Keep the description honest. The milestone description is what your work gets measured against in a dispute. If the scope changes, get the milestone updated first.
  4. Do not deliver after the contract ends without a written agreement. Upwork lists that as one of the situations protection does not cover.
  5. Keep the conversation on Upwork. Upwork recommends using Messages for updates, questions and revisions so the record exists if something goes wrong.

Key milestone limits on Upwork

Milestone limits and rules, per Upwork's help center

RuleDetail
Minimum amount$5 USD per milestone.
Maximum per contract200 milestones. After that, the contract has to be closed and a new one created.
Active at onceOne. The current milestone has to be paid out before the next can be activated and funded.
FundingClients fund one milestone at a time. They do not have to fund the whole project up front.
Review window14 days after you submit. No response means automatic release.
Security holdFive days after approval or auto-release, before funds are available.
File sizeUp to 1 GB per file through Upwork Messages. Larger deliverables need another sharing method the client agrees to.

The one-active-milestone rule matters more than it looks. Because only one milestone can be funded at a time, a client who funds milestone one has not committed a cent to milestone two yet. Plan your workload accordingly.

How to propose or change a milestone as a freelancer

Freelancers cannot edit milestones directly. You can only send requests, and the client approves or declines every one. Here is what you can do, per Upwork's help center:

  • Propose a new milestone: go to Your active contracts, open the contract, choose Propose a new milestone in the Overview tab, enter the details, save, and select Send Request.
  • Change a future milestone: open the contract, choose Manage milestones, select the pencil icon on the milestone, edit the amount, due date or other details, save, and send the request. You can also ask for a future milestone to be removed.
  • Withdraw a request: if the client has not responded, open Milestones & Earnings, choose View Changes, then Withdraw. To edit a request, withdraw it and send a new one.

A few rules catch people out. You cannot propose changes to the active milestone, only future ones. Your request does not expire, and the client has to accept or decline it before they can make their own changes to future milestones. On agency contracts, only the agency manager can send milestone requests.

Clients, on the other hand, may be able to request changes to an active milestone (title, description, due date or amount) as long as you have not submitted work for it. Upwork notes this feature is not available to everyone yet. You approve or reject it. If you submit work or the client releases payment while the request is pending, it is cancelled automatically, and if nobody acts it expires after seven days. If a client adds a milestone you never agreed to, ask them to delete it.

How I would structure milestones on a new contract

Upwork says a good milestone has a clear deliverable, an estimated delivery date and an agreed payment amount. That is the floor. This is the structure I recommend on top of it, especially with a client you have not worked with before:

  1. Make the first milestone small and fast. It proves the client funds on time and approves without drama before you commit serious hours.
  2. Tie every milestone to something the client can see. A wireframe, a draft, a working feature. Not "50% of the project", which nobody can approve with confidence.
  3. Write the revision terms into the description. How many rounds are included is the line between a revision and new work.
  4. Avoid one big final milestone on long projects. If the whole budget sits on the last day, you carry all the risk until the very end. Upwork's own tip is to break big projects into smaller milestones so you are paid as you go.
  5. Agree the plan before you accept the offer. Changing milestones later needs the client's approval every time. Fixing them on the offer is one Request changes away, as covered in [how to accept an offer on Upwork](/blog/how-to-accept-an-offer-on-upwork).

If you are still deciding whether a job should be fixed-price at all, start with [Upwork fixed-price vs hourly contracts](/blog/upwork-fixed-price-vs-hourly-contracts).

When the client will not release a milestone

If you submitted through Submit work and the client goes quiet, the 14-day auto-release does the job for you. The harder cases are when a client releases less than the milestone amount, asks for a refund of the deposit instead of paying, or ends the contract with money still held.

  • Partial release: the client can put the leftover toward the next milestone, or request a refund of it. If they request a refund, you can agree or start a dispute.
  • Refund request: you can approve it, or dispute it, but Upwork says you need to dispute within seven days of the request.
  • Disputes over project funds can be filed when a client does not release a milestone, releases only part of it, requests a refund, or ends the contract with funds still held.

Talk to the client first, in Upwork Messages, before reaching for a dispute. If that goes nowhere, the step-by-step is in [a client opened a dispute on Upwork](/blog/upwork-client-opened-a-dispute), and if they have simply vanished, see [Upwork client not responding](/blog/upwork-client-not-responding). A client who wants to finish the job and pay you off-platform instead is a red flag, covered in [when a client wants to pay outside Upwork](/blog/client-wants-to-pay-outside-upwork).

Free Upwork growth tips, straight to your inbox

Short, practical drops on proposals, niches, client scripts, and rates. No spam, unsubscribe anytime.

Frequently asked questions

What is a milestone on Upwork?

A milestone is a piece of a fixed-price contract with its own deliverable, due date and payment. The client funds it before work starts, you submit the work, and payment is released after the client approves or after 14 days with no response.

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

No. Upwork says to only begin work when the milestone is marked Funded, and that if a milestone is not funded in advance it cannot help you recover payment later.

How do I submit a milestone on Upwork?

Go to Deliver work > Your active contracts and select Submit work on the contract. You can add a short message. Even if you already shared the work elsewhere, you still need to click Submit to start the client's 14-day review period.

What happens if the client does not approve a milestone on Upwork?

If the client takes no action within 14 days of your submission, the funds are released to you automatically. They then go through a five-day security hold before you can withdraw them.

Can I change a milestone on Upwork as a freelancer?

You can request changes to future milestones and propose new ones, but the client has to approve them. You cannot change the active milestone yourself. Clients may be able to request changes to an active milestone, which you can approve or reject.

What is the minimum milestone amount on Upwork?

Each milestone must be at least $5 USD, and a contract can have up to 200 milestones.

Can a client fund all milestones at once on Upwork?

No. Only one milestone can be active and funded at a time. The client releases payment on the current milestone before the next one can be activated and funded.

Last reviewed by David Iya on October 11, 2026

David Iya

Written by

David Iya

Forbes 30 Under 30 ยท Y Combinator

Keep reading

ContractsClient Management

Upwork Contract-to-Hire: How It Works for Freelancers, the Conversion Fee, and What You Give Up

Upwork contract-to-hire lets a client turn a freelance contract into a full-time role. You can flag that you are open to it, filter for it in job search, and accept or reject a conversion request. The client pays a one-time Conversion Fee of 13.5% of an estimated annual rate before any payment moves off Upwork. Here is how the whole process works from the freelancer side, and what you lose once it is done.

David Iya 8 min
Read article
ContractsClient Management

Upwork Contract Paused: What It Means, Who Paused It, and What to Do Next

A paused Upwork contract means you can no longer log billable time on it. Either the client paused it to put the work on hold, or Upwork paused it, usually because of a problem with the client's account or billing method. Stop working right away, because work done during a pause is not covered by payment protection. Here is how to tell which kind of pause you have and what I would do in each case.

David Iya 8 min
Read article

Ready to build it yourself?

Join Upwork Income Club, the #1 community for building income on upwork, for $9/month.

โ† Back to the blog