PrestaShop Conditional Order Discounts

Apply conditional order discounts using native cart rules. Create BOGO deals, buy N get M free, spend thresholds, quantity tiers, cheapest item or line free, cross-product offers and free gifts. Visual policy builder, cart simulator and audit log. For PrestaShop 9.x, 8.x and 1.7.x. Ideal for multistore shops and complex promotions.

Główne zdjęcie produktu: Conditional Order Discounts
149.00 €

Galeria

Conditional Promotions Engine

Conditional Order Discounts is an enterprise-class PrestaShop module revolutionizing promotion management. It extends native cart rules with a powerful visual engine, enabling shops to create highly complex, multi-layered discount policies effortlessly. Users can leverage over 30 condition fields and 20 advanced promotion formulas, including BOGO, quantity tiers, and free gifts. The module features a real-time cart simulator for precise testing, ensuring flawless campaign execution. Additionally, a comprehensive analytics dashboard and full audit log provide unparalleled visibility and control over all active promotions, ensuring professional and transparent discount management.

Module version:
Shop versions:
Works with ThirtyBees: No
Translations:
This module: Conditional Order Discounts is fully translated into language: English (en)

Every promotion your shop needs.
One visual engine. Native cart rules.

PrestaShop cart rules are great for flat coupons. They fall apart the moment you need buy 3 get 1 free, cheapest item free, every €100 spent → €10 off, cross-product BOGO or quantity tiers — all conditioned on customer group, category mix or cart total. Conditional Order Discounts is enterprise class software for promotion management: visual policies, 20 promotion formulas, nested condition trees, cart simulator, analytics dashboard and full audit log. Combine conditions and discounts freely — nested AND/OR trees, multiple rules per policy, multiple policies per cart — and in practice you get virtually unlimited room to build advanced discount programs. No code. No spreadsheet hacks. Real discounts applied through native PrestaShop cart rules.

PrestaShop 9.x, 8.x, 1.7.x
20 promotion types
Built-in cart simulator

What Conditional Order Discounts delivers

These are the capabilities that turn discount management from a cart-rule guessing game into a managed promotion engine. Built as enterprise class software for shops that run real campaigns — not just a single coupon code.

20 promotion formulas

BOGO, spend thresholds, quantity tiers, cheapest item free, cross-product deals, free gifts, shipping discounts and more — pick from a visual tile grid, not a blank JSON field.

Native cart rules: flat % or amount only

Visual condition builder

30+ cart and customer fields with nested AND/OR groups. Target groups, countries, products, categories, spend levels, time windows and compound product qty rules.

Others: one global minimum cart value

Native cart rules

Discounts sync as real PrestaShop cart rules (COD-*). Compatible with checkout, order totals, invoices and multistore. Customers see a proper discount line.

Others: fake line-item hacks

Cart simulator

Pick a real cart and customer from your shop. See exactly which policies match, which rules fire and what discount amount applies — before any customer is affected.

Others: test in production and pray

5 merge strategies

Stack all matching rules, first wins, priority cascade, highest discount only, or unique codes — per policy and globally. Control how multiple rules combine.

Others: unpredictable stacking

Analytics dashboard

KPI cards, discount trend charts (daily, weekly, monthly), policy breakdowns and recent audit entries. See which promotions actually run in your shop.

Others: no visibility after setup

Full audit log

Every discount applied, policy change, simulation run and cart sync logged with timestamp and detail preview. Export when marketing or finance asks why a cart got a discount.

Others: black box math

Import, export, duplicate

Download any policy as JSON, upload to staging, duplicate with one click. Move Black Friday setups between shops without rebuilding from scratch.

Others: rebuild every campaign manually

Free gift engine

Add free products via spend thresholds, cross-product BOGO or instant gift policies. Gifts sync as native gift cart rules or inline cart discounts — your choice.

Others: manual free product lines

Combine conditions. Stack discounts. Build anything.

This is not one discount type per shop. It is a combinatorial engine — and that is what unlocks advanced promotion programs native cart rules cannot touch.

Conditions on conditions. Nested AND/OR trees at policy level — and again on each individual discount rule. VIP group AND cart ≥ €100 AND 3+ items in category X? One visual tree. Different rule-level conditions inside the same campaign? Supported.
Discounts on discounts. Unlimited rules per policy: BOGO + spend step + free shipping + free gift in one campaign. Five merge strategies control how they combine — stack all, first wins, highest discount and more.
Policies on policies. Run multiple active policies on the same cart. Loyalty policy + clearance policy + shipping promo — all evaluated, merged and synced as separate native cart rules. Stop on first match when you want exclusivity.
20 formulas, any mix. Each rule picks its own promotion type and scope. Cheapest item free on category A, 10% off manufacturer B, every €100 → €5 off — different math engines, one checkout. Optional global discount cap keeps margins safe.

30+ condition fields × 20 promotion formulas × unlimited policies and rules = in practice, virtually unlimited possibilities for advanced discount programs.

Gamechanger

Visual Promotion Builder — 20 formulas, zero code

PrestaShop tells you when a cart rule applies. It does not tell you how to calculate buy-3-get-1-free, cheapest-line-free or repeating spend steps. That gap is where shops give up — or hire a developer.

Step 1 — WHO qualifies

Visual condition tree: customer group, country, cart total, products in category, time of day, order history and more. Nested AND/OR groups. No SQL. No PHP.

Step 2 — WHAT they get

Pick a promotion tile: BOGO, spend %, quantity tiers, cheapest item free, product pair, free gift… Each type opens a dedicated visual config — scope, quantities, thresholds, product pickers.

Step 3 — HOW it stacks

Set merge strategy per policy. Stack loyalty + clearance + shipping promo. Or let highest discount win. Global cap prevents runaway totals. Simulator confirms before go-live.

Why this matters: You are not duct-taping cart rules together. You are running enterprise class software — a promotion engine where conditions and formulas mix freely across policies and rules. Stack them, nest them, scope them — the calculator prices 20 different deal types from real cart lines, and merge strategies plus optional global cap keep the result under control.

20 promotion types — pick the formula, set the scope

Every type is a ready-made calculator. Scope by all cart, specific products, category or manufacturer. Mix & match within scope where the formula allows.

Buy N, get M free

Same-SKU packs — buy 3 get 1 free, mix & match in category.

Buy N, get M at % off

Discount on extra units — e.g. buy 2, third at 50% off.

Buy product → get product

Cross-product BOGO — buy shampoo, get conditioner free.

Buy product → get % off

Percent off another product when trigger SKU is in cart.

Cheapest item free

N cheapest units in scope get full discount. Classic retail promo.

Cheapest line free

Lowest-value cart line in scope fully discounted.

Spend over X — % off

Percentage when cart or product spend hits threshold.

Spend over X — fixed off

Fixed amount above spend threshold.

Every X spent — Y off

Repeating step discount — every €100 → €10 off.

Spend over X → free gift

Add a free product when spend threshold is reached.

Just add free gift

Instant gift when policy conditions match — no spend rule needed.

Product pair — fixed off

1 from list A + 1 from list B → fixed discount per pair.

Quantity tiers

Higher qty in scope → higher discount %. Stair-step savings.

Line % off

% off selected product lines — cheapest or most expensive first.

Percent off cart

Percentage adjustment on order total when conditions match.

Fixed amount off cart

Flat discount on order total — e.g. €10 off.

Percent off products

Scoped % discount — category, manufacturer or hand-picked SKUs.

Fixed amount off products

Flat discount on scoped products only.

Free shipping

Waive delivery cost when policy fires.

% off shipping

Partial discount on delivery cost only.

Real-world use cases

Conditional Order Discounts adapts to how your shop actually sells. Here are campaigns you can launch in minutes — not weeks of custom development.

? Buy 3, get 1 free in a category

Scope = Summer Sale category. Promotion = Buy N get M free. Mix & match any 4 items — cheapest unit is free. Classic retail math, automatic.

? Cheapest item free on entire cart

No scope limit. 1 cheapest unit in cart gets full discount. Perfect for "add anything, smallest item is on us" campaigns.

? Cheapest line free — clearance push

Scope = Outlet category. Lowest-value cart line (full row) discounted. Moves slow stock without blanket % off everything.

? Cross-product BOGO

Buy any phone case → get screen protector free. Different SKUs, linked lists, gift added via native cart rule.

? Spend €150 → 10% off

Condition: cart total ≥ €150. Promotion: percent off cart. VIP customers only? Add customer group to the condition tree.

? Every €100 spent → €10 off

Repeating spend-step formula. €340 cart = €30 off automatically. No coupon code. No manual calculation.

? Spend €80 → free sample product

Spend gift promotion adds your sample SKU when threshold met. Great for cosmetics and food shops.

⚡ Instant free gift for logged-in members

"Just add free gift" + condition: customer logged in + member group. Welcome gift on every qualifying visit.

? Shirt + tie bundle

Product pair fixed off: 1 from shirts list + 1 from ties list → €15 off per pair. Stacks for multiple pairs in cart.

? Quantity tiers — buy more, save more

2+ units = 5%, 5+ = 10%, 10+ = 15% in selected category. Encourages bulk without manual tier cart rules.

? Free shipping over €60

Condition on cart total. Promotion = free shipping. Combine with product discount policy using merge strategy.

? 50% off shipping for B2C only

% off shipping promotion. Condition excludes wholesale group. Retail customers get half-price delivery.

?️ 20% off manufacturer clearance

Scope = manufacturer. Percent off products. Condition: date range for weekend flash. Simulator verifies before Friday midnight.

? 15% off most expensive line

Line % off with "most expensive first" selection. Upsell incentive — premium SKU gets the visible discount.

? Country-specific loyalty discount

Condition: delivery country DE + logged in + 3+ past orders. Fixed €5 off cart. Precision targeting native cart rules cannot express.

? Black Friday stack

Policy A: 10% off cart. Policy B: cheapest item free. Merge = stack all. Global cap = max €50 total discount. Controlled generosity.

? Staging → production in one export

Build and simulate on staging. Export policy JSON. Import on live shop. Duplicate for Cyber Monday variant. Audit log tracks every change.

Complete feature guide

Every feature explained in plain language for shop owners and marketing teams. This is enterprise class software — deep enough for complex campaigns, clear enough that you never need a developer for day-to-day promotion work.

Policies and discount rules

A policy is a named promotion campaign — your Black Friday stack, your VIP loyalty deal, your clearance weekend. Each policy holds a condition tree (who qualifies) and one or more discount rules (what they get). Create unlimited policies, drag-sort by priority, activate or pause individually without touching code.

Each rule can run in Simple mode (flat % or fixed amount on cart, products or shipping) or Promotion mode with access to all 20 formulas. Per-rule settings include discount code, priority, min/max discount caps, date range (valid from / valid to), optional rule-level conditions and multilingual checkout label shown on the cart line.

Stop on first match ends evaluation after the first qualifying policy — useful when campaigns must not overlap. Merge strategy per policy controls how multiple rules inside one policy combine: stack all discounts, first wins, priority cascade, highest discount only, or unique codes. A global default merge strategy and global discount cap in Settings protect your margin across the whole shop.

Policies list view shows status, merge strategy, rule count and quick actions. Duplicate, export JSON, import from file, or toggle active — all from the policies panel with every change written to the audit log.

Visual condition builder

The condition builder is a nested AND/OR tree editor — the same pattern used in professional rule engines, rendered as drag-friendly groups in your back office. Add a group, pick a field, choose an operator, set a value. Nest groups for logic like: (VIP group OR 5+ past orders) AND (cart total ≥ €100) AND (category Summer Sale has 3+ items).

30+ condition fields cover the full cart context: cart total, product subtotal, shipping cost, product count, unique SKU count, weight, existing cart rules count, customer order count, lifetime spend, day of week, hour, date, postcode, currency, country, invoice country, zone, customer group, carrier, payment module, logged/guest status, products, categories, manufacturers, suppliers, virtual/physical flags, customization and existing discount detection.

Compound fields combine entity + threshold in one condition — e.g. product #123 qty ≥ 3, category #45 line total ≥ €50. Operators include equals, not equals, greater/less than, between, in list, not in list, contains, starts with, regex, empty and not empty.

Product, category, manufacturer and group pickers use built-in autocomplete search. A live preview sentence explains what the tree matches. Power users can toggle raw JSON for copy-paste between environments. Conditions re-evaluate on every cart sync — add to cart, change qty, login, change address — the engine reacts immediately.

Visual promotion builder

Switch a rule to Promotion mode and the flat value fields are replaced by a tile grid of 20 promotion types, grouped by family: adjustments, Nth-unit deals, quantity tiers, spend promos, BOGO, line discounts, gifts and product pairs. Click a tile — only the fields relevant to that formula appear.

The scope selector defines which cart lines enter the calculation: entire cart, hand-picked products, whole categories or manufacturers. BOGO types get buy/get product lists with visual pickers. Spend types get threshold and step inputs. Tier types get a stair-step table. Pair types get list A + list B. Cheapest item free gets a free unit count field. Line promos let you pick cheapest-first or most-expensive-first.

Behind the UI, ConorderdisPromotionCalculator delegates to dedicated math: unit pool expansion for BOGO cycles, line sorting by total value for cheapest-line-free, repeating step arithmetic for spend ladders. The result is a precise discount amount — not a rounded guess from a generic cart rule.

Promotion config syncs bidirectionally with JSON. Import a policy from staging, open the visual builder, tweak one threshold, save — structured data stays consistent. Rule summary chips in the admin show the active formula at a glance without opening the editor.

Cart simulator

The Simulator tab is a three-step workflow against real data in your database — not a mock cart. Step 1: search carts by ID, customer name or email. Step 2: pick a cart from the live list (shows customer, email, cart total, last update). Step 3: run evaluation and read the full result breakdown.

Results show which policies matched, which were skipped (and why), per-rule calculated amounts, gift lines that would be added, free shipping flags and the final total discount. Optional customer filter narrows the cart list to one account — ideal for reproducing a support ticket.

Every simulation run is logged in the audit log with event type simulation_run, cart ID, actor (employee) and result snapshot. Marketing can verify a campaign before enabling it. Support can explain why a specific customer cart did or did not get a discount — without placing a test order on the live shop.

Use the simulator after every policy edit, before Black Friday go-live, and when importing policies from staging. It is the safety net that separates enterprise promotion management from "change and hope".

Dashboard and analytics

The Dashboard tab is your promotion control room. KPI cards over a selectable period (30 / 90 / 180 / 365 days) show: total discount applications, orders affected, rounded discount total in shop currency, and active policy count. Numbers come from the audit log — real events, not estimates.

Chart.js trend charts visualize discount activity across three granularities: daily (configurable window), weekly and monthly. Switch the default chart type in Settings. A pie chart breaks down applications by discount code so you see which COD-* rules actually fire in production.

The dashboard also surfaces recent audit entries — last policy changes, last simulations, last front-office discount applications — for at-a-glance troubleshooting without opening the full log. Analytics period, chart day/week/month windows and default chart type are all configurable under Settings → Analytics.

For agencies and multistore operators: the dashboard answers the question marketing always asks — "Is our promotion actually running?" — with data, not gut feeling.

Audit log

The dedicated Audit log tab is a full event journal — not a debug file buried in server logs. Every row stores timestamp, event type, actor (employee name, customer name, or SYSTEM), human-readable summary, linked order reference, discount code, amount, cart ID and policy ID.

11 event types are tracked: discount_applied (live cart sync), order_discount (order placed), policy_created, policy_updated, policy_deleted, policy_toggled, policy_duplicated, policy_imported, policy_exported, settings_updated and simulation_run. Each event records its source: front office, back office or system.

Click View on any row to open a detail modal with the full JSON snapshot — applied discount lines, policy diff, simulation output or settings change payload. Discount applications store a discount_snapshot so you can reconstruct exactly what the customer saw at checkout time.

The list supports PrestaShop native CSV export for finance and compliance reviews. Joined columns show order reference, customer name and employee name without manual cross-referencing. When a customer asks "why did I get this discount?", the answer is one search away.

On the order page in back office (displayAdminOrder hook), a panel shows which Conditional Order Discounts policies contributed to that order — policy name, discount code, amount and snapshot. Historical truth survives even if the policy is later edited or deleted.

Import, export and duplicate

Policies are portable JSON documents. Export downloads the full policy — condition tree, all rules, promotion configs, merge strategy, positions — ready for version control or handoff to another shop. Import uploads a JSON file and creates a new policy (or updates, depending on workflow) with audit log entry policy_imported.

Duplicate clones a policy with one click from the list actions menu — copies every rule, renames with a suffix, logs policy_duplicated. Perfect for creating "Black Friday v2" from "Black Friday v1" without rebuilding 15 rules by hand.

Typical agency workflow: build and simulate on staging → export JSON → import on production → run simulator again → enable. Black Friday setups move between client shops in minutes. Every transfer is traceable in the audit log.

Module settings

The Settings tab centralizes shop-wide behaviour. Master enable/disable switch. Global merge strategy default for new policies. Global discount cap — maximum total discount per cart across all policies (0 = unlimited). Free items as gift toggle — materialize free products as native PrestaShop gift lines vs inline discount.

Disable auto-add prevents automatic cart rule injection when you want manual control. Debug log writes verbose engine traces for support. Analytics section configures default chart period, daily/weekly/monthly windows and default chart type.

Every settings save logs settings_updated to the audit log with before/after snapshot. No silent configuration drift.

Checkout integration and multistore

Discounts materialize as native PrestaShop cart rules prefixed COD-*. They appear in cart summary, checkout, order confirmation, invoices and credit slips — exactly like manually created cart rules. No theme hacks. No fake negative product lines.

The engine hooks into actionCartSave, product add/remove, front controller init, order validation and cart rule validation — recalculating whenever the cart context changes. Cart state is persisted in conorderdis_cart with applied snapshot, gift snapshot and linked cart rule ID for idempotent sync.

Policies are shop-scoped (id_shop) for multistore setups. Each shop in your group can run independent promotion stacks. PrestaShop 9.x, 8.x and 1.7.x share one codebase via the built-in compatibility layer.

Multilingual checkout labels per rule (conorderdis_rule_lang) ensure the discount line reads correctly in every active shop language.

Under the hood

Statistics for nerds

Cart evaluated. Units expanded. Promotion calculated. Native cart rule applied. Every step traced in audit rows. This is enterprise class software — here is the engineering behind the discount your customer sees.

31,000+
Lines of code

~25,600 PHP · ~4,000 JavaScript · ~750 Smarty templates · ~1,300 CSS. Engine, builders, dashboard, simulator, cart rule manager and admin UI.

21
Domain PHP classes

Engine, calculator, unit pool, condition tree, cart rule manager, audit log, dashboard, policy duplicator, promo materializer and more.

31
Translation packs

Ready-made translation files for the back office and module interface. From English and German to Polish, Spanish, French, Italian and markets across Europe and beyond.

6
Back office tabs

Dashboard, Policies, Settings, Simulator, Audit log and Updates — each a self-contained panel with dedicated JS bundles.

20
Promotion formulas

Dedicated calculators for BOGO, spend, tiers, lines, gifts, shipping and cart/product adjustments.

30+
Condition fields

Cart, customer, delivery, product and compound qty/amount rules with nested AND/OR logic trees.

11
Audit event types

Discount applied, order discount, policy CRUD, import/export, duplicate, toggle, settings and simulation.

5
Merge strategies

Stack all, first wins, priority cascade, highest discount, unique codes — per policy and global default.

Database layer

  • 5 custom tables: conorderdis_policy for campaigns, conorderdis_rule + conorderdis_rule_lang for rules and labels, conorderdis_cart for cart sync state, conorderdis_log for audit journal.
  • 4 ObjectModels: ConorderdisPolicy, ConorderdisRule, ConorderdisCartState, ConorderdisLog with full CRUD and multishop awareness.
  • Snapshots: applied discount JSON, gift snapshot and materialized products stored per cart for idempotent native cart rule sync.

Architecture

  • 9–10 PrestaShop hooks: actionCartSave, actionValidateOrder, actionValidateCartRule, displayAdminOrder, product-in-cart delete hooks and more.
  • 6 back office tabs: Dashboard, Policies, Settings, Simulator, Audit log and Updates — each a self-contained panel with dedicated JS bundles.
  • 6 JavaScript modules: condition builder (~1,000 lines), promotion builder, policy rules, dashboard charts, simulator and product search autocomplete.
  • PS 9 compatibility layer in lib/prestashop9compatibility.php — one codebase across PrestaShop 1.7.x, 8.x and 9.x.
Chart.js
Daily, weekly and monthly discount trend charts plus pie breakdown by discount code on the analytics dashboard.
100+ files
PHP classes, JS builders, Smarty templates, SQL schema, translations and compatibility layer in one module package.
v
Current release. PrestaShop 9.x, 8.x, 1.7.x. One codebase, three platform generations.

Conditions decide who qualifies. Promotion formulas decide how much. Native cart rules deliver the discount. Audit log proves what happened. That is the engineering contract Conditional Order Discounts keeps on every cart update.

31,000+ lines of code across 100+ module files, 31 translation packs and v of continuous development. Not a weekend coupon plugin. Enterprise class software your checkout, finance team and marketing department can rely on when promotions go live and someone asks why a cart got a discount.

149.00 €

Module Gallery

Why choose our module
Conditional Order Discounts?

Optimization and Automation

Conditional Order Discounts automates advanced promotion management, transforming complex discount strategies into native PrestaShop cart rules. Its visual builder and 20 promotion formulas optimize campaign setup, reducing manual effort and ensuring precise, auditable discount application without coding.

Increased Sales

Conditional Order Discounts empowers your PrestaShop store with over 20 dynamic promotion types like BOGO, quantity tiers, and free gifts. This module enables precise targeting with visual condition builders, directly boosting conversions and significantly increasing sales by attracting customers with compelling, flexible offers.

15 years of experience

Drawing on 15 years of PrestaShop experience, Conditional Order Discounts is an enterprise-class engine. It tackles promotion complexities native rules can't, offering 20 formulas, a visual builder, and a crucial audit log for robust, transparent discount management.

Extensive Customization

Conditional Order Discounts offers extensive customization with its visual engine, enabling virtually unlimited discount programs. Combine 30+ conditions and 20 promotion formulas via nested logic and 5 merge strategies, perfectly fitting your store's unique needs.

Open Source Code

The Conditional Order Discounts module grants full access to its source code, allowing for advanced modifications and seamless integration without obfuscation. This enterprise-class software offers powerful promotion management with a one-time payment, unlimited time usage, and a year of free updates, ensuring long-term flexibility.

License and Updates

The Conditional Order Discounts module is constantly updated to ensure its advanced promotion formulas and condition builder remain fully compatible with PrestaShop versions. Your one-time payment grants a perpetual license. Enjoy a full calendar year of free updates, with renewals available at up to 90% discount thereafter.