A reverse price negotiation transaction allows customers and providers to negotiate a custom price based on specific agreed-upon details within a transaction.
Whereas in “regular” marketplaces, providers create listings, and customers browse, select, and purchase products or services, in a reverse marketplace, these roles are flipped:
Customers create listings describing what they need.
Providers review these listings and submit offers with their proposed price and details.
The customer reviews the offers, submits counter offers, selects one, and completes the payment.
This transaction type is especially useful for marketplaces where customers:
Want to receive multiple offers from different providers.
Prefer negotiating details and pricing rather than booking a fixed service.
Don’t want to spend time browsing through each listing individually.
Examples include marketplaces for freelancers, contractors, or creative services where project details and pricing vary based on the final agreed-upon details and complexities.
The price negotiation process cannot be combined with listings that use availability (bookings) or stock (purchases of physical items). However, this can be enabled through custom coding. Learn more about custom coding.
You can enable the reverse price negotiation transaction by creating a new Listing Type in your Console, Listings → Listing type. When setting it up:
Choose the “Price negotiation” transaction setting.
Select the “Reverse” negotiation flow.
All listings created with this Listing type will automatically follow the reverse price negotiation process. The next sections of this article explain the different stages of this reverse negotiation process for customers, providers, and marketplace operators (admins).
Reverse price negotiation workflow and user experience
By default, listings that use the Reverse price negotiation process display a “Submit an offer” button. You can customize this button text through the Marketplace texts feature. For example, you might change the “Submit an offer” to “Provide a quote” or “Bid on the request”.
The reverse price negotiation process is designed for reverse marketplaces, so the user roles work the opposite way compared to a regular marketplace.
In this setup, providers perform actions typically performed by the demand side of the marketplace: they perform a search for listings and initiate transactions by submitting offers.
Customers, on the other hand, create listings about their requests or needs, then receive offers through them. This means the transaction begins when a provider responds to a customer’s request, rather than when a customer books or pays a provider’s listing. Here are the overall stage in the transaction:
Submitting the offer
Customer reacting to the offer
Provider reacting to the counter offer
Offer is accepted and paid
Delivering the order
Requesting changes
Accepting the order and review
Customer and provider views, possible actions, and next steps at each stage are described below.
Submitting the offer
The first step in the reverse price negotiation transaction begins when the provider submits an offer on the customer’s listing. After clicking “Submit an offer,” the provider is taken to the Offer page. Here, they must:
Enter a quote price.
Add additional details about their offer in the text box.
To submit an offer, the provider must have already added their payout details and completed Stripe onboarding verification. If this requirement is not met, the provider will see a message reading: “To submit an offer, you need to add your payout details.” Once payout details are added and the verification is complete, the provider can successfully click “Submit the offer.”
After submitting, the provider is redirected to the Transaction page, where they can view the transaction details, send follow-up messages or withdraw their offer if needed.
Customer reacting to the offer
After a provider submits an offer, it must be reviewed and responded to by the customer (the listing author). Customers can view all offers from providers on their Inbox page. Offers that have not yet been responded to will appear with the status “Offer pending.”
When the customer opens the Transaction page, they can view the quoted price and the message submitted by the provider. At this stage, the customer has three options:
Accept and pay: This option takes the customer to the checkout page, where they can complete the purchase by entering their billing details and paying with a credit or debit card.
Reject offer: This ends the transaction immediately. Once rejected, no new offers can be made for that transaction. Follow-up messages can still be sent.
Make a counter offer: This allows the customer to propose a new offer amount. A counteroffer can also be withdrawn by the customer after it has been made.
Provider reacting to the counter offer
After the customer makes a counter offer, the provider will see the transaction listed in their Inbox page with the status “Counteroffer.”
When the provider opens the Transaction page, they can view the counter offer amount and any message the customer included with it.
At this stage, the provider has three options:
Accept counter offer: This sends the decision back to the customer, who must then respond to the provider’s acceptance. The customer will again have three choices: Accept and pay, Reject offer, or Make a (new) counteroffer.
Reject counter offer: This ends the transaction immediately. After rejection, no new offers can be made.
Make a new counteroffer: This allows the provider to suggest a counter offer to the customer’s own counter offer. In this case, the customer will also again have three choices: Accept and pay, Reject offer, or Make a (new) counteroffer. The provider can also withdraw their counteroffer after it has been made.
Note: If either the customer or provider withdraws an offer or counteroffer by clicking the Withdraw button, the transaction will end and will no longer move forward. After an offer is withdrawn, neither party can submit new offers. However, they can still send messages on the Transaction page to continue communicating if needed. An offer can be withdrawn by the user who made the most recent offer, or by the provider if they have already accepted a counteroffer from the customer.
Offer is accepted and paid
Once the customer is happy with the offer, they can click on “Accept offer”. Doing this redirects to the checkout page, where the customer needs to enter their payment and billing details to pay for the order.
Delivering the order
After a customer has paid for the order, the provider needs to deliver the agreed-upon order for the service or product. To confirm delivery of the order, the provider needs to click “I’ve delivered the order” on the Transaction page once the work is completed.
If the provider does not click “I’ve delivered the order” within 75 days, the transaction will be automatically canceled, and the customer will receive a refund.
Requesting changes
After the provider clicks “I’ve delivered the order,” the customer has the option of requesting changes to their order by clicking “Request changes” on the Transaction page. Doing this opens a text box where the customer needs to specify what changes they want the provider to make.
Once the customer requests changes, the provider needs to view the feedback and make the necessary updates. After completing the revisions, the provider clicks “I’ve delivered the changes”. The customer can then review the updated delivery and either accept it or request more changes if further adjustments are needed. This exchange can continue until the customer is satisfied and accepts the final delivery, though there is a limit to how many times changes can be requested (more on this below).
If the customer does not take any action within 14 days, after the provider clicks on “I’ve delivered the order,” the transaction will automatically be marked as completed, and the payout to the provider will be triggered. The customer will receive one reminder email about this if they haven’t reacted to the initial deliverable in 5 days.
Accepting the order and review
Once the customer is satisfied with the provider’s delivery, they can click “Accept order.” This action triggers the payout to the provider and moves the transaction to the review stage.
At this stage, both the customer and the provider can leave a review for each other, sharing feedback about their experience. Each review consists of 5 stars and free text. Reviews can be left up to 7 days after the payout has been triggered. Reviews are published at the end of this period or once both users have reviewed each other. Learn how reviews work.
Viewing and managing the transaction as an Operator
Once a provider submits an initial offer, a corresponding transaction will appear under Console → Manage → Transactions.
Each submitted offer is listed as a separate transaction.
The most recent price or quote offer (including counteroffers) can be viewed in the Summary section, under the “Customer pays” field. This field always displays the latest offer amount made by either the provider or the customer and updates automatically if new counteroffers are made or if the final payment price changes.
The message sent by the provider when submitting their offer can be found in the Protected data section, under providerDefaultMessage. Additional messages sent by both parties are in the Activity section.
Below is an overview of the actions available to marketplace operators (admins) at each stage of the reverse price negotiation process.
During the Offer Stage
After a provider submits an offer, the operator can reject the offer on behalf of the customer by clicking “Operator reject offer.”
After a customer submits a counteroffer, the operator can reject the counteroffer on behalf of the provider by clicking “Operator reject from customer counter offer.”
If the provider makes another counteroffer, the transaction returns to the same stage as before. In this case, the operator can again click “Operator reject offer.”
After Offer Acceptance
After the customer accepts and pays for an offer, the operator can:
Cancel the transaction by clicking “Operator cancel.”
Mark the order as delivered on behalf of the provider by clicking “Operator mark delivered.”
If the provider does not mark the order as delivered within 75 days, the transaction will be automatically canceled, and the customer will be refunded.
Note: The 75-day countdown starts when the customer makes the payment and continues throughout the entire delivery and revision process. This means the countdown does not reset when the provider delivers the order or when the customer requests changes.
The reason for this is that Stripe can only hold funds for up to 90 days after payment. Since the customer has up to 14 days to review or respond to an order delivery, the remaining 75 days are reserved for the negotiation and delivery phases.
The provider also receives a reminder email after 72 days if the transaction is still open, prompting them to mark the order or changes as delivered before the deadline.
After order delivery
After the order is marked as delivered by the provider, the operator can:
Accept the order by clicking “Operator accept deliverable.”
Cancel the order by clicking “Operator cancel from delivered.”
Request changes to the order by clicking “Operator request changes.”
If the customer does not respond within 14 days after the order is delivered, the transaction will be automatically completed, and the payout to the provider will be triggered.
After a Change Request
After changes have been requested by the customer, the operator can:
Cancel the transaction by clicking “Operator cancel from changes requested.”
Mark the changes as delivered by clicking “Operator mark changes delivered.”
When the operator marks changes as delivered, the process returns to the previous state, where the same three actions are available again:
Accept the order (Operator accept deliverable)
Cancel the order (Operator cancel from delivered)
Request changes (Operator request changes)
After the Order Is Accepted
Once the order has been accepted, the review period begins. During this time, both the customer and the provider can leave a review for each other. The operator cannot leave a review on behalf of a user, though reviews can be edited later after they’re published.
Transaction Transition limit and considerations
A transition refers to a state change in the transaction. For example, submitting an offer, making a counteroffer, requesting changes, or delivering the order.
Below are the limits about Transaction Transitions you should be aware of:
Each transaction in the reverse price negotiation process can have up to a maximum of 100 transitions in total.
Up to 50 transitions can take place during the offer and counteroffer stage. This means the customer and provider can negotiate the offer up to 50 times before an offer must be accepted or rejected. After this, new offers will not be allowed.
When the transaction reaches 90 transitions, the system prevents further “Request changes” actions to ensure it does not exceed the 100-transition limit. The remaining 10 transitions act as a buffer to move the transaction toward completion.
Below are two concrete examples:
If 50 transitions occurred during the negotiation stage (offers and counteroffers), there would be room for about 20 change requests by the customer and 20 corresponding deliveries by the provider after payment. This totals 40 additional transitions, bringing the transaction to around 90 transitions.
If 30 transitions occurred during the negotiation stage, there would be room for about 30 change requests by the customer and 30 corresponding deliveries by the provider after payment. This totals 60 additional transitions, again bringing the transaction to 90 transitions.

