Let shoppers make an offer in OpenCart.

A Make an offer button below Add to Cart, an offers inbox with statistics, counter-offers with deadlines, and an agreed price applied as an "Accepted offer" line in the order totals: for that shopper, those options and that quantity, once.

  • v1.0.2
  • OpenCart 4.0.2.0 – 4.1.0.4, 3.0.x
  • 30-day refund on a first licence
Sales > Offers: one inbox with status tabs and statistics
The offer dialog below Add to Cart
Offer page: counter-offer and negotiation history
The accepted offer is applied once in the cart

The problem

Why negotiating by e-mail leaks margin

OpenCart has specials, discounts and coupons, but no way for a shopper to propose a price. Offers arrive by e-mail and end in a coupon code.

Coupon codes can be shared, and nothing ties the deal to the product, options and quantity that were agreed.

Three ways to take offers

ApproachHow it worksTrade-off
E-mail and couponsShoppers write in; you create a coupon.Manual, and codes can be reused by others.
Customer-group specialsA special price for a group the shopper is moved into.Applies to everything in the group, not one deal.
Offer bound to the shopperWhat Make an Offer doesA signed, single-use offer for that shopper, product, options and quantity, until a deadline.Needs OpenCart’s cron for automatic expiry on OpenCart 4; OpenCart 3 closes expired offers on admin and offer page views.

Make an Offer for OpenCart

How it works

  1. 01

    The shopper offers

    A dialog for the selected options and quantity: price per item and an optional message. Guests enter their name and e-mail and give consent.

  2. 02

    You answer, or rules do

    Accept, counter or decline in Sales > Offers. A hidden minimum price per product and auto-accept or auto-decline percentages answer at once.

  3. 03

    Buy at the agreed price

    One click puts the item in the cart; the "Accepted offer" total line applies the agreed price once, for that shopper and up to the offered quantity.

What you get

Offers inbox

Status tabs, acceptance rate, average discount, revenue at offer prices, filters and CSV export.

Negotiation rounds

Counter-offers with a limit on rounds; the customer accepts, declines or makes a higher offer.

Automatic answers

Hidden minimum price per product, auto-accept and auto-decline per category or store-wide.

Single use, server-side

Signed link, owner check, exact options, quantity and deadline; a second order with the same offer goes to your fraud status.

E-mails at every step

Received, accepted, counter-offer, declined, expired and messages, editable in the Language Editor.

GDPR-friendly

Consent for guests, no raw IP addresses stored, automatic erasure after a retention period.

Made for

  • Furniture and home
  • Second-hand and vintage
  • Bulk orders
  • End-of-line stock
  • Art and collectibles
  • High-value items

Make an Offer for OpenCart

Screenshots

Adding a Make an Offer button to OpenCart

OpenCart has no way for a shopper to name a price. A contact form gets you an e-mail, and then you have to issue a coupon anyone can reuse, or edit an order by hand.

This extension adds a button below Add to Cart. The shopper offers a price for the options and quantity they chose, you answer from one inbox, and an accepted offer becomes a single-use price in the cart. It suits high-value goods, end-of-line stock and bulk quantities, and you can limit it to the products and categories you choose.

The offer flow

  1. The shopper opens the dialog, full-screen on phones, and enters a price. Guests add their name and e-mail and tick the consent box.
  2. Automatic rules may answer at once, with "Your offer was accepted!" and Add to cart at offer price.
  3. Otherwise you answer in Sales, Offers: accept, counter or decline, with a message.
  4. The customer answers from My offers or a signed e-mail link, and can accept, decline or make a new, higher offer.
  5. Add to cart at offer price applies the deal, for that shopper, until the deadline.

How the agreed price is applied

The agreed price shows as a negative order total line, such as "Accepted offer #12", below the sub-total. This is deliberate: the product price stays the same, it works with every theme and payment method, and taxes are calculated on the agreed price. It covers the exact product and options, up to the offered quantity.

A second order with the same offer goes to your fraud status, as a used coupon does, and a canceled order gives the offer back.

Rules and defaults

Make an Offer settings
SettingDefaultNote
StatusDisabledEnable after installing.
Offers onAll productsOr only with the rule Offers on.
Auto-accept atEmptyFor example 90% of the current price.
Auto-decline below50%A polite e-mail goes out at once.
Counter-offers30 means accept or decline only.
Days to answer7And 3 days for the customer.
Hours to buy48Single use within this time.
Maximum quantity10Stock is checked as well.

The current price includes special prices, quantity discounts and option prices. Rules work per product, per category or store-wide, and a hidden minimum price per product accepts offers at or above it. Shoppers never see these values.

Against abuse: one open offer per product and options, five open offers per customer, three per product in 30 days, 10 guest offers per connection per hour, and a hidden spam trap. No raw IP addresses are stored, and personal data of closed offers is erased after 365 days by default.

The inbox has status tabs, a pending badge in the menu, and statistics including acceptance rate, average discount and revenue at offer prices, with CSV export.

Good to know

OpenCart 4 closes expired offers with its cron job. OpenCart 3 has no cron, so it closes them when the admin or an offer page is opened. Coupons, vouchers and gateways work as usual with the offer total. Advanced Promotions works on the price after accepted offers, and Abandoned Cart Recovery leaves offer-priced products out of its coupons, so there is no double discount.

Offers compared with coupons
Coupon by e-mailMake an Offer
Tied to one shopper and productHard to set upYes
Automatic answersNoYes
Counter-offersBy e-mailBuilt in
Deadline and single usePartlyYes
FiguresCoupon reportOffer statistics

The Make an Offer settings guide covers discount levels by margin. Get Make an Offer on the store.

Setting sensible thresholds

Start from your margin, not from a round percentage. The auto-decline default of 50% suits a store with healthy margins, but a store on 20% margin should raise it, or switch offers off on those products. Set a hidden minimum on your most expensive items, where a quick yes wins the sale. Answer pending offers within a day or two, because a shopper who is waiting is also comparing.

For a store with many categories, use category rules rather than product rules. They take minutes to set, and each field resolves separately, so you can keep a store-wide auto-decline and vary only auto-accept.

Compatibility

OpenCart 4.0.2 to 4.1.x and 3.0.3 to 3.0.5, with separate packages in one licence. Tested on 4.1.0.4 and 3.0.5.1. OpenCart events and a standard order total, with no core changes, no OCMOD and no theme edits.

OpenCart

Make an Offer for OpenCart at a glance

Shoppers propose a price; the store accepts, declines or counters, and the agreed price is enforced in the cart once (OpenCart 4.x and 3.0.x).

Price
$39 one-time
Version
1.0.2
Compatible with
OpenCart 4.0.2.0 – 4.1.0.4, 3.0.x
PHP
7.4 or newer (as required by your OpenCart version)
Licence
One store, OpenCart 4 and 3 packages, 12 months of updates
Refund
30-day refund on a first licence

OpenCart

The OpenCart products stores buy first

The most requested products on this platform. Each one has its own page, and you can buy it straight on the sales site.

Shop OpenCart on our sales site

Prices, licences, full documentation and instant downloads are on the store.

opencart.kaviolabs.com · 16 extensions · 11 themes

Make an offer

The same feature on other platforms

Built natively for each platform, not ported. Each version has its own product page, documentation and price.

Guide

Related guide

Guide

Make-an-offer settings

Hidden minimums, auto-accept and auto-decline thresholds, deadlines and limits that keep offers profitable.

Read the guide

FAQ

Questions and answers

Why is the agreed price a total line?

OpenCart has no event inside the cart library. A total line works on every OpenCart 4 and 3 store, together with coupons, vouchers and other extensions, and payment gateways receive the correct order total.

Can a shopper share an accepted offer?

No. It applies once, to the shopper who made it (or the browser that opened the signed e-mail link), for the offered product, options and quantity, until the deadline.

Do coupons and specials work together with an offer?

The offer discount is calculated against the current cart price, which already includes specials and quantity discounts. Coupons apply on top unless you restrict them.

Does it change core files?

No. It uses OpenCart events and a standard order total, without OCMOD.

Can guests make offers?

Yes, if you allow it. They enter their name and e-mail and tick the consent box. Otherwise they are asked to sign in.

How do I limit offers to some products?

Set Offers on to the option for products and categories with the rule, then switch offers on where you want them.

What happens to expired offers on OpenCart 3?

They are closed when the admin or an offer page is opened, since OpenCart 3 has no cron.

Can I see how offers perform?

Yes. Sales, Offers shows acceptance rate, average discount, ordered offers and revenue at offer prices, with CSV export.

Turn "too expensive" into an offer

See the offer screens and read the full documentation on the product page.

Kavio Labs

Also by Kavio Labs

The same standards, the same support desk and one licence portal on every platform we build for.