A price list is a named set of dated item prices that xMatix uses to fill in the unit price or unit cost on document lines, so that sales and purchase staff don't type prices by hand. You build price lists once in the Sales or Procurement settings. Orders, invoices, quotes, purchase orders and the other documents then pick a list when they are created and price each line from it. If a price changes, you add a new dated rule instead of editing every open document.
Overview
A price list has two parts:
- The list itself (the header). Its Price List Type, Active, Default and scope fields (Partner Account, Branch, Partner Account Group, Customer Account Group) decide which new documents the list is stamped onto.
- Its rules (the Rules tab). Each Price List Rule gives one Price for one Item from a Date Effective From date, optionally until a Date Effective Till date. A rule can also be narrowed to one SKU, one Item Lot Type or one Service Type.
The header decides which list a document uses. The rules decide which price a line gets. Nothing on the header changes which rule wins inside the list.
When to use it
- You sell at standard prices and want every order line priced automatically.
- Some dealers, branches or customer tiers buy on their own terms. Give each one a scoped list.
- Prices change on a known date. Add a rule with the new Date Effective From and leave the old rule in place, so documents dated before the change keep the old price.
- You buy from suppliers at agreed costs and want purchase orders, bills and requisitions to fill Unit Cost. Use a Purchase Price list.
- Service jobs need a standard cost for parts that aren't stocked. A Cost Price list supplies it (see Business rules).
Discounts and taxes are separate masters. They are covered in Pricing, discounts and taxes.
How xMatix handles it
- A new document gets a list. When you save a new sales or purchase document without a Price List, xMatix looks for an active list of the matching type that fits the document's partner account, branch and account groups, and fills it in. If you choose a list yourself, xMatix keeps your choice.
- Each line gets a price. When you add a line, xMatix finds the rules on the line's price list (or the document's) for the line's item. It keeps only the rules in force on the pricing date and writes the winning rule's Price to the line.
- Prices can be refreshed. The Reprice button on orders, quotes and service orders prices every line again. Changing the document's Price As On Date, or a line's price list or pricing date, does the same.
Sales-side lines (order, invoice, quote, opportunity, delivery order, credit note and service order lines) receive the price as Unit Price. Purchase-side lines (purchase order, bill, bill return, inventory adjustment, requisition and auto purchase order lines) receive it as Unit Cost.
The field app prices Take Order lines from the same rules while offline. Commerce storefronts also read price list rules, with their own selection logic, which is described in Catalogue and pricing.
Prerequisites
- The items you want to price exist, with their SKUs and lot types if you price those separately.
- For an account-group-scoped list, an account group of type Price exists, and its members are set up and active.
- Your security profile lets you create and edit Price List and Price List Rule records (see Permissions).
Procedure
Step 1 — Open the price list register
In the Sales app, select Settings, then Price List. The same register is in the Procurement app's Settings, in the Pricing & Tax group.
The default view, All Price Lists, shows every list with its Price List Name, Price List Type, Partner Account, Branch, Is Default, Is Active, Created By, Created Date and Modified Date. Use the view switcher to show only All Active Price List, All Sales Price List, All Purchase Price List or All Cost Price List.
Step 2 — Create the list
- Select New. The New dialog opens.
- Enter a Name that says who the list is for, for example Retail 2026 or North Dealers.
- Choose the Price List Type: Sale Price for sales documents, Purchase Price for purchase documents, or Cost Price for service cost-plus pricing. The type is required.
- Turn on Active. A list that isn't active is never chosen automatically.
- Turn on Default only for the one list that should price lines when a document has no list at all (see Business rules).
- Under Account Details, set the scope. Leave a field empty to mean "any":
- Partner Account: the company that sells (or buys) on the document.
- Branch: the branch the document is raised in.
- Partner Account Group: a Price account group containing the partner account.
- Customer Account Group: a Price account group containing the customer. This is used on sales documents only.
- Save.
The list's record page opens on the Rules tab. Its header shows Price List Type, Partner Account, Partner Account Group and Active.
On a tenant that runs one company or one location, the Partner Account and Branch fields are hidden. A list then applies to the whole tenant.
Step 3 — Add price rules
- On the Rules tab, select New. A new row opens in the list.
- Pick the Item. It is required.
- Optionally pick a SKU (the list shows only that item's SKUs) and an Item Lot Type. Leave them empty to price every SKU and lot type of the item.
- Enter the Price.
- Optionally choose a Service Type (Campaign Repair, Paid Repairs, Refurbishment or Warranty Repairs). A rule with a service type applies only to service orders, quotes and opportunities of that type. Leave it empty for ordinary items.
- Optionally choose a Price Basis: Per Unit or Per Hour. If you leave it empty, xMatix fills it in from the item.
- Enter Date Effective From. It is required. Optionally enter Date Effective Till. Leave it empty for a price with no end date.
- Save the row.
The rule gets a number in the PLR series as its Name. The list shows each rule's Name, Item, SKU, Price, Date Effective From, Date Effective Till and Created Date.
Repeat for every item. Each list holds its own rules, so an item sold on three lists needs a rule on each.
Step 4 — Change a price from a date
Don't overwrite the existing rule, because documents already priced from it would then disagree with the list.
- Open the old rule (select its Name), or use the row's Edit, and set Date Effective Till to the last day of the old price.
- On the Rules tab, add a new rule for the same item with the new Price and Date Effective From set to the first day of the new price.
New lines dated from that day get the new price. Lines already on documents keep their price until the document is repriced.
Step 5 — Check which price a document gets
- Create a draft document for the customer, company and branch in question, and save it.
- Check the Price List field on the header. It shows the list xMatix chose. If it is empty, no list matched, and lines are priced only from a list flagged Default.
- Add a line for the item and check its Unit Price (or Unit Cost on a purchase document).
To price a document as of another day, set Price As On Date on the header (or on a line) before adding lines. Changing it later reprices the existing lines.
Step 6 — Reprice an existing document
On a draft order, quote or service order, select Reprice. Every line is priced again from the rules in force on the pricing date. Lines whose rate is marked Rate Manual, and bundle-priced lines, are left alone. Reprice needs at least one line. On an order with none, it stops with No Order Line found for Repricing.
Invoices, purchase orders and bills have no Reprice button. Change Price As On Date on the header to reprice them.
Step 7 — Change, retire or delete a list
- Change a header field. On the list's record page, open the Details tab and edit the field in place, or select Edit. A change to the type, scope or Active affects only the choice of list for documents created afterwards. Documents that already carry the list keep it.
- Retire a list. Turn off Active and end-date its rules with Date Effective Till. Turning off Active alone only stops the list from being chosen for new documents. A document that already carries the list, or a user who picks it by hand, still gets its prices.
- Delete a rule or a list. Use Delete on the record page, or the row's delete action. Prefer retiring a list over deleting it when documents still reference it.
Fields
Price list
| Field | What it means | Notes |
|---|---|---|
| Name | The list's name, shown on documents' Price List field. | Not unique, so give each list a distinct name. |
| Price List Type | What the list prices. Values: Cost Price, Purchase Price, Sale Price. | Required. Sales documents only pick Sale Price lists automatically, and purchase documents only Purchase Price lists. A Cost Price list is never picked for a document. |
| Active | Whether the list can be chosen automatically for new documents. | Not checked when a line is priced. |
| Default | Marks the fallback list for lines on a document that has no price list. | Also a late tie-break during list selection. Mark only one list. |
| Partner Account | Confines the list to documents of one selling or buying company. | Empty means any company. Hidden on single-company tenants. |
| Branch | Confines the list to documents of one branch. | Empty means any branch. Hidden on single-location tenants. |
| Partner Account Group | Confines the list to companies in this account group. | The group must be of type Price, and only active members count. |
| Customer Account Group | Confines the list to customers in this account group. | Sales documents only. The group must be of type Price, and only active members count. |
| Created By, Created Date, Modified By, Modified Date | Audit details on the Details tab. | Read-only. |
The list also has a Sequence Number (default 0) that ranks matching lists. It isn't on the seeded forms, so an administrator has to add it to the layout to use it (see Configuration).
Price list rule
| Field | What it means | Notes |
|---|---|---|
| Item | The item this price is for. | Required. Matched exactly. There is no rule for an item group or for all items. |
| SKU | Narrows the rule to one SKU of the item. | Optional. The picker lists only the item's SKUs. |
| Item Lot Type | Narrows the rule to one lot type. | Optional. |
| Price | The amount written to the line's Unit Price (sales) or Unit Cost (purchase). | A default, not an override (see Business rules). |
| Service Type | Limits the rule to service documents of that type. Values: Campaign Repair, Paid Repairs, Refurbishment, Warranty Repairs. | Optional. Empty applies to every document. |
| Price Basis | Whether the price is Per Unit or Per Hour. | Optional. Filled from the item's rate basis when empty. It must agree with the item. |
| Date Effective From | First day the price applies. | Required. |
| Date Effective Till | Last day the price applies. | Optional. Empty means no end date. It can't be earlier than Date Effective From. |
| Price List | The list the rule belongs to. | Set from the list you add it on. Shown on the rule's own page. |
| Name | The rule number. | Filled automatically from the PLR series. |
Rules also have a Price2 field, which is copied to a line's Unit Price 2 or Unit Cost 2. It is not on the seeded rule forms.
Business rules
Which list a new document gets. This runs when a document is first saved with an empty Price List:
- Sales documents (order, invoice, quote, opportunity, delivery order, sale-return credit note, service order) look only at Sale Price lists. Purchase documents (purchase order, bill, requisition, auto order, inventory adjustment) look only at Purchase Price lists.
- Only Active lists qualify. Each scope field must be empty or must fit the document: the document's Partner Account and Branch, the partner account's Price groups and, on sales documents only, the customer's Price groups.
- Matching lists are ranked by Sequence Number (higher first). Then a list with a branch comes before one without, and the same applies to partner account, partner account group and customer account group. After that a Default list comes first, and finally the oldest list. The first one is used.
- A list you choose yourself is never replaced.
- Purchase lists can't be scoped to a supplier. The scope fields describe your own company, branch and groups, not the supplier on the document.
Which rule prices a line.
| Step | What happens |
|---|---|
| 1. The list | The line's own Price List, else the document's. If neither has one, rules on any list flagged Default are used. |
| 2. The date | The line's Price As On Date, else the document's, else the document date, else today. |
| 3. The candidates | Rules for the exact item that are in force on that date, and whose SKU, Item Lot Type and Service Type are empty or equal to the line's (service type comes from the document). |
| 4. The winner | A rule whose service type matches the document beats an unscoped one. Then the latest Date Effective From wins. When start dates tie, a rule naming the SKU or lot type beats a blank one. |
When the price is written.
- On a new line, a non-zero price you have already typed is kept. A price of zero or empty is filled from the rule.
- Changing the item on a line while you are still creating it prices the line for the new item. If the new item has no rule, the price is cleared.
- Bundle-priced lines and lines marked Rate Manual are never repriced.
- Reprice, a change to Price As On Date, or a change to the line's price list overwrites the price on every other line.
- If no rule matches, the line keeps whatever price it had (empty for a new line), and you have to enter it.
Validations.
- Date Effective Till can not be Older than Date Effective From. The rule is refused when the end date is before the start date.
- A Price Basis that contradicts the item is refused. For an hourly item: This item is priced by the hour (…), so its rate must be Per Hour. A Per Unit price would be billed once instead of for every hour. For a unit-priced item: This item is priced per unit, so its rate must be Per Unit. A Per Hour rate would be multiplied by a quantity that is not a duration.
- Nothing stops two rules for the same item from overlapping, or several lists from being marked Default. The ranking above decides which one is used.
Cost Price lists. A Cost Price list is not stamped on documents. Service quotes and service orders read it for lines priced Cost Plus, as the third source of cost. The first source is a purchase raised for the job, and the second is the inventory cost of stock on hand. xMatix uses the newest active Cost Price rule for the item with a price above zero that is in force on the costing date.
Example
A distributor sells to retail shops at list price and to its gold-tier dealers at a lower price. From 1 November the retail price of a 5-litre engine oil goes up from 1,450 to 1,520.
- The administrator creates two Sale Price lists. Retail is Active and Default, with no scope. Gold Dealers is Active, with Customer Account Group set to the Price group Gold Dealers.
- On Retail, the 5-litre oil has a rule at 1,450 from 1 January. The administrator sets its Date Effective Till to 31 October and adds a new rule at 1,520 from 1 November.
- On Gold Dealers, the oil has a rule at 1,380 from 1 January, with no end date.
- A sales executive raises an order on 3 November for a gold-tier dealer. The order gets Gold Dealers, because a list with a customer group ranks before an unscoped one when both match. The line is priced at 1,380.
- An order for a walk-in retail shop gets Retail, and its oil line is priced at 1,520. A back-dated order with Price As On Date 28 October is priced at 1,450.
Training
Practice exercise
In a sandbox:
- Create a Sale Price list called Training List. Turn on Active and set Customer Account Group to a Price group that contains a test customer.
- Add a rule for one item at 100 from the first of this month, and a second rule for the same item at 120 from today.
- Create a draft order for the test customer and add the item.
Expected result: the order's Price List is Training List, and the line's Unit Price is 120. Set the order's Price As On Date to a day before today. The line is repriced to 100.
Quick reference
- The header decides which list a document gets. The rules decide the price.
- Sales documents use Sale Price lists, and purchase documents use Purchase Price lists. Cost Price lists are only for service cost-plus pricing.
- Empty scope fields mean "any". A scoped list beats an open one.
- Groups must be account groups of type Price, with active members.
- One rule is one item, one price, from one date. Leave Date Effective Till empty for no end date.
- To change a price, end-date the old rule and add a new one.
- The latest Date Effective From wins. A matching service type beats even a newer unscoped rule.
- A price you type on a new line is kept. Reprice overwrites it, unless the line is Rate Manual.
- Turning off Active doesn't stop a list that is already on documents.
Permissions
Access follows the user's security profile. Price List and Price List Rule each need read access to view them, and create, edit or delete access to change them. In the standard profiles, Sales, Sales Executive, Sales Manager, Service, Standard User and System Admin have full access to both. Because a price list changes what every new document charges, review which profiles your organisation lets edit them.
The Reprice button is a server action, granted on the profile's Actions tab per document type. In the standard setup, Sales Manager, Standard User and System Admin have it on orders, and Sales Executive also has it on quotes and service orders. A user without the grant doesn't see the button.
Configuration
| What | Where | Effect |
|---|---|---|
| Price lists and rules | Sales app → Settings → Price List, or Procurement app → Settings → Pricing & Tax → Price List | The lists and prices documents use. |
| Customer and partner tiers | Sales app → Settings → Account Group (type Price) | Group membership that the Partner Account Group and Customer Account Group scopes test. See Account groups. |
| List ranking | Add Sequence Number to the Price List create and view layouts in the form designer | Lets you rank overlapping lists explicitly. Higher numbers win. With the default of 0 everywhere, the scope fields decide. |
| A second price per rule | Add Price2 to the Price List Rule layouts | Fills Unit Price 2 or Unit Cost 2 on lines. |
| Item rate basis | The item's rate basis on the item record | Decides the default Price Basis of its rules, and which basis is accepted. |
| Rule numbering | Document name setting Price List Rule Name Setting (series PLR) | The format of rule names. |
| Who can change prices | Security profiles → entity permissions for Price List and Price List Rule. Reprice is on the Actions tab. | See Permissions. |
The Price List picker on documents isn't filtered, so it offers every list of every type, active or not. Train users to pick only lists of the right type, or add a lookup filter.
Common problems
A new order has no price list
No active list of the right type matched the order. Check that a Sale Price list is Active, and that each of its scope fields is empty or fits the order: the same Partner Account and Branch, and account groups of type Price in which the company or customer is an active member. A group of another type matches no one.
The order got the wrong price list
Several lists matched, and the ranking picked another one. A list with any scope field set beats an open list, whatever its Default flag. Narrow the scope of the list that should lose, or add Sequence Number to the layout and give the right list a higher number. Orders created before the change keep their list. Change Price List on the order, then select Reprice: changing the header's list doesn't reprice the lines on its own.
The line has no price
No rule on the list covers the item on the pricing date. Check that the rule names this exact item, that its SKU and Item Lot Type are empty or match the line, that its Service Type is empty or matches the document, and that the pricing date falls between Date Effective From and Date Effective Till. If the document has no price list, only lists marked Default are searched.
I set a different price list on one line and nothing changed
When the document has a price list, xMatix only loads that list's rules. A line that names a different list then finds no rule and keeps its old price. Price the line from the document's list, or change the document's list.
An old price keeps coming back
An older rule has no Date Effective Till, so it is still in force. Where several rules are in force, the latest Date Effective From wins, so check for a newer rule with a later start or a rule with a matching service type. End-date the rules you no longer want.
I get "Date Effective Till can not be Older than Date Effective From"
The end date is before the start date. Correct one of them and save again.
I get "This item is priced by the hour …, so its rate must be Per Hour"
The rule's Price Basis contradicts the item. Choose the basis the message names, or clear the field so xMatix fills it in from the item.
A deactivated list still prices documents
Active only controls automatic selection for new documents. Documents that already carry the list, and lines priced from a Default list, still use its rules. End-date the rules to stop them pricing.
Common questions
Does changing a rule update open orders?
No. A line's price is written when the line is added, or when the document is repriced. Editing or adding a rule changes nothing on existing documents. To bring a draft order, quote or service order up to date, select Reprice. For an invoice, purchase order or bill, change Price As On Date on the header. Lines marked Rate Manual and bundle-priced lines are left alone in both cases. Because repricing overwrites prices typed on other lines, check negotiated lines before you reprice.
Can one list hold different prices for different SKUs or lot types?
Yes. Add one rule per SKU or lot type, each naming it. A rule with an empty SKU and Item Lot Type covers the rest. When two rules start on the same date, the one naming the line's SKU or lot type wins. A newer blank rule still beats an older specific one, though, so start new specific prices on the same date as the blank rule they refine.
Can I give one customer their own prices?
Not directly from the seeded forms, because the list's scope fields are company, branch and account groups. Put the customer in a Price account group of their own and set it as the list's Customer Account Group. The same pattern serves a tier of customers. Group membership has to be active, and the group's type must be Price.
What does a Purchase Price list do?
It fills Unit Cost on purchase order, bill, bill return, requisition, auto order and inventory adjustment lines, in the same way a sales list fills Unit Price. It is chosen automatically by company, branch and partner account group. It can't be scoped to a supplier, so to keep supplier-specific costs, choose the right list on the document yourself.
What happens when no list is set on a document and none is Default?
The lines aren't priced from any list. You enter each price by hand. Mark one broad list as Default if every document should get some price.
