Price Books


With the price books, you can define customer-specific prices for certain products. This way the prices of the products added to e.g. an invoice are updated automatically according to the price book based on an agreement with the customer. The price books have their own module, Price Books.


Price lists have their own module, through which they can be created and modified.

Quick Start Guide

  1. Press the New button to create a new price book
  2. Fill in the wanted information for the price book.
  3. Save the price book.
  4. Add the products belonging to it to the price book from the Relations tab in the price book.
  5. Add the accounts/contacts/organizations belonging to it to the price book from the Relations tab in the price book.

Creating a new price book

A new price book is created by clicking the New button new and by determining the following information:

  • Price Book Name
  • Is the price book Active. If the price book is not checked as active, the prices are not updated
  • Type. The price book type defines, which users can use the price book and for which customers.
    • Generic: all the users can use the price book for all of the accounts.
    • Accounts: all the users can use the price book, but only for the accounts linked to it.
  • Currency
  • Start and end dates. These schedule the time the price book is valid.
  • Description.

When the basic information in the price book has been determined and saved, you can link it with the right products and the customers and/or contacts the price list is applied to. This is done on the Relations tab of the price book.

New products, accounts, contacts and organizations can be added to the price book by pressing the +add button.

It is important to make the needed changes in the prices of the products in the price book. The prices can be edited by clicking the Edit button  in the Action column (see the picture below).


The price of the product can be altered to meet the need either by setting a list price that differs from the unit price, or by setting a product-specific custom tax percent (see the picture below).


When the price list is active, and the right customers (/contacts) and the products with the altered prices have been linked to it, the system automatically updates the prices to the new invoices, quotes, etc. created for the customer.

Things to note

It is possible to link an account to several different price books, but then you’ll also need to make sure you’re using the right one when creating an invoice etc. (When selecting a product to an invoice, quote etc., the prices in “Sales organization” typed price book are used in the search by default. If multiple price books are selected when searching, the “Accounts” typed price book is the most dominant.)

Using price books in V2 requires dynamic field formulas!

Row List Price field:

{$product_id|get_pricebook_price:$account_id} {$product_id|get_pricebook_price:$account_id:”OPTIONAL_PB_TYPE”}


Detailed instructions for these are coming later.

Example: Checking if the Account has a price book price

There are several different use cases for Price books, for which different dynamic field formulas can be made. Below is an example of how to check if the Account has a Price book price. The example formula below works in modules that use the field Row Unit Price (e.g. Invoices and Sales Orders).

Dynamic field formulas used to manage price books can be modified according to their intended use. The formula below is used to check whether the customer has a price book price:

{if $row.product_id && $account_id}{assign var="PR" value=$row.product_id|get_pricebook_price:$account_id}{else}{assign var="PR" value=$row.listPrice}{/if}{if $PR}{$PR}{else}{$row.listPrice}{/if}
  • First, we check that the entity in question contains both a product and a customer in the row.
  • Next, a variable is defined, which is used to check whether the company has a price book price or whether the basic list price of the product is used.
  • The variable in the example symbol is PB, i.e. the Price Book module is referred to here.

Example: Creating a dynamic formula for a selected usage

Dynamic field formulas are managed from the settings under Module manager, where the settings of the desired module are then selected. Then we add a new formula as follows:

  1. Dynamic field formulas are selected
  2. A New formula is selected
  3. We choose Run -> On Save in the Row Unit Price field
  4. Write the desired formula (the example formula given in the picture above) and press Save
  5. Once the formula is saved, it must be activated from the formula control panel. Disabled formulas appear in the formula list with a red background. The example formula was made in the Invoice module.
  6. When the formula is active, its background turns white and it can be viewed and edited from the formula’s own control panel if necessary.

An example of editing a formula

If, for example, you would like to use several price lists, you can also use the type of price list. This would be added as part of the above formula as follows:



Example: Getting tax percentage from the price books

For different reasons customers may have different tax for same products. You can always fetch the customer-specific tax rate from the price book, just like you can fetch customer-specific prices from the price book. This can be done by writing the formula in the tax field of the row. The customer-specific tax percentage can be retrieved from the price book using the following dynamic field formula:

{if $account_id}{$row.product_id|get_pricebook_tax:$account_id}{/if}

Legacy only: Getting price and tax for a product when the same customer and same product appear in multiple price books

This part is for legacy users since in V2 the dynamic field formulas can be used to fetch specific tax percentages. In some situations, the same customer and the same product may appear in multiple price books. This affects how the price and tax are fetched for the product.

Firstly, the price fetched for the customer appearing in multiple price books is the cheapest available price before taxes. Secondly, the tax is determined by the price book used, unless the price book does not give a custom tax percentage. If the custom tax rate is not set in the price book with the lowest price, the tax rate used is the rate set for the product.

Example of tax and price calculation in the legacy system

We have a product with a tax rate of 24%, which appears in price books A, B & C.

In price book A the price of the product is 15€ and the price book has a tax rate of 9%.

In price book B the price of the product is 17€ and the price book does not have a specific tax.

In price book C the price of the product is 19€ and the price book has a tax rate of 0%.


If the customer appears in the price books A & B or A & C, the price is 15€ and the tax rate is 9%.

If the customer appears in the price books B & C, the price is 17€ and the tax rate is 24%, because the product’s own tax rate is used when the price book does not have a custom tax rate.

Stock Tracking
Files – How to activate it to your CRM usage
Sales Orders
Complete Guide to Work Hour Reporting
Price Books
Combined Shape