Create and manage price lists in SamBooks
10 min read
A price list decides which price SamBooks proposes for an item or a service on a sales document: general, reserved to one customer, tiered by quantity, with cascading discounts.
What it's for
A price list (listino) is the set of prices SamBooks proposes automatically when you add an item or a service to a sales order, a delivery note or a quote. It lives on the Price lists tab of Warehouse items (left menu → Logistics → Warehouse items), the same page where you set up items and services — this guide covers only price lists, prices and discounts. To create items and services, see Manage warehouse items.
A price list can be generic (proposed to any customer without a dedicated one) or assigned exclusively to a specific customer. In both cases, the price the customer sees can then be reduced by a customer-specific discount rule, which always has the final word over any discount written on the price list.
Before you start
- You need at least one item already set up in Warehouse items to add it to a price list from the form (for a service, today, you need the CSV import — step 7).
- To assign a dedicated price list or a discount rule, the customer must already exist under Customers.
- Creating, editing or deleting price lists, lines and discount rules requires the Manager, Administrative or Logistics role on the company; the Viewer role sees everything but cannot save changes.
Step by step
1. Create a price list
Go to Warehouse items and open the Price lists tab. Press New price list: fill in Code and Name (required, the Code must be unique in the company), choose the Scope — Sales or Purchase, a price list applies to one direction only — and the Valid from date (required), optionally Valid to. The Active switch is on by default: a new price list is live right away. The rest of this guide follows the Sales path, the one with customer assignment and the precedence described below. Press Create price list: a "Price list created" confirmation appears and the price list shows up in the list with a status badge.
2. Add price lines to the price list
Open the price list you just created and expand the Price list lines section. Press Add line: choose the Item — today the picker only offers items, never services: to put a service on a price list you need the CSV import (step 7) — set the Price, optionally a Discount % and the Minimum quantity. The minimum quantity enables a tiered price: if you add two lines for the same item, one at minimum quantity 1 and another at minimum quantity 50 with a lower price, an order of 60 units automatically gets the price of the 50-quantity line. You can also give a single line its own validity, different from the price list's (line-level Valid from/Valid to). Confirm with Add line and repeat for every item.
The lines table shows Price, Discount, Minimum quantity, Validity and Actions — not which item the line refers to, not even when you reopen it to edit it (the item field is only shown while creating a line, not on an already-saved one). On a price list with many lines, the only practical way to track what each one is for is to remember the order in which you added them, or to check the exported CSV (step 7), which lists the item code for every line.
3. Assign a dedicated price list to a customer
A price list on its own is used by no one until you assign it. Go to Customers, open the customer's record and look for the Price list tab. You'll find "Assigned sales price list" with a dropdown of active sales price lists: pick one and press Save, or leave None to assign nothing (the customer will then use generic price lists or the base price, see resolution below). If the price list you need doesn't exist yet, press Create price list right there: it opens the creation dialog without leaving the customer record. Just below, on the same tab, you'll also find the customer's Discount rules (step 4): the two features live on the same page because together they decide the final price that customer sees.
4. Set up cascading discounts for a customer
Still on the customer's Price list tab, the Discount rules section lets you define discounts applied automatically to that customer's sales lines, for a specific Item or for a Category. Press Add discount: choose the target — Item (searched from the catalog) or Category (typed as text) — set up to three cascading discounts (Disc1 %, Disc2 %, Disc3 %) and optionally a validity period and a note. Cascading discounts apply one on top of the other, they don't add up: two 10% discounts don't make 20% but a real 19% (100 × 0.9 × 0.9 = 81).
A customer discount rule always wins over the discount written on a single price list line, when one exists: it replaces it, it doesn't add to it. This also applies when the starting price doesn't come from a price list at all but from the item's base price: the customer's discount still applies.
5. Edit a price list, pause it without deleting it
Open an existing price list to edit its Code, Name, Scope, validity or Notes from the Data tab, or check its history from the Activity tab. The Active switch in the same form is the correct way to pause a price list without losing it: with Active off, the price list stays saved with all its lines but stops being proposed among the generic price lists (see resolution below) — and you turn it back on whenever you want, at any time, by reopening Edit and flipping the switch again. This is different from, and safer than, deleting it (step 6).
6. Delete a price list or a line
The Delete action on a price list removes it together with all its lines. The confirmation message says the operation "is reversible", but today SamBooks offers no way — not in the interface, not by asking Sam — to bring a deleted price list back: the wording promises a reactivation feature that doesn't exist yet. If you think you might need a price list again in the future, use the Active switch from step 5 instead of Delete: that one really is reversible at any time.
Deleting a single line from a price list, on the other hand, is final from the start: the confirmation message says so clearly ("the operation is not reversible") and in this case it's accurate — use it only when you're sure you no longer need that specific price.
7. Import and export price lists as CSV
On the Price lists tab you'll find the Import and Export buttons at the top. Export downloads an Italian-format CSV (semicolon separator, comma decimals, openable directly in Excel) with one row per price line; the columns are: List code, List name, Scope, Currency, Valid from, Valid to, Active, Line type, Item/service code, Price, Discount %, Minimum quantity, Line valid from, Line valid to. Import loads the same format to create or update price lists and lines in bulk: it's also the only way, today, to put a service on a price list — write "servizio" instead of "articolo" in the Line type column, and the service's code in the Item/service code column. The import is idempotent on the price list code (a list with the same code is reused, not duplicated) and on each line (same item/service and same minimum quantity): re-importing the same file creates no duplicates — already-present lines are flagged as skipped.
How SamBooks picks the price (resolution and precedence)
When you add a line to a sales order, a delivery note or a quote and choose the customer, SamBooks computes the proposed price by following this order, stopping at the first result it finds:
- Does the customer have a dedicated price list assigned (step 3)? SamBooks uses only that price list, exclusively: it never looks at other price lists, even if a generic one had a cheaper or more recent price for the same item. If the item has no line in that specific price list, the price falls back to the item's Base price — not to another generic price list.
- No dedicated price list for the customer? SamBooks searches among the Active generic price lists of the same scope, valid on the document's date; if more than one has a price for the same item at the same minimum quantity, the one with the most recent Valid from date wins.
- No applicable price list at all? The item's or service's Base price is used.
Once the price is found, the discount is applied: if the customer has a discount rule for that item or its category (step 4), that rule replaces the discount written on the price list line (or applies anyway, if the price came from the Base price with no price-list discount at all). The price field on the document line shows in small text where the number comes from — "Price list <code>", "Item base price" or "Manually edited price" if you change it — so you always know its source before confirming the line.
Ask Sam
The same operations can be requested in chat, with the same result as the form: "create a price list SUMMER-2026 for sales, valid from June 1st", "add a €45 price for item ART-004 to the SUMMER-2026 price list", "assign the SUMMER-2026 price list to customer Rossi Srl", "what price does item ART-004 get for customer Rossi if they order 60 units?", "create a 10% discount for customer Rossi on the Spare parts category". Sam has the same tools as the form — create, edit, delete price lists and lines, assign a price list to a customer, create/edit/delete discount rules, compute the price for an item/customer/quantity combination — and every action that changes data stays reversible from the AI history.
If something goes wrong
- "Code already exists": a price list's Code must be unique within the company; choose a different one or edit the existing one instead of creating a new one.
- "Select an item": a price list line requires an item chosen from the catalog; you can't save it empty.
- The expected price doesn't show up on a document: first check whether the customer has a dedicated price list assigned (step 3) — if so, the item needs a line in that price list, otherwise the price falls back to the base price and not to another generic price list, even a cheaper one.
- A deleted price list doesn't come back: see step 6 — use the Active switch if you only need to pause it, not delete it.
- You can't add a service to a price list from the form: today the line picker only offers items; use the CSV import (step 7).
- Re-importing the same CSV file creates no duplicates: already-present lines (same item/service and same minimum quantity) are flagged as skipped, not duplicated.
Frequently asked questions
Can I sell the same item at a different price to two customers? Yes: create two price lists (or one price list with several lines for the same item at different minimum quantities) and assign the right one to each customer from their record.
What's the difference between a price list assigned to a customer and a discount rule on the customer? The price list changes the starting price of an item for that customer; the discount rule applies afterwards, on the price found — whether it came from a price list or the base price — and when one exists for that item or category, it replaces the discount written on the price list line.
Can a generic price list "see" the negotiated price of a customer with a dedicated price list? No: a price list assigned as dedicated to a customer is exclusive, it never enters the pool of generic price lists used for other customers.
Can I add a service to a price list from the form? Not yet: the Add line button only offers items. For a service you need the CSV import, marking "servizio" in the Line type column.
If I delete a price list by mistake, can I get it back? No, not today: even though the message says the operation is reversible, there is no way to reactivate it. If you're unsure, use the Active switch to pause it instead of deleting it.
Do cascading discounts add up? No: they multiply in sequence. Two 10% discounts don't make a 20% discount but a real 19%.
Related guides
- Manage warehouse items: where you create the items and services you then put on a price list, on the same page as the Price lists tab.
- Manage customers: where you assign a dedicated price list and discount rules to a customer.
- Create a sales invoice: where the price computed in this guide becomes a document line.
- Manage suppliers: the other side of the catalog, for price lists with Purchase scope.