Pricing rules in practice: volume tiers, a promotion, member and branch pricing
Part of designing pricing rules: the four rules GadgetSphere wants live in one book before the year-end sale, built so they do not fight. It assumes the order on Pricing rules in order: the highest Priority Level number that matches wins, and a line gets one price set’s treatment, never two. The four: accessories 5% off at 10 units and 10% at 50, a two-week promotion on one laptop model, 8% off for members, and one category slightly lower at the Penang branches.
- Scenario 1: volume tiers.
- Scenario 2: a two-week promotion.
- Scenario 3: member pricing.
- Scenario 4: branch-specific pricing.
Scenario 1: Volume tiers
Tiers are not one rule with three bands. They are three price sets, ordered so the biggest threshold is checked first.
| Price set | Priority | Line rule | Treatment |
|---|---|---|---|
| Accessories 50+ | 300 | Category 3 = accessories, Min Quantity 50, Min Amount 0.01 | Discount, Multiply 0.90 |
| Accessories 10+ | 200 | Category 3 = accessories, Min Quantity 10, Min Amount 0.01 | Discount, Multiply 0.95 |
| (no tier) | — | — | — |
A line of 60 earbuds at RM 129 hits priority 300 first, matches the minimum of 50, and is priced at RM 116.10 a unit — RM 6,966.00 for the line, RM 774.00 of discount — and the search stops. A line of 20 fails the 50 test at priority 300, drops to priority 200, passes 10, and gets RM 122.55 a unit. (Use one of the numbered Category 1-10 rules, as here; Item Category matches at the till only — see Pricing rules that never match.)
Get the order backwards and the tiers silently collapse. If the 10+ rule had the higher priority, a 60-unit line would match it first and only ever get 5%. Nothing would tell you.
Min Amount is compared with the item’s unit price, not the line total. A rule of “10 units and at least RM 2,000” never matches an RM 129 item, however many you sell. Use Min Quantity for volume, and keep Min Amount for “items priced at RM X or more”.
0.01: any item with a price clears it, and it switches the quantity test on at the counter. Ring up one unit at a till to check.Scenario 2: A two-week promotion
Rules - Doc Hdr tab > Create > Valid Date Range
Choose Absolute Period and set the From and To dates.
The dates are compared against the current date, from 00:00 on the From date to 23:59:59 on the To date, by the clock of the till or PC doing the pricing — a counter whose clock is a day out starts and ends the promotion a day out. Give the promotion a high priority so it beats the standing rules while it runs, and set its status to Inactive when it is over — or just leave it; once the To date passes it stops matching.
Changing a promotion while it runs is where the 22 branches part company. Each till and each back-office applet uses the copy of the book it read when it started. Edit the promotion’s discount at 11:00 and every till that was already open keeps the old figure until it is reloaded, while a till opened at 11:05 uses the new one — two branches, two prices, same hour, and no message at either. Lines already on a draft keep the discount they were given, and saved documents keep theirs for good. So a mid-promotion change is a small rollout, and the job of finishing it is yours: tell every branch to reload POS, then ring up the promoted laptop at one till in each region to see the new figure before you call it done. A till that cannot reach the server when it loads the book falls back to its offline copy, and at the build served in October 2026 that copy is read back as one price set at most, so the rest of the book prices nothing until the till starts again with the server in reach.
Scenario 3: Member pricing
Rules - Doc Hdr tab > Create > Member Class
Pick the member classes that qualify. Member classes must exist in the Membership Admin applet first.
Two neighbouring rule types behave differently and it matters:
- Member Class is evaluated. Use it.
- Member Label is not — the calculator treats it as satisfied whatever it says, so a price set gated only on a member label applies to everybody.
If members should get 8% off on top of nothing else, give this set a middle priority so a live promotion can outrank it. Remember the line gets one set: a member buying the promoted laptop gets the promotion or the 8%, never both. If members should get both, build that as its own price set — Member Class and the promotion’s dates and item, with the combined discount — at a priority above both.
When to use a pricing scheme instead of a price set. If your member price is a list — a price per item that someone maintains — it belongs in a Member pricing scheme, which puts the member price on the line before the price book runs. A Member Class price set suits a rule — “8% off everything” — that should switch on and off with dates and sit alongside your promotions. Using both is normal: the scheme sets the price, the price set discounts from it.
Scenario 4: Branch-specific pricing
Rules - Doc Hdr tab > Create > Branch
Pick the Penang branches. Branch rules are evaluated properly — against the branch on the bill or document, so a document with no branch never matches one.
Company rules are not. A rule on Company is treated as satisfied, so a price set you meant to limit to GSO will apply in GS and GSD too. Where you need per-company pricing, the reliable route is a separate price book per company, pointed at from each company’s applet settings — not a Company rule.
What success looks like for this part
Every price set the four scenarios need (the two tiers, the promotion, the member set and the Penang set) is ACTIVE in the book the applets’ Default Pricebook names, the 50+ tier outranks the 10+ tier, both tiers carry a Min Amount of 0.01, the promotion uses an Absolute Period and a priority above the member set, and the member and Penang sets use Member Class and Branch rules. Then reload the applets and run the five tests in the whole task’s success check.
Common mistakes in this part
| What goes wrong | What you see | The fix |
|---|---|---|
| Volume tiers in the wrong priority order | Everybody gets the smallest discount | Highest threshold gets the highest priority number |
| Min Amount entered as a line total | The tier never fires | Min Amount is compared with the unit price; use Min Quantity for volume |
| A tier with Min Quantity only | The till gives the top tier on a single unit | Set Min Amount too (0.01 will do) |
| A promotion edited while tills are open | Branches charge different prices for the same item | Reload POS at every branch, then check one till per region |
The rest of the mistakes are on the front page.
Next: Choosing a treatment.
Related documentation
- Designing pricing rules — the whole task, the rules that never match, and how to test.
- Pricebook applet — every rule type and field, and each engine side by side.
- Membership Admin applet — member classes.