Discount Rules and Stacking
A price list gives the starting price; rules adjust it. A rule can take a percentage or an amount off, set a fixed price or give free units, on each line or on the whole document, under conditions you set. Whether later rules still apply is explicit on every rule, and the price simulator proves the result line by line before anything is sold.
Where to find it
Admin Panel → Sales:
- Pricing — the Rules tab to build rules, and the Price simulator tab to prove them
Architect Panel → ERP - Trading & Analytics:
- Pricing — the same console
- Price Rules — the rules as a datastore
Building a rule
- On the Rules tab press New rule (ERP: Sales only).
- Name it and choose Applies to: Each line or The whole document.
- Does: Percentage off, Amount off each unit, Fixed price, or Free units (n free per quantity bought). Enter the Value, and for free units the Per quantity bought (for example 1 free per 10).
- Currency: required for an amount off or a fixed price, so a rule never takes pounds off a dollar price. A percentage can apply to any currency.
- Under Only when (all must hold; none = always), add conditions as Field, Comparison and Value rows, such as customer class equals Trade or quantity at least 50.
- Set Priority, tick Stackable - later rules still apply only if it is meant to combine with others, and set Starts, Ends and an optional Budget cap.
- Press Save rule.
A whole-document rule can only take a percentage or an amount off; a fixed price or free units is a line rule. A percentage off is at most 100.
Order and stacking
Rules apply in priority order, highest first. A rule that is not stackable ends evaluation, which is how you say "this promotion instead of the contract discount, not on top of it". With percentages the order matters (10% then 5% is not 5% then 10% of the same base), so the order is a commercial decision.
Budget caps and usage
The rules list shows each rule's Budget and how many times it was Used on sales. A rule's usage and the amount it has given away count only when a sale is committed, that is when the invoice posts, never when a quote is priced or the simulator is run. Once the amount given away reaches the Budget cap, the rule stops applying. Rules outside their dates are marked Not current.
The price simulator
- Open Price simulator. Enter the Customer (or a Customer class), Currency, On date and Direction. Choose how to Express prices (as the list holds them, net of tax or including tax) and the Tax rate %.
- Add lines: Item reference, Quantity, Unit of measure, and optionally Unit cost (for margin).
- Press Price it.
The result shows each line's list, list price, discount per unit, unit price and margin, the whole-document rules, and for every line a step-by-step explanation of how it was priced. Simulating stores nothing and never counts against a rule's usage or budget; it calls the same pricing the sales documents use.
What goes wrong
- A rule never applies: its conditions are wrong, it is outside its dates, its currency does not match, or a higher-priority rule that is not stackable ends evaluation first. The simulator shows which.
- Two discounts compounded: both were stackable. Untick stackable on the one meant as an alternative.
- "An amount or a fixed price is money in ONE currency": choose the rule's currency.
Worked example
A retailer runs a 15% seasonal promotion at priority 100, not stackable, capped at 20,000, for six weeks. Contract discounts sit at priority 50 and are stackable. In the simulator a contract customer's order shows the promotion applied and the contract discount not applied, because the promotion ends evaluation. After a week, the rules list shows the promotion used on 140 sales; when 20,000 has been given away on posted invoices, it stops.
Recommendations
- Decide stacking on every rule; never leave it to chance.
- Cap every promotion.
- Simulate a qualifying and a non-qualifying order before a rule goes live.
- Let finished promotions lapse on their end date rather than deleting them; their usage is history.