Send an offer from a job post

Have more questions? Submit a request

Upwork allows you to hire freelancers or agencies by sending customized offers, including fixed-price or hourly terms. You can create milestones manually or with Uma™, Upwork’s AI. Offers expire in seven days, but can be edited or withdrawn if still pending. Direct hiring without a job post is also available.


In this article

Overview

Hiring on Upwork involves sending a clear, complete offer through the job post or freelancer’s profile. You can customize payment terms, switch between hourly and fixed-price, and even hire directly without a job post. Offers expire after seven days, and only pending offers can be edited or withdrawn.

Once you’ve found the right freelancer or agency for your project, hiring them is easy.

Important to know:
You’re entering into a contract, so double-check that the project description is clear and complete and that the rate or total amount and milestones are correct.

To hire a freelancer or agency

  1. Go to Hire talent > Job posts and proposals
  2. Open the job post
  3. Locate the freelancer or agency you want to hire
  4. Select the Hire button
  5. Send the offer

Once you’ve selected Hire, you can update the offer to include the project title, description, payment terms, and milestones for fixed-price jobs.

Create milestones with Uma™, Upwork's Mindful AI

For a fixed-price job post, you may see the option to Generate milestones to get help from Uma™, Upwork's Mindful AI — it's not available to everyone yet.

  1. In the milestones section, select Generate milestones
  2. You can accept, edit, add, or delete the suggestions, or ask for new suggestions

If the freelancer included milestones in their proposal, you can use those, create your own, or select Generate milestones to get help. If you generate milestones with Uma, you’ll still be able to see what the freelancer suggested.

Sending offers to agencies

When hiring an agency, your offer is sent to a specific team member—but payments go to the agency, not that individual. The agency handles internal payments to their team outside of Upwork.

After you send the offer

The freelancer or agency can respond in one of several ways:

  • Accept the offer, and you'll have a contract
  • Request changes to the offer directly from the offer (not available to agencies)
  • Message you to discuss different terms
  • Decline your offer and withdraw their proposal

The freelancer or agency has seven days to respond before the offer expires. If they request changes, the original offer still stays open for the initial seven days unless you send a revised offer. A new seven-day window begins once you send an updated offer.

You can confirm your new contract is active by going to your dashboard and checking the contract list. For hourly jobs, your freelancer can’t log time until the start date.

Heads-up if you’re just getting started:
If you're new to Upwork or haven't hired (and paid) a freelancer yet, you might notice a limit on how many offers you can send each day. No worries—it’s just a temporary cap to help keep things safe for everyone. If you hit your daily limit, you’ll see a message letting you know.

Change or withdraw an offer

You can withdraw or change your offer — as long as the freelancer or agency hasn’t already accepted it. You can even switch between hourly and fixed-price. If your offer has already been accepted, you’ll need to end the contract.

To change your pending job offer:

  1. Go to Hire talent > Pending offers
  2. Find their pending offer and select See Offer
  3. Select Modify offer
  4. Select Continue

To withdraw your pending job offer:

  1. Go to Hire talent > Pending offers
  2. Find their pending offer and select See Offer
  3. Select Withdraw offer
Important: If you withdraw an offer on a fixed-price contract, any funds you’ve already deposited for milestones—along with any associated fees—will be automatically refunded. It can take up to five business days for the refund to appear.

Resend a canceled offer

If you withdraw an offer by mistake, change your mind, or the freelancer accidentally declines it, you can easily send a new one.

  1. Go to your conversation with the freelancer in your messages
  2. Find the message that contains the offer and select View offer
  3. Open the offer’s menu (...) and choose Make new offer
  4. Update the offer terms and select Send offer

What’s the difference between fixed-price and hourly contracts?

Learn about the differences here.

What fees should I be aware of when I send an offer?

You’ll pay a Client Marketplace Fee on all client payments and a Contract Initiation Fee for each new contract.

Can I hire a freelancer without creating a job post first?

Yes. To do so, open the freelancer’s profile and choose Hire to create and send the offer terms. If you’ve worked with someone before, you can choose the Rehire button on their profile and send your offer. Learn more about hiring directly here.

Articles in this section

Was this article helpful?
0 out of 0 found this helpful
Share

Comments

0 comments

Article is closed for comments.