Any kind of advanced discount, where the discount depends on the customer’s shopping cart.
Manual discount (Made at the POS by the cashier. Applies to the cart.)
These three levels (price list → manual discount → promotion) are largely independent, meaning that a discount applied in one step never prevents another discount from being applied in the next step.
Discount order exception:
When a promotion “buy these specific items for a fixed price X”. In these scenarios, the manual discount will be re-applied after the promotion.
Price lists can be broadly identified as “store price lists” and “customer price lists”.
A customer price list is one that is associated with a customer group or an individual customer. These will likely be a rare occurrence (as they don’t allow variations per province), so let us focus on “store price lists.”
Store price lists apply in the following order:
Region price lists.
Customer group-specific region price lists.
Store price lists.
Price lists do not stack or accumulate. A price list % is discounted from the product card price, NOT the precious price list. (If needed, this can be configured differently.)
The last price (not the lowest price) wins. (This can be configured differently if needed).
Within one price list, if there is any overlap, a price will override a percent.
When a user is preparing a store price list, they cannot add any items that are already on a franchise-level price list during the same period.
However, if a franchisee store has already launched their own price list, it won’t get automatically disabled/overridden by a flyer or a Manager’s Special.
Promotions are applied according to their type, and within each type, from oldest to newest.
The order of types is:
Get X amount of specific products for a fixed price
Promotions triggered by a specific product. Item discounts, then receipt discounts.
Promotions triggered by invoice total. Item discounts, then receipt discounts.
Promotions triggered by reward points.
A basket item that triggers a promotion cannot trigger any other promotions (this can be overridden by marking both promotions as stackable), nor receive an item-level discount.
A basket item that has received an item-level discount cannot receive another item-level discount, nor trigger any other promotions.
Receipt discounts ($ off, % off), however, will all stack freely, without limitations, and will apply to items that have already received an item-level discount.
POS allows line-item discounts and receipt discounts.
Receipt discount is the same % applied to all item rows, so a receipt discount will override any line discounts before it.