Combining discounts
Which discounts stack, and in what order they apply.
User guide
Which discounts stack, and in what order they apply.
By default, a discount combines with nothing — one discount per order, the safe assumption. Stacking is something you switch on deliberately, per discount, in the builder's Combinations (stacking) section.
Each discount declares which kinds of other discounts it may sit alongside — product discounts, order discounts. The builder says the important part itself: "Which other discounts this one may be applied together with. Both discounts have to allow it, so the other one's settings matter too."
A 10%-off-tea product discount that allows order discounts, plus a SAVE10 order code that allows product discounts, stack happily. If either one doesn't allow the other's kind, they don't — and a requested discount that can't join the applied set is refused with "cannot be combined with the other discounts on this order", while an automatic one just stays out.
The cashier's manual discount sits outside the matrix entirely — it applies on top of whatever the catalogue produced.
When discounts do stack, the engine applies them narrow before broad: product discounts first, then order discounts; within a kind, percentages before fixed amounts.
That order is why the arithmetic comes out fair: an order-level percentage computes on what the goods actually cost after the product discounts —
$100 cart, 20% product discount, stacking 10% order discount: the order discount takes 10% of $80, so the customer pays $72, not $70.