Let shoppers name their price, then accept, decline or counter, and sell at the agreed price, safely.
Available Updated Oct 25, 2026Version 1.0.0CS-Cart, Multi-Vendor 4.17.2 – 4.21.x No core file edits
Built for
Make an Offer: overview1 of 17
What it does
CS-Cart has no way to negotiate a price. Shoppers who would buy at a lower price leave, or write an e-mail that ends in a manual order or a coupon anyone can reuse. Make an Offer adds a button next to Add to cart, a short accessible form and a full negotiation: accept, decline or counter-offer, with messages, deadlines and e-mails for every step. It suits high-value items, bulk quantities, end-of-line stock and marketplaces.
How it works
The shopper chooses options and quantity, clicks Make an offer and enters a price. You get an e-mail and answer in Orders, Offers: accept, decline or send a counter-offer. The customer replies from My offers or the e-mail link and adds the item to the cart at the agreed price. Rules per product, category and vendor decide where offers are allowed. On a marketplace, vendors answer offers on their own products.
Features
Make an offer button on the product page and in quick view
Offers for the selected options, variation and quantity
Hidden minimum price, auto-accept and auto-decline rules
Counter-offers with rounds, messages and deadlines
Agreed price enforced on the server, single use, limited time
Clear rules for promotions and coupons
My offers page and signed e-mail links for guests
Limits per customer, per product and per guest connection
Offers list with statistics and CSV export
Vendors answer offers on their own products, full page cache support
What you get
Package
kv_make_an_offer-1.0.0.zip, installed through Add-ons → Manage add-ons
Updates & support
12 months included. Download new versions from your account and install them in Add-ons → Manage add-ons or the Upgrade Center.
License
1 production installation. Staging, dev and localhost are free and unlimited. The add-on keeps working after the update period ends. How licensing works
Compatibility
We list only the builds we install and test on. “Tested” means the full test plan was run on that build; “Supported” means the build is inside the supported range and uses the same hooks.
CS-Cart version and edition compatibility
CS-Cart version
CS-Cart
CS-Cart Ultimate
Multi-Vendor
Multi-Vendor Ultimate
4.22 and later
Testing next
Testing next
Testing next
Testing next
4.21.2
Supported
Supported
Supported
Supported
4.20.x
Supported
Supported
Supported
Supported
4.19.x
Supported
Supported
Supported
Supported
4.18.x
Supported
Supported
Supported
Supported
4.17.2
Tested
Supported
Tested
Supported
Before 4.17.2
Not supported
Not supported
Not supported
Not supported
Last tested build: Multi-Vendor 4.17.2, Oct 25, 2026Tested on: Multi-Vendor 4.17.2, CS-Cart 4.17.2
Requirements
Platform
CS-Cart or CS-Cart Multi-Vendor 4.17.2 – 4.21.x
PHP
PHP 7.2.5 – 8.3 (as supported by your CS-Cart version)
Theme
A theme based on Responsive, Bright or Nova (the button uses the core Add to cart button hook)
Core changes
None. Hooks and template overrides only
1.0.0
Oct 25, 2026
Latest
Added 12
"Make an offer" button next to Add to cart on the product page and in quick view, for the selected options, variation and quantity; accessible dialog (full screen on phones) and a page version without JavaScript.
Offer form with the current cart price for the combination and quantity, message, guest name/e-mail/consent; one open offer per item and combination.
Rules per product, category (main category path) and vendor: offers on/off, hidden minimum price, auto-accept and auto-decline percentages; global defaults in the settings.
Negotiation: accept, decline, counter-offer with rounds and messages; customer accepts or declines the counter-offer, makes a new offer or withdraws; deadlines for each side and expiry (on demand and by a console command).
Server-side price enforcement in the cart: owner only, exact options and quantity, single use (atomic reservation at checkout), limited time; failed, declined, canceled or deleted orders give the offer back.
Promotions policy: offer price only, cart promotions and coupons, or all promotions.
My offers page, offer page with history, signed e-mail links.
Limits: open offers per customer, offers per product in 30 days, maximum quantity, guest limit per connection; honeypot field.
E-mails for every step (Twig, Administration > Notifications group "Offers") and back-end notices.
Offers list with status tabs, filters, statistics (acceptance rate, average discount, offers ordered, revenue at offer prices) and CSV export.
Multi-Vendor: vendors answer offers on their own products, vendor defaults, vendor e-mails; the administrator oversees all offers. Ultimate: settings and offers per storefront.
Full page cache support (4.21), self-healing upgrades, license client.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2. First release.
Can a shopper change the offer price in the browser or in the cart?
No. The browser only sends the price the shopper types into the form. The current price is computed on the server, and the agreed price is applied to the cart from the database on every calculation. Changing the quantity, the options or the price of the offer line resets or removes it, and an offer can be used for one order only.
Who can buy at the agreed price?
The customer who made the offer: the same account, or for guest offers the browser that sent the offer or opened the signed link in the e-mail. Another customer cannot add the offer to a cart, even with the offer number.
Do coupons and promotions work together with an offer?
You choose: Offer price only (default) switches off cart promotions and coupons while the offer item is in the cart, Cart promotions and coupons keeps them, and All promotions also applies catalog promotions to the offer price. Catalog promotions are already included in the price the shopper offers against.
Can I hide a minimum price and accept offers above it automatically?
Yes. Set a Hidden minimum price on the product (Add-ons tab), or an Auto-accept at percentage in the settings, a category or a vendor. Offers below Auto-decline below are declined automatically. Shoppers never see these values.
Does it work with product options and variations?
Yes. The offer is for the variation, options and quantity selected when the shopper clicks Make an offer, and the cart checks that the line still matches.
What happens when the customer does not buy in time?
The accepted offer expires after Hours to buy at the accepted price (48 by default) and the customer gets an e-mail. A failed or canceled payment gives the offer back while the time has not run out.
Can guests make offers?
Yes, when Guests can make offers is on. They enter their name and e-mail and agree to the storage of these details for the offer. Turn the setting off to require an account.
Does it work with full page cache and with my theme?
Yes. The product page output is the same for every visitor; the dialog and all personal data are loaded on demand. The button uses the theme's own button styles on Responsive, Bright, Nova and themes based on them.
Can vendors answer offers?
Yes, on Multi-Vendor vendors answer offers on their own products in the vendor panel while Vendors answer offers on their products is on. The marketplace administrator sees and can answer every offer.
What happens if the license lapses?
Without a valid license (no key after the 14-day start period, an invalid or revoked key, a domain the license does not cover, or no successful check for 14 days), the Make an offer button is hidden and no new offers or counter-offers can be made; offers that were already accepted or countered can still be completed by the customer at the agreed price until they expire, and all offers stay viewable and exportable. Once the license is valid again, everything works again.
The admin panel shows a license notice.
Open Add-ons → Manage add-ons → Make an Offer → Settings → License. The status line says what is wrong: no key, a key for another add-on, a revoked license, or a domain that the license does not cover. Fix it and click Check now. See License.
Does the add-on work on my staging copy?
Yes. Subdomains of your licensed domain (for example staging.yourstore.com) and local development hosts (localhost, private IP addresses, .local, .test) are covered by the same license.
Does the license check slow down my storefront or checkout?
No. The check runs in the admin panel or from cron, once a day. The storefront never runs it.
Add a released add-on to this order and save 15% on it. It uses the same edition and store domain.
Make an OfferThis add-on
+
B2B Request a Quote (RFQ)Let business buyers request a quote for several products, send them an offer with your prices and let them check out at the quoted prices.
$99
+
Pay by Link & Pay After ConfirmationSend customers a secure payment link for an unpaid order, any amount or a prepared cart, with QR code, expiry and tracking.
$59
+
Abandoned Cart Recovery ProWin back abandoned carts with up to three automatic reminder e-mails, one-click cart restore links and unique single-use coupons.
$69
Also from Kavio Labs
Available now and coming next, tested on the same CS-Cart builds.