Freelancer payment guide

Upwork fixed price payment protection: a milestone delivery checklist

By Freelance Signal Editorial Team Updated
A funded milestone capsule is sealed inside a transparent protective lockbox.

You decide whether a milestone still qualifies for Fixed Price Payment Protection at three moments: before you start, when the scope drifts, and when you submit. The rules are easy to state and easy to break. Upwork protects work that matches a milestone the client funded ahead of time and that you handed over through the official flow. Slip on one of those points and the protection can fall away for money you already produced.

Hourly contracts use a different evidence and protection model. If a client asks you to enter hours manually, compare manual time with tracked hourly protection before agreeing.

The three gates, in one line

What keeps a fixed price milestone eligible for payment protection
Gate What to confirm Why it matters
1. Funded first A “Funded” label sits next to the milestone before you start Only money deposited in project funds is covered; an unfunded milestone cannot be recovered later
2. Scope matches The deliverable matches the milestone description Work outside the approved scope is a stated reason protection can fail
3. Official submit You click Submit through Deliver work > Active contracts Sharing a file in Messages or email does not start the review period

Gate 1, before you start: is the milestone funded?

Protection begins with money the client has already put aside. Upwork holds that payment in project funds, which it used to call escrow. Look for the Funded label next to the milestone before you begin. If the client has not funded it, Upwork is direct about the consequence: it cannot help recover the payment later. Only milestone amounts sitting in project funds are covered by Fixed Price Protection.

  1. Confirm the Funded label is visible on the milestone.
  2. Record the funded amount, the milestone description and the deadline.
  3. Save a screenshot of the milestone details before you start.
  4. If there is no Funded label, stop and ask the client to fund the milestone before you work on it.

Gate 2, when the scope drifts: does the deliverable still match?

Protection covers work that aligns with the milestone description. When the client asks for something bigger, extra or just different, the new work can land outside the protected scope. Do not quietly absorb it. Compare the new deliverable with the milestone, then ask the client to update the milestone before you build the out of scope part. Submitting something that does not match the scope is one of the ways Upwork says protection can stop applying.

If the client sent a request in Messages, keep that message. It documents what was asked and when. It is not a funded milestone by itself, but it is useful evidence if you and the client later disagree about the approved scope.

Gate 3, submission: use the official Submit flow

Submit through Deliver work > Your active contracts > Submit work. You can include a short note to the client. Here is the nuance that trips people up: even if you already shared the file in Upwork Messages, by email, or directly in the client’s document, you still need to click Submit. That click is what starts the 14 day review period, and you do not have to re upload the work to do it.

Files up to 1 GB can be sent through Upwork Messages. For larger deliverables, use a share link or the client’s preferred file sharing service. Handing work over only in Messages or outside the Submit flow is another stated way to put protection at risk.

What happens after you submit

Once you click Submit, the money moves through a fixed sequence. The client can act, or the timeline can auto advance. The table keeps the stages straight.

Fixed price payment stages after you submit work
Stage What happens Your move
Work in progress Client funded the milestone; money sits in project funds Confirm the funded amount before starting
In review (up to 14 days) Client can approve, request changes, take no action, or request a refund If changes are requested, review resets when you resubmit
Pending (5 days) After approval or auto release, a five day security hold applies Wait out the hold; fixed price does not qualify for faster payments
Available Funds are ready to withdraw Withdraw manually or on your automatic schedule

When the client does nothing, or asks for a refund

Two rules govern the quiet periods. First, if the client takes no action for 14 days after you submit, the funds are released automatically. Second, if the client requests a refund on a funded deposit, you have 7 days to approve it or dispute it; after that the remaining funds can go back to the client. Only hourly contracts qualify for faster payments that skip the review period, fixed price contracts always follow the standard timeline.

If a milestone is not released: the dispute window

You can file a fixed price dispute when a client releases nothing, releases only part, requests a refund, or ends the contract with funds still in project funds. The deadlines are short, so keep them near the top of the calendar: Freelancer.com uses a different milestone process and response timing, documented in the Freelancer.com dispute deadlines and evidence guide.

Fixed price dispute timeline from the official Upwork guidance
Step Window
File the fixed price dispute Within 7 calendar days of the unreleased milestone
Client responds Within 5 calendar days
No client response The requested funds are released to you
Non binding resolution Typically offered within 2 days; each party has 2 days to accept or reject it
No response or a decline Notice of Non Resolution; the remaining route is binding arbitration

A non binding resolution is a recommendation, not a legal judgment. Neither side has to accept it. Decide before you file whether you want to spend time on a process that can end in arbitration.

Two legal term details that surprise freelancers

Two points from the current Fixed Price Service Contract Escrow Instructions are worth knowing before you rely on them, because they are easy to misread. First, when a client bulk funds several milestones at once, each milestone stays a separate funded deposit with its own identifier, releasing one does not release the others. Second, an engagement left inactive for a long stretch can return project funds to the client, and a very large single milestone can carry more exposure if the client goes quiet. Terms like these change; recheck the current Escrow Instructions before treating a specific detail as settled.

Protection is not a guarantee, keep a decided/undecided ledger

Upwork is explicit that payment is not guaranteed in every case. Its own wording is eligibility for a dispute process and access to available funds, not a promise that every claim pays out. Keep the columns separate in your own notes:

What you can document versus what is not guaranteed
Condition you can document Consequence documented by Upwork Not guaranteed
Milestone was funded before work began Funds sit in project funds and can be held for dispute Every dispute is resolved in your favor
Work matches the milestone description Protection remains in view A specific outcome, even with good evidence
You submitted through the official flow The 14 day review period starts Release on your first request

A neutral message template for scope and funding

When the milestone needs updating or funding, ask directly and leave a written record. This wording is deliberately neutral, no legal threat, no escalation, just the request on the record.

For an unfunded milestone: “Before I start on this, could you fund milestone [name] at [amount]? I want to confirm it shows the Funded label so the project funds are in place, and so I can match the scope before I begin.”

For a scope change: “This new request goes beyond the milestone as written ([one line description]). Could you update the milestone to cover it before I build it? I want the deliverable to match what’s approved.”

Where payment protection sits next to other money questions

Protection ends where clearance begins. After funds become available, the withdrawal timing is a separate question, see when Upwork earnings become available. Pricing a proposal so the protection still makes sense is its own decision; the contract fee rate worksheet handles that. Account friction like a beneficiary name mismatch or an automation related restriction runs on different rails and has its own remediation path.

Official sources

Reader discussion

0 approved comments

Share a specific question, correction, or first-hand workflow detail. Do not include private financial or identity information.

Join the discussion

Plain text only. URLs, email addresses, HTML, Markdown, BBCode, and code snippets are not accepted. All comments are reviewed before publication.

Plain text only. URLs, email addresses, HTML, Markdown, BBCode, and code snippets are rejected.