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 three things, and you will stop believing a fourth is dead. 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 by every sales screen, which always combines the rules with and. None of the three changes a price on any sales screen. The Multi Line tab is the one people are told is inert and is not: no calculator reads it, so it never prices the line in front of you on any screen, but a till runs a second pass over the whole bill after every line change, and that pass does read it and can move a discount onto the cheapest matching line. So set Calculation Logic and And/Or only if you scan cash bills, and treat Multi Line as a till tab rather than a dead one.
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. So check your price sets for any of these: each one 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 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 Absolute at a counter. A pricing-scheme price source used to do the same, and the till served since October twenty twenty-six multiplies by the quantity correctly. 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 a treatment that raises a price will not surprise you. On a sales order a discount is applied only 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, does nothing there. At the till and on a sales invoice the same treatment is applied as it stands: the line goes up, and the difference shows as a negative discount. A quotation reads only the first treatment on the price set and only if that first one is a Discount, and the till does the same, so a price set whose Point treatment happens to sit first gives no discount on a quotation or at the till. 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 the points the till calculated stay, but any line the till missed earns nothing, 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, Member Class, Customer Category and Employee Category, all combined with and, with Negation available for exclusions. Entity Type is not on the list: it only checks that a customer is present. On the Single Line tab: one rule per price set, chosen from Item, Item Code pattern or Category 1 to 10. Thresholds are not on the list either: the till ignores a lone minimum, and only a sales order honours a maximum. In the treatment: Discount, with a Multiply below one or a Subtract, 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/>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 below one, subtract"]
N["Narrower than it looks"] --> N1["Book status · calculation logic<br/>And/Or (no sales screen reads them)<br/>Multi Line (till-only, second pass)"]
N --> N2["Formula · sales treatment ·<br/>relative period · company rule ·<br/>entity type · min/max thresholds ·<br/>a treatment that raises the price"]
N --> N3["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
- At the till and on a sales quotation — both engines read only the first treatment on the price set — Pricebook — Which engine prices your line
- The till's own points stay; a line the till missed is not filled in, and nothing says so — 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 multiplying by 0.9 — Pricebook — Which engine prices your line
- It depends on the screen — a sales order ignores it; the till and a sales invoice raise the line and show a negative discount — Pricebook — Which engine prices your line