Skip to content
Setting Up a Price Book

Setting Up a Price Book

You want a group of customers, or a group of products, to be priced differently from everybody else — trade customers at a discount, a category on promotion for a fortnight, members earning points. This page takes you from nothing to a price book that measurably changes the number on a sales line. Budget half an hour for the first one; the second takes five minutes.

Read the warnings in Step 4 before you design anything. Several rule types can be saved, look correct on screen, and never match a single line. Knowing which ones up front saves an afternoon of wondering why nothing happened.

Meet GadgetSphere

GadgetSphere Sdn Bhd sells consumer electronics through 22 branches. The corporate sales team has a handful of business customers who have been promised 8% off accessories. That is the price book we will build: one book, one price set, one discount, applied when the customer is in the corporate category and the item is in the accessories category.

Two words you need before you start

A price book is a container. It has a code, a name, and nothing else of consequence. GS-TRADE is a price book.

A price set is a rule inside it. This is where the work is. A price set says three things:

  1. Who qualifies — entity type, member class, branch, customer category, a date range. These are the Doc Hdr rules.
  2. Which items it covers — specific items, item categories, a code pattern, with a minimum quantity or amount. These are the Single Line rules.
  3. What happens — a discount, a sales price, or membership points. This is the Treatment.

A book can hold many price sets. When several of them match the same line, the one with the highest Priority Level number wins. That is worth reading twice: highest number first, not lowest.

Before you start

  • Your items exist, and if you want to price by category, the category labels are set on them in Inventory Item Maintenance. Category rules match on the item’s category labels, so an item with no label matches no category rule.
  • Your customers carry the category label you intend to key off, set in Customer Maintenance.
  • You know which applet will use this. POS, Sales Invoice, Sales Order and Sales Quotation each load exactly one price book. Not all of them — one each.
  • You hold price-book permission. Without it the applet’s screens return not authorised.

Step 1: Create the price book

Pricebook > Price Book > +

Four fields: Pricebook Code, Pricebook Name, Status and Description. Codes accept letters, digits, space, hyphen and underscore only, and are upper-cased when you save. Give it a code you will recognise in a dropdown six months from now — GS-TRADE, not PB001.

Save. You now have an empty container.

Two fields on the price book do less than they look like they do. The Status field (Active / Inactive) and the Calculation Logic dropdown are both saved, and both are ignored by POS, Sales Invoice, Sales Order and Sales Quotation. Setting a book to Inactive does not stop it being applied. If you want a book to stop working, change the Default Pricebook setting in the applet that uses it, or set its price sets to Inactive. (Calculation Logic is read only by the receipt-scanning membership-points processor.)

Step 2: Add a price set

Pricebook > Price Set > + — or open the book and use its Pricing Set tab

  • Price BookGS-TRADE.
  • Pricing Set CodeACC-CORP-8. It cannot be changed after you save it, and nothing checks it for uniqueness, so pick carefully.
  • Pricing Set Name8% off accessories for corporate accounts. This name is what appears on the sales line when the discount lands, so write it for the person reading the invoice.
  • Priority Level — a number. Higher wins. Leave room: number your first rules 100, 200, 300 rather than 1, 2, 3, so you can slot something between them later.
  • Status — Active. Only ACTIVE price sets are evaluated. This is your on/off switch, not the book’s Status field.
There are two editors for a price set and they are not identical. Opening it from the Price Set menu offers Currency, Settlement Method and Sales Treatment. Opening it from Price Book → Pricing Set offers Employee Category, Customer Category and the numbered Category rules instead. They write the same record. Use the Price Book route when you need customer or employee categories — which is what GadgetSphere’s rule needs.

Step 3: Say who qualifies

Rules - Doc Hdr tab > Create

Add a Customer Category rule and tick the corporate category. Then save the price set — rules are held in memory until you do, and the screen will warn you.

The rule types on this tab that the sales applets and POS actually evaluate are: Valid Date Range, Branch, Entity Type, Member Class, Employee Category and Customer Category.

Step 4: Say which items it covers — and avoid the rules that do not work

Rules - Single Line tab > Create

Add an Item Category rule… except that is exactly the trap. Here is the honest picture of what matches today:

Rule typeDoes it work in POS / Sales Invoice / Sales Order / Quotation?
ItemYes
Item Code RegexYes
Category 1 … Category 10 (numbered)Yes — matched against the item’s category labels
Item CategoryNo — never matches
Item Name RegexNo — never matches
Category Code Regex, Category Name RegexNo — never matches

So for GadgetSphere: use a Category rule on the numbered label that holds “accessories”, not the Item Category rule. Set Min Quantity and Min Amount if there is a threshold; both default to 0, which means no threshold.

Two more limits worth knowing while you are here:

  • The Rules - Multi Line tab is not evaluated at all by POS or the sales applets. Anything you put there has no effect. (The receipt-scanning processor does read it, which is why the tab exists.)
  • A Relative Period date range never matches. The Valid Date Range rule offers Relative Period (for example “last 30 days”) and Absolute Period (From and To dates). The relative option saves no dates and therefore never matches. Always use Absolute Period, with explicit From and To dates.

Step 5: Say what happens

Treatment tab

Tick Discount Treatment. Then:

  • Price Source — what the discount is calculated from. For a straight percentage off the standard price, that is the standard amount.
  • Operator — multiply, add, subtract, absolute, or a formula.
  • Value — for 8% off, a multiply operator with the appropriate factor.
  • Apply Treatment To — net unit price, net amount or transaction amount.
  • Priority — defaults to 2.

If your company has enabled it, there is also a Sales Treatment block, which sets a price rather than discounting one. Where both are present, the one with the lower Priority number wins, and a tie goes to the discount. The screen refuses to save if the two priorities are equal.

A discount only applies when it makes the price lower and still above zero. If your formula produces a price higher than the current one, or zero, nothing happens and nothing tells you. When a price set appears to be ignored, check the arithmetic before you check the rules.

Save the price set.

Step 6: Point the applet at the book — the step everyone forgets

Sales Invoice (Internal) > Settings > Default Selection > Default Pricebook

Nothing you have built does anything until this setting names your book. Each applet loads one price book at start-up and evaluates it for every line. With no value set, no price book is evaluated at all.

Do it in every applet that needs it: POS General, Sales Invoice, Sales Order and Sales Quotation each have their own setting. If corporate customers buy through the sales team and in store, both applets need pointing at GS-TRADE.

Then reload the applet. The book is read when the applet starts, so an already-open tab will not pick up the change.

What success looks like

Two minutes, and you will know for certain:

  1. Open Sales Invoice and start a document for a customer in the corporate category.
  2. Add an accessory line at its normal price.
  3. The Unit Discount on that line is populated, and the description beside it reads 8% off accessories for corporate accounts — the price set’s name.

If the name appears, the whole chain is working. If the price changed but you cannot see which rule did it, the name is how you find out.

Common mistakes

What goes wrongWhat you seeThe fix
The applet’s Default Pricebook is not setNothing happens, anywhere, everSet it in each consuming applet’s Default Selection and reload
Setting the price book to Inactive to switch it offIt keeps applyingThe book’s Status is not read. Set the price sets to Inactive, or clear the Default Pricebook setting
Using an Item Category ruleThe price set never matchesUse a numbered Category 1-10 rule against the item’s category label
Using a Relative Period date rangeThe price set never matchesUse Absolute Period with From and To dates
Putting rules on the Multi Line tabThey are ignoredPut item rules on Single Line
Two price sets both match and the wrong one winsA discount you did not expectPriority Level: highest number wins. Renumber with gaps
The item has no category labelA category rule that looks right matches nothingSet the label on the item in Inventory Item Maintenance
Editing rules and navigating awayThe rules are goneRules live in memory until you press Save on the price set

Related documentation

Last updated on