Create a promotion
Goal
Define a new discount rule and optionally its coupon codes.
Who it is for
User with promotions.manage.
Preconditions
- Module on;
promotions.manage. - For Single item scope, the catalog item must exist.
- For fixed-amount discounts, set Currency so the promo only applies in that currency.
Steps
- Open Promotions → New promotion.
- Enter Code, Priority (≥ 0), and Name.
- Choose Discount type (Percentage / Fixed amount) and Value (> 0 for simple discounts).
- Set Trigger: Automatic or Coupon.
- Set Scope: All items or Single item (+ Item when single).
- Optionally set Valid from / Valid to, Budget, Usage limit, Sales channels (empty = all: Retail POS, Restaurant POS, Ecommerce, ERP), Publish to ecommerce storefront, and Active.
- Save. If trigger is Coupon, open Coupons → Add coupon (code + optional usage limit).
Result
When Active and inside the validity/channel/budget/usage window, the engine can apply the discount on eligible quote lines (subject to stacking and minimum sale price).
Hard stops
- Duplicate promotion code (unique).
- Scope = item without
item_id. - Invalid coupon at quote time → coupon not valid, expired, or usage limit reached.
- Amount below item minimum sale price after promo.