Sell by weight, length, area or volume on PrestaShop 8.2 and 9.x: amount field with quick amounts and live total, exact decimal stock and real shipping weight. No overrides.
- PS 9
- PS 8.2
- Classic
- Hummingbird
by Kavio Labs · for PrestaShop 8.2 and 9.x
Shoppers propose a price per item; the shop accepts, counters or declines, or rules answer at once. The agreed price is a one-time specific price for that customer's cart (PrestaShop 8.2 and 9.x, no overrides).
Shoppers propose a price per item; the shop accepts, counters or declines, or rules answer at once. The agreed price is a one-time specific price for that customer's cart (PrestaShop 8.2 and 9.x, no overrides).
PrestaShop 8.2 - 9.x
Let customers name their price. A "Make an offer" button on the product page opens a short form: price per item, quantity and an optional message. You accept, make a counter-offer or decline from the back office, or let rules answer at once. An accepted price is reserved for that customer's cart only, for the offered quantity, until a deadline, and can be used once.
Requirements: PrestaShop 8.2.0 – 9.x, PHP 7.2.5 or newer (PrestaShop 9 needs PHP 8.1+).
kvmakeanoffer-1.0.0.zip (kaviolabs.com) or the package from PrestaShop Addons.The module adds Orders > Offers to the back-office menu, a Modules tab block on the product page and a My offers link in the customer account.
Upload the new zip the same way; settings and offers are kept.
Uninstalling removes the offers, rules and settings and the agreed prices still waiting in carts. Orders keep their prices.
Modules > Module Manager > Make an Offer > Configure
| Setting | Default | Meaning |
|---|---|---|
| Offers on the storefront | Yes | Shows the button on product pages. |
| All products by default | Yes | No: only products and categories you switch on. |
| Guests can make offers | Yes | No: a "Sign in to make an offer" link is shown instead. |
| Accept automatically from | empty | Offers at or above this % of the current price are accepted at once. |
| Decline automatically below | empty | Offers below this % of the current price are declined at once. |
| Accepted offers can be bought for | 72 h | After that the offer expires and the reserved price is removed. |
| Answer pending offers within | 3 days | Unanswered offers expire (0 = never). |
| Customers answer counter-offers within | 3 days | 0 = never. |
| Counter-offers per offer | 3 | 0 = no limit. |
| Maximum quantity per offer | 10 | 0 = no limit. |
| Open offers per customer | 5 | Pending + countered. |
| Offers per customer and product in 30 days | 3 | |
| Guest offers per connection and hour | 5 | Counted with a keyed hash of the IP address. |
| Keep closed offers with personal data for | 365 days | Older closed offers are anonymized. 0 = keep. |
| Staff e-mail | shop e-mail | Receives new offers and customer answers. |
Each value is looked up on its own: product rule, then the nearest category rule (the default category first, then the product's other categories, each with its parents), then the settings. The hidden minimum price replaces the accept-from percentage for that product.
Deadlines are checked whenever an offer page or the offers list is opened. For e-mails exactly on time and for the retention period, call the address shown on the configuration page hourly. It needs its secret token.
Templates mails/en/kvmao_customer and kvmao_staff (HTML + text) of the module; your theme can override them in themes/<theme>/modules/kvmakeanoffer/mails/en/.
An accepted offer becomes a PrestaShop specific price bound to the customer's cart, the exact product and combination, valid until the deadline. It applies while the cart holds up to the offered quantity of that product (all its lines together); above it the regular price applies again until the quantity goes back down. When the order is placed the offer is marked Ordered and the specific price is deleted, so it cannot be used twice. If the order is canceled, the offer can be bought again until its deadline.
Vouchers keep working as usual; to keep them off agreed prices, tick "Exclude discounted products" in the voucher.
No. The price is bound to one cart. Other visitors, other carts and other customers see the regular price. Guests open their offer through a signed link; without it the offer page is "not found".
The regular price applies to all items of that product until the quantity is back at the offered quantity.
No. The order marks it Ordered and deletes the reserved price. A canceled order gives it back until the deadline.
The agreed price replaces the product price for that cart. A customer group reduction is applied on top by PrestaShop, like for any specific price; if you use group reductions, take them into account when you answer.
Customers type and see prices the way your shop shows them to their group (with or without tax). The back office and staff e-mails use the default currency, tax excluded.
Active products that can be ordered and show a price, when the rules allow it. Not in catalog mode, and not for products sold by measure with Sell by Weight & Length.
No: they send X-Robots-Tag: noindex, nofollow and a noindex meta tag.
No. No overrides, no core changes: hooks, a front controller, a Symfony back-office page and core specific prices.
Settings follow the shop context; offers store their shop.
More for PrestaShop
Sell by weight, length, area or volume on PrestaShop 8.2 and 9.x: amount field with quick amounts and live total, exact decimal stock and real shipping weight. No overrides.
Text and monogram personalization with a live preview on the product image, 12 fonts, fixed or per-character fees and a printable production sheet.