Wholesale — tiered pricing by customer group for OpenCart 2.3, 3.x and 4.x
Гуртові ціни для ролей і груп покупців, мінімальна сума чека, крок кількості й продаж упаковками. Ціна рахується рідними механізмами OpenCart, тому діє скрізь — у каталозі, кошику, підсумках і замовленні.
What each licence includes
| Feature | Free | Pro |
|---|---|---|
| Wholesale pricing for customer groups | ✔ | ✔ |
| Rules on a product (free), category, manufacturer or the whole catalogue | — | ✔ |
| Discount types: fixed price, percentage, amount off | ✔ | ✔ |
| Tiered pricing by quantity — one price from 10 units, another from 50 | — | ✔ |
| Store-wide minimum order amount; per customer group | — | ✔ |
| Quantity step and minimum quantity | ✔ | ✔ |
| Selling in packs of N units | — | ✔ |
| Bulk actions; export rules to CSV | — | ✔ |
Wholesale for OpenCart 2.3, 3.x and 4.x is a module for stores that sell to both retail and wholesale buyers at the same time. It adds what’s missing from OpenCart’s core: separate prices for customer groups by flexible rules, a minimum order amount, a quantity step, and selling in packs of N units.


Wholesale pricing by rule
A rule is described once and applied to everything it covers: a specific product, a category, a manufacturer, or the whole catalogue — separately for each customer group. Discount type is a fixed price, a percentage, or an amount off. A minimum quantity can be set for each rule, letting the price work as a tiered price: one price from 10 units, another from 50.
The key technical decision: rules are materialised into OpenCart’s native discount table, so the wholesale price shows up correctly in the catalogue, cart, totals, order and API — with no core changes and no theme conflicts. Percentage discounts are stored as a percentage, not pre-calculated, so they stay correct after the base price changes. Rows created by the module are marked separately — the module never touches or overwrites your own promotions.

Minimum order amount
Set globally, or separately for each customer group. The buyer sees a clear message in the cart about how much more they need to add, and checkout is blocked until the condition is met — on the cart page, at checkout, and at order confirmation, so it can’t be bypassed with a direct request.


Quantity step and packaging
Minimum quantity and step are set globally or for an individual product: if the step is 5, the buyer can’t put 3 or 7 units in the cart — the quantity adjusts automatically, with a message about it. Pack mode shows on the product card how many units are in a pack, and recalculates the price correctly.
Admin area
A dedicated screen with a rule list: filters, pagination, bulk actions (enable, disable, delete), CSV export. Rules recalculate automatically — including after saving a product card, after import, and on a schedule via cron.
Free version and Pro
Free: wholesale pricing on individual products (up to 5 active rules), a fixed price, a percentage or an amount off, a store-wide minimum order amount with checkout blocking, a quantity step and minimum quantity, automatic recalculation after saving a product and on a schedule.
Pro: rules by category, manufacturer and across the whole catalogue; quantity thresholds (one price from 10, another from 50); no limit on the number of rules; a separate minimum amount for each customer group; selling in packs of N units; exporting the rule list to CSV.

Trial — only on your click. A fresh install switches nothing on by itself: the module works as the free version until you click “Try Pro” yourself. Then a genuine 7-day key arrives at your e-mail. No card, no auto-renewal: once the week is up, the free part just keeps working, and prices already generated stay in place.

Version history
- 1.1.0 (OpenCart 3.x) — the OpenCart 3.0.x build moved to server-side licensing. Previously the trial Pro period switched on by itself right after installation, and any non-empty string counted as a key — now a fresh install is a clean free version, and the 7-day trial only starts on a “Try Pro” click; the key is confirmed by the server with a 14-day allowance in case it’s unreachable. Saving settings no longer wipes an activated key. The main fix: the Free/Pro boundary now applies to the prices themselves too — previously category rules and quantity thresholds created during a trial stayed in the price tables and the store kept selling at them even after the trial ended. Rules aren’t deleted: they simply stop applying and switch back on once a key is entered.
- 1.0.0 (OpenCart 2.3) — a separate build for OpenCart 2.3.0.x: the same wholesale rules, minimum order amount, quantity step and packaging. Since OpenCart 2.3 has no controller events, the cart and checkout checks are inserted via a modification (ocmod) — after installation you need to click “Refresh” in Extensions → Modifications; pricing itself works without that. Files are uploaded to the store root manually: the standard 2.3 Installer only works over FTP.
- 1.1.0 (04.08.2026) — the licence is verified on the CatCode server, the trial only starts on a click (previously it switched on by itself after installation). Fixed price recalculation on OpenCart 4.0.x — it didn’t work at all before, due to a difference in the discount table structure between 4.0 and 4.1. Fixed admin events that didn’t fire on 4.0, and duplication of generated rows when a product card was saved again.
- 1.0.0 (28.07.2026) — first release.
Frequently asked questions
Will an ordinary retail buyer see the wholesale price?
No. A rule is tied to a customer group, and the price is only shown to buyers in that group.
Won't the module break my existing promotions?
No. The module marks its own discount rows and only works with those — your promotions stay untouched, including after uninstalling.
What happens if I change a product's base price?
Percentage rules recalculate automatically, since they're stored as a percentage rather than a pre-computed amount.
Can I sell only in packs, with no per-unit sales?
Yes. Set the quantity step equal to the pack size — quantity rounds up to a multiple automatically.
Does the minimum amount reliably block checkout?
Yes, the check is in place at the cart, at checkout, and at order confirmation.
Questions about the module?
Message us on Telegram — we reply within the working day. We will help with setup, compatibility and key activation.
No reviews yet. Be the first — right below.
Leave a review
Reviews are moderated before publication, which usually takes up to 24 hours.
No questions yet. Ask one — we answer within 24 hours.
Ask a question
We usually reply within 24 hours during working hours.
Buying the module
—