Test a promotion before it goes live
Promotions fail in production in ways that are obvious in a test cart and invisible in a configuration screen. Twenty minutes of walking a real basket through the rule prevents the two expensive outcomes: a promotion that does not apply, and one that applies to everybody.
Build a test organization per segment
One test account is not enough, because the interesting failures are about who the buyer is.
| Test account | Resolves on | Proves |
|---|---|---|
TEST-OPEN | Your default list | The promotion applies to the intended audience |
TEST-CONTRACT | A contract list bound to it | The promotion does not leak onto negotiated prices |
TEST-PUNCHOUT | Reached through a punchout channel | No promotional price is transmitted |
TEST-SEGMENT | In the campaign's target segment | Segment targeting works at all |
Give each one a contact with a storefront login and mark them clearly — a prefix in the organization name is enough to keep them out of your reporting and out of a mailing.
Walk the cart through every condition
Test each condition from both sides. A rule that fires when it should is half the evidence; the half that matters is that it stays silent when it should not.
For "−5 % above €2,500 net, valve category, open lists only":
- €2,499 in valves, as
TEST-OPEN— no discount. The threshold holds. - €2,501 in valves, as
TEST-OPEN— 5 %. The rule fires. - €2,501 in fittings — no discount. The product condition holds.
- €2,501 in valves, as
TEST-CONTRACT— no discount. The price-list scope holds. This is the test people skip and the one that costs money. - A mixed cart — valves and fittings past the threshold. The discount lands on the valve lines only, and the threshold counts the whole cart or only the valves, depending on how you built it. Confirm which, because it is rarely what everyone assumed.
- The same cart with every other active promotion in play. Stacking is where the surprises live.
Test the boundaries
- One cent under and one cent over each value threshold.
- One unit under and one unit over each quantity threshold.
- The first and last minute of the validity window, in the tenant's time zone. A campaign entered as a date without a time frequently starts or ends a day out.
- The maximum: a deliberately huge cart, to confirm the maximum discount amount clamps it.
Check the invoice, not the cart
The cart is a preview. The invoice is the document your customer's accounts payable will match, your accounting will book and your ERP will reconcile.
Place a real test order and read the generated documents:
- The discount appears per line, named, with the resolved price still visible.
- Free-goods lines show a quantity, a unit price and the reduction — never €0.00. See Free goods and gifts.
- Cart-level discounts have been distributed across lines.
- Line totals plus freight plus VAT equal the grand total, to the cent. If they are a cent out, check the precision and rounding mode before you go live — Rounding, defaults and resolution rules.
- The order carries the promotion and campaign reference, so attribution is possible later.
Test the ending
Set the promotion's Valid until to two minutes in the future on a test tenant
and watch what happens to a cart built before it:
- The cart reprices at checkout, and says so visibly.
- No silent honouring of an expired rule.
- A coupon from the campaign returns expired, not invalid.
What to check before activating
- Every row of the condition table above has been tested from both sides.
- The contract-customer case is confirmed silent.
- The punchout case is confirmed silent.
- The invoice, not just the cart, has been read.
- Your Innendienst has been told what the promotion is and who it is for.
Next
- Run a campaign — launching it for real.
- Common promotion problems — when it still misbehaves.