Skip to content
Discount Rules

Discount Rules

Automatic cart discounts that need no coupon codes — the customer just sees
a better total at checkout.

Rule types

| Type | Example |
|---|---|
| % off orders over amount | 10% off carts over 100 |
| Fixed discount over amount | −15 off carts over 150 |
| % off from N items | 15% off when buying 3+ items (optionally within one category) |
| Buy X get Y free | buy 2 units of a product — 1 more unit free (per cart line) |
| % off a category | 20% off everything in "Summer" |

Each rule can be scheduled (start/end date) and marked as *not combinable
with promo codes* — then it stays silent when a code is applied.

How discounts are applied

When several rules match the same cart, **the one giving the biggest
discount wins** — customers always get their best deal, and discounts never
stack unexpectedly. The applied rule's name is stored with the order and
visible in the order details (meta), so support always knows why the total
is lower.

BOGO counts complete bundles per cart line: with "buy 2 get 1" and 7 units
of a product, the customer pays for 5 (two full bundles → 2 free units).

Requirements

Shop plugin 1.3.0 or newer (the shop.cart.discount_extra checkout hook).

Version Date Requires Size
1.0.0 2026-08-24 PHP >=8.3 · Celena >=3.6 15 KB

Initial release: five rule types (percent over, fixed over, bulk quantity, BOGO, category sale), scheduling, promo-code exclusivity flag, best-rule-wins application recorded in order meta.

Requirements

  • PHP >=8.3 or newer
  • Celena CMS >=3.6 or newer

Installation

After purchase you receive a license key. Install the package from the client admin panel — it will ask for the key on activation.

  1. Open Plugins/Themes in your Celena admin panel.
  2. Click “Install from file” and upload the downloaded archive (or use “Install from marketplace” if connected).
  3. Activate the package — for paid packages, enter the license key when prompted.

Full installation guide in the documentation →