The discount engine builds almost any wholesale promotion out of simple pieces, without touching prices product by product: volume tiers, 2x1, bundles, free shipping, coupons and promotions for specific customers. Every rule calculates itself in the cart.
Step by step
- In the side menu, go to Catalog → Discounts.
- Click New discount.
- Pick a template from the gallery (the fastest route) or Start from scratch.
- The wizard walks you through nine steps, in this order:
- Basics — internal name, Customer-facing label, Icon, Active and How do customers get it? (automatic or coupon-based).
- What discount — the type of benefit (percent off, fixed amount off, fixed price, buy N pay M, cross-sell, shipping, combo price).
- Products — which products it lands on.
- Condition — what the cart has to meet.
- Schedule — when it is active.
- Audience (optional) — who it applies to.
- Advanced rules (optional) — stacking, cascading, incompatibilities and caps.
- Review — summary, suggestions and errors that block saving.
- Test (optional) — saves the rule and opens the Simulator.
- Click Save on the Review step.
The effect comes second, not last. Audience comes sixth and is optional: with no filter set, the discount reaches any customer.
The five pieces of a discount
| Piece | Question | Wizard step |
|---|---|---|
| Effect | What discount applies? | What discount |
| Scope | On which products? | Products |
| Condition | What must the cart meet? | Condition |
| Schedule | When is it active? | Schedule |
| Audience | Who does it apply to? | Audience |
Whatever you leave empty means "no restriction". Because the pieces are independent, they combine: "10% on Saturdays, only for customers on the Premium price list, on the Drinks category, when they buy 12 units or more" is a single rule.
Automatic or code-based
In Basics, the How do customers get it? control has two options and they are mutually exclusive:
- Automatic: applies on its own to whoever qualifies.
- With coupon code: the discount never applies without a valid code in the cart. Codes are generated at the end, on the Review step. See Coupon codes.
A discount cannot be both. If you want both variants, create two rules.
Name and label
- Name: internal identification, only you see it in the discount list.
- Customer-facing label: what the buyer sees in the cart and on the order confirmation (for example, "Wholesale discount").
- Icon: optional. If you pick one, it appears next to the discount name across the store.
Discounts for a single product
If all you want is to put an offer on one product, you do not need the full wizard. Open the product in Catalog → Products and go to its Discounts tab: there you see which discounts it takes part in, what its final price is, and you get Create discount to build one on the spot with a percentage, a fixed amount or a fixed price. See Which products it applies to.
Priority between discounts
In the discount list, the order sets the priority: when two discounts cannot combine, the one higher up wins. Drag the rows to reorder them. The full logic is in Stacking, priority and limits.
If you cannot find it
- You do not see "Discounts" in the menu. This is a role issue: sellers do not manage discounts. The item appears only for administrators and for managers who are not sellers; the server also rejects any change made by a seller. The same rule covers the Discounts tab inside a product.
- You saved the discount and it does not show in the store. Check, in this order: that Active is on, the schedule, the audience and the scope. And keep in mind that where it is communicated depends on the scope: a discount on the whole cart shows in the cart, not on the product page. See What your customer sees.
- You set up a coupon and the customer cannot find where to enter it. The field appears in the cart only if your store has at least one active coupon. See Coupon codes.
Learn each aspect
- Volume discounts — the quantity discount, the most used one in wholesale.
- Promotions: 2x1, bundles and more — 2x1, 3x2, bundles, shipping, cross-sell and gifts.
- Coupon codes — codes, bulk generation and where the customer uses them.
- Who it applies to (audience) — customers, price lists, segments, payment method.
- When it is active — dates, repeating days and calendar slots.
- Which products it applies to (scope) — products, categories, variants, exclusions.
- Stacking, priority and limits — how they combine and how they are capped.
- Testing a discount — the Simulator and the "why did it not apply?".
- Discount reports — which promotions pay off.
- What your customer sees — where each discount is communicated.
- Templates and use cases — the gallery and ready-made recipes.
Frequently asked questions
Is the discount subtracted before or after tax? Before. Tax is calculated on the already-discounted total.
What happens if I edit an order that already exists? Discounts stay frozen as they were at purchase time. If you change quantities, the engine runs again and the order is flagged as recalculated. There are three cases where it is not recalculated and the discounts are kept exactly as they were: if the order has its prices frozen, if you applied a discount percentage by hand, or if it was bought with a percentage coupon marked as cumulative.
Do I need apps or plugins? No. The engine is built into the platform.