What a price book will not do — transcript
Play this as a presentation — one slide per step, with the same narration. Every word of every step is on this page.
This lesson is for whoever at GadgetSphere is about to design something ambitious with price books, and it is deliberately the list of things not to attempt. In about thirteen minutes you will know which controls on this surface are inert, which two will cost you money quietly, and the short list of rules and operators that behave identically on every screen.
Step 1 — Rule out the controls that do nothing
After this step you will stop configuring four things. The price book’s own Status is read by no engine. Its Calculation Logic is read only by the scanned-cash-bill points processor. The Doc Hdr tab’s And/Or control is ignored and the rules are always combined with and. And the Multi Line tab, together with its own logic and negation, is read only by that same server-side processor — nothing on a till or a sales document ever looks at it. None of those is broken exactly; each is a control that belongs to a narrower surface than the screen implies. Configure them if you scan cash bills, and otherwise leave them alone.
Reference: Pricebook — Which engine prices your line
Step 2 — Rule out the rules that cannot match
After this step you will avoid three dead ends in rule writing. A Relative Period date range stores no dates at all, so it can never be true — always use an Absolute Period with real from and to dates. A Company, Currency, Settlement Method, Member Label or OCR Company header rule is skipped by every sales engine, which means it silently passes and widens the price set. And on the Single Line tab, an Item Category or a name-pattern rule never matches on a sales document, although the till’s own engine does match a category and a category-code pattern. Across the fleet only a small number of price sets carry one of these; each of them is quietly doing nothing where its author expected something.
Reference: Pricebook — Troubleshooting
Step 3 — Know the two that cost money quietly
After this step you will have tested the only two behaviours on this surface that can misprice a real sale. The first is the till at a quantity above one, when the price source is a pricing scheme or the operator is Absolute: the counter takes a figure that is a unit price and writes it into fields that hold line totals, so a two-unit line can come out at the price of one. Ring up the same item once and twice and compare before you use either setting at a counter. The second is the Formula operator, which the till’s engine has no branch for at all — a formula discount is computed nowhere and the line’s amounts are left in an unusable state.
Reference: Pricebook — Where the number came from, and what the line remembers
Step 4 — Know what a treatment will refuse to do
After this step you will stop trying to raise a price with a price book. A discount is only applied when the computed figure is greater than zero and lower than the figure it would replace, so an Add treatment, or a Multiply above one, produces nothing at all — no error, no line change. A quotation reads only the first treatment on the price set and only if that first one is a Discount, so a price set whose Point treatment happens to sit first discounts on every screen except a quotation. And a Sales Treatment only ever reaches a price on a sales invoice; nowhere in production does one exist yet, because the block stays hidden until an applet setting is switched on.
Reference: Pricebook — Which engine prices your line
Step 5 — Understand where points really come from
After this step you will know why points sometimes appear without the till and sometimes not at all. The counter calculates points as it goes. Then, when a cash bill or sales invoice that carries a member is saved, the server checks one applet setting — Auto Apply Points From Pricebook — and if it is off, returns immediately, logging and saying nothing. If it is on, it evaluates the price book again and fills in point type, currency, amount and validity only on lines that carry no points already. It is a backstop, not a second award: it never overrules the till, and it silently completes lines the till missed. Switch it off and members stop earning, with no message anywhere.
Reference: Pricebook — Points: the till computes, the server fills the gaps
Step 6 — Keep the list that works everywhere
After this step you will have the safe vocabulary. On the Doc Hdr tab: Valid Date Range with absolute dates, Branch, Entity Type, Member Class, Customer Category and Employee Category, all combined with and, with Negation available for exclusions. On the Single Line tab: one rule per price set, chosen from Item, Item Code pattern or Category 1 to 10, with minimum quantity, minimum amount and an optional maximum quantity. In the treatment: Discount, with Multiply, Subtract or Absolute, on the standard amount or the net. Everything in this lesson that is not on that list belongs to a narrower surface, and everything on it behaves the same way on every screen you can reach.
Reference: Pricebook — Which engine prices your line
How the steps fit together
flowchart TD
W["Works on every screen"] --> W1["Doc Hdr: absolute dates, branch,<br/>entity type, member class,<br/>customer/employee category"]
W --> W2["Single Line: ONE rule —<br/>item, item code pattern,<br/>category 1-10"]
W --> W3["Discount treatment:<br/>multiply, subtract, absolute"]
N["Narrower than it looks"] --> N1["Book status · calculation logic<br/>And/Or · Multi Line tab"]
N --> N2["Formula · sales treatment ·<br/>relative period · company rule"]
N --> N3["Scheme price source ·<br/>Absolute at a till, quantity > 1"]
Check yourself
Three to five questions on what you just heard. Every correct answer links to the page that makes it correct, so you can check the source, not just the mark.
Answer key
- Absolute Period, with a from and a to date — Pricebook — Troubleshooting
- On a sales quotation, whose engine reads only the first treatment and only if it is a Discount — Pricebook — Which engine prices your line
- No points, with nothing said anywhere — the server returns before generating any — Pricebook — Points: the till computes, the server fills the gaps
- A Branch rule on the Doc Hdr tab with a Discount treatment using Multiply — Pricebook — Which engine prices your line
- Nothing — a discount is only applied when the computed figure is below the one it replaces — Pricebook — Which engine prices your line