Understanding Stacking Rules
When a customer's invoice qualifies for multiple discounts at the same time — automatic promotions, coupons, loyalty point redemptions — the system needs a set of rules to decide which discounts apply and how they interact. These are stacking rules. AccuArk's stacking rules give you precise control over how discounts combine, ensuring that your margin targets are protected even when multiple promotions overlap.
This guide explains the concepts behind stacking. The companion article Configuring Stacking Rules covers the step-by-step setup in the Stacking Rule Editor.
What Is Discount Stacking
Discount stacking occurs when more than one discount source applies to the same invoice. For example, consider a customer who:
- Purchases items that qualify for an automatic BOGO promotion (item-level discount)
- Also meets the threshold for a 10% off invoice-level tiered spend promotion
- Also presents a $5 off coupon code
- Also has 500 loyalty points they want to redeem for $5 off
Without stacking rules, all four discounts could apply simultaneously, and the customer might receive far more discount than you intended. Stacking rules let you define exactly which combinations are allowed, how many promotions can apply at once, and what the maximum discount can be.
Why Stacking Rules Matter
Stacking rules are your primary defense against unintended discount accumulation. Without them, a combination of individually reasonable promotions could erode your margins significantly. Consider a scenario where a 20% off promotion combines with a $10 coupon and a $5 loyalty redemption on a $50 order — the customer would receive $25 off, leaving you with only $25 in revenue on a $50 sale. Stacking rules let you set limits that prevent these extreme combinations while still offering customers attractive individual deals.
Stacking rules also simplify staff training. Instead of requiring cashiers to manually decide which promotions can combine, the system enforces the rules automatically. Cashiers do not need to memorize which promotions are compatible — the promotion engine handles all the logic behind the scenes.
Types of Stacking Decisions
AccuArk's stacking rules address several specific interaction scenarios. Each scenario has its own toggle that can be enabled or disabled independently:
Coupon + Promotion
This setting controls whether a coupon code entered by the cashier can be used alongside automatic promotions that the promotion engine has already applied to the invoice. When enabled, both the coupon discount and the automatic promotion discounts apply. When disabled, the customer must choose one or the other — typically the system either rejects the coupon (because promotions are already applied) or replaces the automatic promotions with the coupon discount, depending on which provides a better deal.
Loyalty + Promotion
This setting controls whether a customer can redeem loyalty points for a discount on the same invoice where automatic promotions are active. When enabled, the loyalty redemption stacks on top of any promotions. When disabled, the customer must choose between using their loyalty points or receiving the automatic promotion discounts.
Loyalty + Coupon
This setting controls whether loyalty point redemption can combine with a coupon on the same invoice. When enabled, the customer can apply both a coupon and redeem loyalty points. When disabled, they must choose one.
Item-Level + Invoice-Level
This setting controls whether item-level promotions (BOGO, bundle, category discounts) can stack with invoice-level promotions (invoice percentage off, tiered spend thresholds). When enabled, a customer could receive both a BOGO deal on specific items and a percentage off the entire invoice. When disabled, only one type applies — either item-level or invoice-level, but not both.
Max Promotions Per Invoice
The max promotions per invoice setting limits how many automatic promotions the promotion engine can apply to a single transaction. This is one of the most impactful stacking settings because it directly controls how many discounts accumulate.
- Set to 1 — Only the single best-qualifying promotion applies. This creates a "best deal wins" scenario where the promotion engine evaluates all eligible promotions and selects the one that provides the highest discount (or the one with the highest priority, depending on your precedence configuration). This is the simplest and most conservative approach.
- Set to 2 or more — Multiple promotions can apply simultaneously, up to the specified limit. For example, setting this to 2 means the two highest-priority qualifying promotions apply. This allows more generous discounting but with a controlled cap.
- Set to 0 or left blank — No limit is enforced. All qualifying promotions apply. Use this only if you are confident that your promotion design prevents excessive stacking through other means (such as mutually exclusive conditions or tight discount caps).
The max promotions per invoice setting counts automatic promotions only. Coupons and loyalty redemptions are controlled by their own separate toggles and are not included in this count.
Discount Caps
Discount caps provide an absolute ceiling on how much total discount an invoice can receive, regardless of how many individual promotions, coupons, or loyalty redemptions are applied.
Maximum Discount Percent
This cap limits the total combined discount as a percentage of the invoice subtotal. For example, if the maximum discount percent is set to 30%, a $100 invoice can never receive more than $30 in total discounts from all sources combined (promotions, coupons, and loyalty). If the sum of all applied discounts exceeds 30% of the subtotal, the system reduces the discounts to fit within the cap.
Maximum Discount Amount
This cap limits the total combined discount in absolute dollar terms. For example, if the maximum discount amount is set to $50, no invoice can receive more than $50 in total discounts regardless of the invoice size. A $500 order would be capped at $50 off, and a $60 order would also be capped at $50 off.
When Both Caps Are Set
If you configure both a maximum discount percent and a maximum discount amount, the system applies whichever cap is more restrictive for the given invoice. For example, with a 30% percent cap and a $50 amount cap:
- On a $100 invoice, the 30% cap allows up to $30 and the amount cap allows up to $50. The percent cap is more restrictive, so the maximum discount is $30.
- On a $200 invoice, the 30% cap allows up to $60 and the amount cap allows up to $50. The amount cap is more restrictive, so the maximum discount is $50.
This dual-cap approach gives you fine-grained control: the percentage cap protects margins on smaller orders, while the dollar cap prevents large orders from generating excessively large discounts.
Precedence Order
The precedence order defines which promotion types are evaluated first by the promotion engine. When the max promotions per invoice setting limits how many promotions can apply, the precedence order determines which types get priority.
For example, if the precedence order is:
- BOGO
- Bundle
- Category Discount
- Invoice Discount
- Tiered Spend
And the max promotions per invoice is set to 1, the promotion engine first checks if any BOGO promotions qualify. If one does, it is applied and no further promotion types are evaluated. If no BOGO qualifies, the engine moves to bundle promotions, and so on down the list.
Precedence order is especially important in businesses that run many overlapping promotions. By placing your most strategically valuable promotion types higher in the list, you ensure they take priority when only a limited number of promotions can apply.
Global Scope
All stacking rules in AccuArk apply globally across the entire system. There are no per-location or per-campaign stacking overrides. Every POS terminal at every location uses the same stacking configuration. This ensures consistent customer experience across all your stores — a customer receives the same stacking behavior whether they shop at location A or location B.
If you need different stacking behavior for different promotions, use campaign-level stackability settings (the "Is Stackable" toggle on campaigns) and promotion-level mutual exclusions rather than trying to create location-specific stacking rules.
What to Read Next
- Configuring Stacking Rules — Step-by-step guide to setting up each stacking rule in the Stacking Rule Editor, with examples for each setting.
- Using the Stacking Inspector — Learn how to use the read-only Stacking Inspector to diagnose why promotions did or did not apply to a specific transaction.