Introduction
Warning. Do not turn this feature on without consulting your ParagonERP representative.
This new method of pricing may disrupt your current price setup.
ParagonERP makes use of pricebooks to store and manage individual product prices. All prices are managed through a pricebook (module Pricebook). Further price differentiation, like volume discount or customer rebate, is managed through sales discounts (module Sales discount).
Paragon by default has a base pricebook. When price management is switched on, this base pricebook is linked to MyCompany, and needs to have the Mycompany currency. All items should be created in this pricebook: as soon as a product is created, a price needs to be setup in the base pricebook.
To allow price differentiation, multiple pricebooks can be created. These pricebooks can contain either the complete overview of products, or just a subset. A pricebook is linked to a customer and inherited to an order.
As soon as an order is created, Paragon first checks if an active price exists on the pricebook on the order, and if no entry is found gets the price from the base pricebook.
A price book has a currency. If you sell in foreign currencies, Paragon expects these products to be in a pricebook with that foreign currency. If no entry is found, it will take the price from the base pricebook and calculate the foreign currency using the exchange rate.
Pricebook:
- One or more price books are shown. Each product should appear in the base pricebook.
- A price book has 1 currency.
- Each price has a start date. When multiple prices for the same product exists, also an end date exists. It is possible to create future pricebooks. e.g. when a new price is created for a product starting January 1st of next year, the current price entry will get an end date of December 31st.
- Always 1 price per product is active. Paragon shows by default only active prices.
- It is possible to export and import prices in the pricebook. If new prices are imported, Paragon will automatically set an end date to existing prices, and create a new entry with the new price. Please note that certain attributes come in (and need to stay in) pairs (like money attributes); therefore the sequence of the columns is important when importing your data. If the import column order does not respect those pairs, your import will fail.
Product:
- On the product the active price from the base pricebook is shown. The price has a link to the pricebook.
- On a product the item price group can be set to apply special price agreements (see price discount configuration). This attribute is not relevant for base price.
Customer:
- On a customer a specific pricebook can be selected. When no pricebook is selected, the prices from the base pricebook will be applicable.
- On a customer the customer price group can be set to apply special price agreements (see price discount configuration). This attribute is not relevant for base price.
How to implement Pricebooks
- 1 Base pricebook is required. This pricebook contains all prices in the companies default currency.
- 1 Pricebook per currency. As you probably will set different prices per currency, Paragon requires a pricebook per currency.
- Pricebooks are not automatically assigned to customers. If a customer is setup, select the appropriate pricebook;
- If a price has not been setup in a foreign currency pricebook, ParagonERP will calculate the foreign curreny price based upon the base pricebook and exchange rate.
- 1 Pricebook per customer, or customer group. If you would like to differentiate one or more product prices for a single customer, or a group of customers (like a supermarket chain) we advise to create a pricebook for that customer or customer group. Use an appropriate pricebook name to make clear for users what pricebook to use. For customers belonging to a group, select the proper pricebook on the Customer module.
A pricebook has a hierarchy. You might want to give a special price for a subset of products to a customer. You only need to setup this subset of Products in the customer specific pricebook. ParagonERP will search first through the customer Pricebook, and when not found through the Base pricebook.
In the example below the customer with pricebook retailer will get Notebooks for 6.00 and Pencils for 5.00.
When to use Pricebooks and when Sales discounts
The advantage of pricebooks is that it is easy to use. On the customer the right pricebook can be found and immediately effective prices are shown and can be exported. If a customer changes of chain, or requires different pricing, just change the pricebook.
If a different price differentiation is required, Sales discounts may be the solution. Sales discounts support:
- Volume prices per product: when the price of a product is cheaper for a higher volume, a volume price can be configured;
- Discounts: when you want to apply a % discount for a customer or on a product;
- Price and discount: many customers would like to show a discount on their quotes and invoices. This is possible to setup discounts, or setup a price and discount in Sales discount module;
- A combination of customer, customer group, product or product group. If you would like to apply a % discount for a customer or certain customer group, Sales discount module will support this.
Examples for Pricebooks and Sales discounts
- A chain of supermarkets agreed a set price for products or services:
- Create a Supermarket chain pricebook with the products and services;
- Assign this pricebook to each customer belonging to this chain.
- Customers are divided in groups (2%, 5%, 10% discount). Each group has a different discount percentage:
- Create a customer price group per discount percentage (PG2, PG5, PG10),
- Assign the customer group (PG2, PG5 or PG10) to the applicable customers;
- Setup a Sales discount customer group: PG2 = 2%, PG5 = 5% and PG10 = 10%.
- For a spring action all mirrors have get a discount of 20%:
- Create a product group mirrors;
- Assign the product group (mirrors) to the applicable products;
- Setup a Sales discount product group: mirror = 20% with a start and end date.
How do price changes affect transactions
The normal lifecycle of an order and price is to create a Quote, an Order, Pick, Pack, Ship and Invoice. At the moment of Quote and Order creation a price validation is performed. ParagonERP uses the transaction date to determine the price. If an order has not been processed and a price change has occurred; when the quantity is changed the new price is selected and stored on the order. As soon as a pick is created from an order, you don't want to have price changes anymore. ParagonERP manages this by setting the price overwrite flag. Normally the price overwrite flag only is set when a price manually is overwritten or entered by a webshop. Once the price overwrite flag is switched on, quantity changes on Pick, Pack, Ship or Invoice do not affect a price.
Migration and implementation of Pricebooks
Notes:
- Pricebook prices are selected using the transaction date. Make sure the pricebook start date is from before order transaction dates, otherwise an order will have 0 prices.
- Quantity changes on Pick, Pack, Ship and Invoice can lead to changed prices. When a Pick is created, a price overwrite flag is set, and prices will not change. If there are existing transactions without a price override flag, and quantities are changed the price will also change.
What's Next?
Take a look at our sales discounts article for configuration.