Loading

Discount Rules and Stacking

Discount rules apply reductions on top of price list pricing — a promotion, a customer agreement, a volume incentive. The important mechanic is what happens when more than one applies.

The stackable flag

Every rule declares whether it stacks. A stackable rule applies and evaluation continues to the next. A non-stackable rule applies and evaluation stops.

Why stopping matters

Two 20% discounts that both apply do not give 40% off. They compound to 36%, and the difference is money leaving the business quietly. Multiply that across a promotion and a customer agreement that happened to overlap, and a campaign that looked profitable was not.

Making stacking explicit forces the decision to be made deliberately, at configuration time, by somebody thinking about margin — rather than emerging accidentally from the order rules happen to be evaluated in.

Order matters

Because a non-stackable rule ends evaluation, the sequence determines the outcome. Put the rules that must always be considered first, and be aware that a non-stackable rule early in the sequence hides everything after it.

Default to non-stackable

When in doubt, do not stack. A customer who received one discount instead of two will ask, and you can fix it. A customer who received two instead of one will not, and you will find out at the margin review.

Test the combinations

Before a promotion goes live, price a basket that qualifies for the promotion, one that qualifies for a standing customer discount, and one that qualifies for both. The third is the one that will surprise you.

Keep rules dated

Give promotional rules an end date when you create them, not when the promotion ends. A promotion that outlives its intended window is one of the more common ways discount configuration leaks money, precisely because nothing about it looks broken.