Skip to content
Pricing Rules: Four Scenarios

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.

  1. Scenario 1: volume tiers.
  2. Scenario 2: a two-week promotion.
  3. Scenario 3: member pricing.
  4. 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 setPriorityLine ruleTreatment
Accessories 50+300Category 3 = accessories, Min Quantity 50, Min Amount 0.01Discount, Multiply 0.90
Accessories 10+200Category 3 = accessories, Min Quantity 10, Min Amount 0.01Discount, 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”.

At the till these tiers need both thresholds. The counter’s engine tests Min Quantity and Min Amount only when both are above zero; with Min Amount left at 0 it skips the test, so the 50+ price set matches a single unit and the till gives 10% on every accessory. Sales invoices, orders and quotations test each threshold on its own. That is why the table sets Min Amount to 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.

Do not use Relative Period. The relative option (“last 30 days” and similar) saves no dates at all, and a rule with no dates never matches. It looks completely correct on screen. Always use Absolute Period with explicit 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 wrongWhat you seeThe fix
Volume tiers in the wrong priority orderEverybody gets the smallest discountHighest threshold gets the highest priority number
Min Amount entered as a line totalThe tier never firesMin Amount is compared with the unit price; use Min Quantity for volume
A tier with Min Quantity onlyThe till gives the top tier on a single unitSet Min Amount too (0.01 will do)
A promotion edited while tills are openBranches charge different prices for the same itemReload 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

Last updated on