TL;DR: Either side can end an Upwork contract at any time, and ending one is not, by itself, a mark against you. What damages you is ending it in the wrong order: closing before the money is settled, closing before you have submitted work or logged time, and closing without leaving feedback. Do it in this sequence and the exit is clean. Settle the money first (release or submit the final funded milestone, log and submit hourly time), send a short professional message, end the contract with an honest reason, then leave measured public feedback inside the feedback window. The contracts that end badly almost always announced themselves in the job post, which is why screening clients before you bid is the cheapest form of contract management there is.
Freelancers ask how to end an Upwork contract in two very different moods. One is happy: the work is done, the client is pleased, and you want to close it out properly so the review lands. The other is not: the client keeps adding work, keeps not funding milestones, or has gone quiet for three weeks while the contract sits open. The mechanics are the same in both cases. The order of operations is what separates a clean exit from a lost payment or a dent in your Job Success Score.
Ending a contract is normal, and it is not what hurts you
There is a persistent worry that closing a contract is an admission of failure Upwork logs against you. It is not. Contracts end constantly, on both sides, for ordinary reasons: the project finished, the budget ran out, the client's priorities moved, the scope changed into something you do not do.
What Upwork records is the outcome, not the act. A contract that ends with completed work and a good review is a positive outcome. A contract that ends in a dispute or a refund is a heavy negative. A contract that ends in total silence, with no feedback from either side, is not neutral either, which surprises people and is the single most common way a technically fine project quietly costs you something.
So the goal is never "avoid ending contracts". The goal is to control which of those three endings you get.
Settle the money before you press the button
This is the rule that saves the most money, and it is the one most often broken by people who are annoyed and want out today. Closing the contract is the last step, not the first. What "settled" means depends on the contract type, and the difference is the practical half of the fixed-price versus hourly decision.
Fixed-price contracts
Money on a fixed-price contract lives in escrow, and escrow only exists if the client funded the milestone. Before you end anything:
- Confirm the current milestone is funded. If it is not, there is nothing to claim and no protection to invoke. Work you did against an unfunded milestone is work you did on trust.
- Submit the work through the platform rather than by email or chat, because submitting starts the review clock. Once submitted, the client has a fixed window (14 days at the time of writing) to approve, request changes, or do nothing, and doing nothing releases the funds to you automatically.
- Only then close it. If you end the contract with funds still sitting in escrow and no submission, you are handing yourself an argument you did not need to have.
If the client is refusing to release properly submitted work, you are no longer in a "how do I end this" situation. You are in a dispute, and the process for that is covered in what to do when a client does not pay.
Hourly contracts
Hourly contracts settle on a weekly cycle rather than on your schedule, so the button you press today does not stop the billing that is already in flight.
- Log and submit your time before ending. Time tracked with the desktop app, with activity and memos, is the only time that carries Hourly Protection. Manually added hours are the most commonly rejected kind, and the moment to add them is while the contract is live and the client can see them coming.
- Expect the final week to bill on the normal cycle. Ending the contract does not accelerate the weekly billing, review, and security period. Your last payment arrives on the schedule described in how you get paid on Upwork, not the day you close.
- Settle anything off the clock first. If there is an agreed bonus or an unbilled chunk of work, arrange it while the contract is open. Chasing money on a closed contract depends entirely on a client's goodwill, which is exactly the resource you are short of if you are ending on bad terms.
What ending it actually does to your JSS
Nothing, directly. The score responds to the outcome and the feedback attached to the contract, so a closed contract with a five-star public review and a positive private answer is one of the best things you can have. The nuances worth knowing:
- A no-feedback close still counts. If neither of you leaves anything, the contract does not vanish from the calculation. This is why the correct move on a quiet client is to leave your feedback rather than to shrug and close.
- Private feedback carries the real weight. Clients answer a separate question you never see, essentially whether they would hire you again. A polite five stars in public and a no in private is a common and invisible combination.
- A refund is not an eraser. Refunding a client to make a bad review go away is folk advice that has been true, partly true, and not true at different points in Upwork's history. Upwork's policy here is Upwork's to interpret, and the current version lives in their Help Center. Treat a refund as a business decision about the money, not as a guaranteed reset button on your record.
- Who ends it does not decide the score. There is no penalty stamped on the freelancer for being the one who closed the contract. The outcome does the work.
The feedback window, and why you should go first
When a contract closes, both sides get a window (14 days at the time of writing) to leave a public star rating and comment. The system is double-blind: you cannot see the client's review before you write yours, and they cannot see yours. Everything publishes when both sides have submitted, or when the window expires.
Two practical consequences follow from that.
First, leaving honest feedback does not invite a revenge review on that same contract. By the time your words are visible, theirs are already locked in. The fear of retaliation that keeps freelancers writing "great client!" about someone who withheld payment for a month is mostly a misunderstanding of how the window works.
Second, your public reviews are a page future clients read. Write for that reader, not for the one who annoyed you. Compare these:
Client was completely unreasonable, kept changing everything and would not pay on time. Avoid.
Scope expanded significantly after kickoff, and revisions ran well past what we had agreed. Deliverables were completed and approved. Best suited to a client with a defined brief.
The second one costs a difficult client nothing they did not earn, and it makes you look like someone with standards rather than someone with a grudge. Prospective clients read the second and think "professional". They read the first and wonder which side was the problem.
When to fire a client
Ending a contract you chose is harder than ending one that finished, so it helps to have the triggers written down in advance rather than deciding while irritated.
- Repeated unfunded work. A client who wants the next piece started before the next milestone is funded is telling you how the last payment will go.
- Scope creep with no change order. Additions are normal. Additions with no new milestone, no new hours, and a "quick favour" framing are a pattern, not an accident.
- Pressure to move off-platform. Payment outside Upwork means no escrow, no dispute process, and no protection of any kind. This is also one of the clearest markers in how to spot Upwork job scams.
- Disrespect or abuse. No rate makes this worth it, and it never improves after the first contract.
- The maths stopped working. An hourly rate eaten by unpaid meetings, or a fixed price that has quietly become three times the agreed work, is a reason to renegotiate once and then leave.
The counterweight is that a contract with a decent client going through a rough patch is worth saving, because long-term clients are the most valuable thing on the platform. Try one direct conversation before you close anything: state the problem, propose the fix, name the deadline. Many clients simply did not know they were doing it.
How to end it professionally
Do these in order, and there is very little left to go wrong.
- Message first, close second. Never let the closure notification be the announcement. A short note gives the client a chance to settle up and preserves the review.
- Deliver everything that is paid for. Handover files, access, credentials, a one-paragraph status of what is done and what remains. This is what turns a resentful client into a neutral one.
- Settle the money using the fixed-price or hourly checklist above.
- End the contract and pick an honest reason from the dropdown. It is not a public statement, and dressing it up helps nobody.
- Leave your feedback promptly, while you still remember specifics and well inside the window.
A wind-down message that works, in three sentences: thank them for the work, state clearly what is complete and what is being handed over, and give a clean reason for closing that does not litigate anything. "I have delivered the final files and updated the shared doc, and I am closing the contract now since the remaining work has moved outside what I take on. It was good working with you, and I am happy to recommend someone for the next phase."
The contracts that end badly were bad at the start
Almost every contract that ends in a dispute, a refund, an unpaid week, or a silent private no was visible as a risk before a single Connect was spent: no verified payment method, zero lifetime spend, a low hire rate, a two-line brief, or a review history full of contracts that ended without feedback.
Those signals are not hidden. They sit in the client panel on the job page as structured data. The problem is that reading them on every promising post, fast enough to still be early, is more work than a morning contains, and Upwork's own search will not do it for you. It offers a payment-verified toggle and little else, which is why the full read on this lives in how to spot good Upwork clients.
Upwork Scout does that pass automatically. It scans the feed continuously, opens the full detail on each job rather than reading the snippet, and applies the floors you set: minimum client spend, minimum past hires, minimum client rating, payment verified only, maximum proposal count, and skipping posts that already hired. What survives gets scored against your actual profile before it reaches your inbox. The free tier covers three categories, fifteen alert emails a day, and daily AI scoring, which is enough to stop the worst contracts from ever becoming yours to end.
The bottom line
Ending an Upwork contract is a sequence, not a decision. Settle the money first, because escrow, submitted work, and tracked hours stop being available the moment the contract closes. Message before you close, choose an honest reason, then leave factual public feedback quickly, knowing the double-blind window protects you from a retaliatory review on that job. Ending contracts does not damage your Job Success Score, and neither does being the one who ended it. Bad outcomes do, along with the closures where nobody says anything at all. Since the contracts that end badly are usually recognisable as risky before you bid, the most effective exit strategy is the one that happens at the start, when you decide which clients are worth a proposal at all.
Frequently asked questions
Does ending a contract on Upwork hurt your Job Success Score? Ending a contract is not itself a negative, and there is no penalty for being the party who closed it. What the score responds to is the outcome: completed work with good public and private feedback is a positive, while disputes and refunds are among the heaviest negatives. The case people miss is the contract that closes with no feedback from either side, which is not treated as neutral, so leaving your own feedback matters even when the client has gone quiet. The practical way to protect the score is to settle payment before closing, avoid letting a struggling contract decay into a dispute, and keep completing clean work afterwards, since recent outcomes carry more weight than old ones.
Can I end an Upwork contract with money still in escrow? You can, but you should not until the work is submitted. Escrow funds on a fixed-price contract are released either when the client approves your submitted work or automatically when the review window passes with no response from them, which at the time of writing is 14 days. If you close the contract without submitting, you give up the cleanest path to those funds and turn a mechanical process into a negotiation. The correct order is to submit the milestone through the platform, wait for approval or automatic release, and only then close the contract. If the client disputes a properly submitted milestone, that moves into Upwork's mediation process rather than a simple closure.
How do I end a contract with a bad Upwork client without getting a bad review? You cannot control what they write, but the feedback system limits the damage more than most freelancers realise. Reviews are double-blind, so neither side sees the other's until both have submitted or the window closes, which means honest feedback from you cannot trigger a retaliatory response on that same contract. Reduce the odds of a bad review by delivering everything already paid for, handing over files and access, and sending a short professional message before you close rather than after. Then write your own review factually rather than emotionally, describing what happened in neutral terms, because future clients read that page and a measured review makes you look like a professional with standards.