Loading
{ "global": { "icon": "info", "start": "", "end": "" }, "responsive_group_1": { "country": "All", "usertype": "all", "icon": "info", "start": "", "end": "" }, "responsive_group_2": { "country": "All", "usertype": "all", "icon": "info", "start": "", "end": "" } }
[ "filter-fl", "filter-ag" ]

Understanding milestones on fixed-price contracts

In this article


What is a milestone?

A milestone is a way to divide a fixed-price contract into smaller chunks, if needed. Each milestone represents a part of the work, along with a set payment. When you submit work for a milestone and the client approves it, you get paid for that piece before moving on to the next. Note: Some fixed-price contracts may only have one milestone. You and your client can always discuss the number of milestones needed for a contract. 


Why milestones matter

  • Clear expectations – You and your client know what’s due and when
  • Payment protection – We hold the milestone funds in a secure place while you complete the work
  • Better workflow for certain projects – Tackle complex work in smaller, focused stages


Best practices for working on a fixed-price project and milestones

Whether you’re new to Upwork or a seasoned pro, here are best practices to help you succeed on every fixed-price contract:
 

1. Align on scope before the contract begins

Before accepting a fixed-price offer, make sure you and your client agree on:

  • Exactly what work you’ll deliver
  • When you’ll deliver it
  • How feedback and revisions will be handled
  • What success looks like

If anything feels unclear, ask questions or propose changes to the offer before accepting. This can help avoid scope creep and misaligned expectations later on.


2. Break the project into milestones

Milestones divide the project into manageable pieces and give you — and your client — natural checkpoints to stay aligned. A good milestone should have:

  • A clear deliverable
  • An estimated delivery date
  • An agreed-upon payment amount


3. Don’t start work before a milestone is funded

We hold the fixed-price funds your client deposits in a secure account. This means the client pre-pays for a milestone, and we hold those funds until the work is approved.

Only begin work when a milestone is funded. If you don’t see the milestone marked as “funded,” the client hasn’t deposited the money yet.

Desktop.png


4. Keep communication clear and documented

Use Upwork Messages to:

  • Share updates
  • Ask clarifying questions
  • Discuss revisions

This helps protect you in case of disputes and keeps all project details in one place.


5. Submit work through the “Submit Work” button

When a milestone is complete, submit your work by going to: 

  1. Deliver work > Your active contracts
  2. Select Submit work on the contract

This triggers the review period:

  • The client has 14 days to approve the work or request changes
  • If they don’t respond, the funds are automatically released to you

Important: Avoid delivering final work only through Upwork Messages — always follow the steps above so the 14-day review period begins.


Learn more about milestones

 

Was this article helpful?

Upwork Help

Do you need additional help?

Get Support

Log in for personalized service and assistance.