Sales: Products: Pricelists: Creating + Using Pricelists
Purpose
The purpose of this documentation is to review how to configure and create a pricelist in Odoo 16. Pricelists are a way to provide different prices on individual products, and they can be configured in several ways.
Process
To get started, navigate to the Sales app.
Once there, go to Configuration > Settings and scroll down to the Pricing section and check the box next to Pricelists to expose the difference pricing methods.
In the following sections we'll go over how to enable and create a pricelist for each pricing method shown; therefore, the sections are organized by Pricing Methods.
Important!
Selecting a Pricing Method
It's important that you select one pricing method and stick with it. Once you have established pricelists, Odoo will allow you to change the method but it will cause problems in existing lists.
If you need to change the pricing method, you should first archive all existing lists and plan to start from scratch with new lists under the chosen method. If you need help, please contact us for assistance.
Multiple Prices per Product
This method is useful to manually set multiple flat-rate prices per product, depending on the buyer.
From Configuration > Settings under the Pricing section, enable Pricelists with the Multiple prices per product option. Click Save when you're done.
Create a Pricelist with Multiple Prices per Product
From this configuration page you can reach the Pricelists page in one of two ways: either click the Pricelists button or navigate to Products > Pricelists.
Once there, click Create to bring up the New Pricelists modal window.
Name: Give your Pricelist a name.
Currency: If your database has multiple currencies configured, you can select your preferred option.
With the Multiple Prices per Product model, you'll add products individually to the Price Rules tab. Under this tab, click Add a Line.
This opens a new line where you'll enter the following details:
Products: Select a product from the drop-down list. Each price rule will apply to one product.
Variants: If this pricing applies to a variant of the product, select it here.
Min. Quantity: Enter the number of items that must be purchased in order to qualify for this pricing.
Price: Enter the new per-unit price for this product.
Start Date: Choose if you want this pricing to start on a specified date.
End Date: Choose if want this pricing to expire on a specified date.
There is no limit to the number of items you can have on one pricelist with this configuration. You can also create different prices for different quantities of the same product. In the example, below, we've set up bulk discounts for a Bacon Burger.
When you're done, click out of the field to save the record.
Good to Know!
Adding New Prices from the Product Level
You can also add a special price to a pricelist directly from a product page. To do so, navigate to PRODUCTS > PRODUCTS. Select any product that you would like to define a new price for.
Click the EXTRA PRICES smart button.
On this page, click CREATE.
A new line will open where you'll enter the Pricelist name along with the minimum quantity, price, and a start/end date that should be reflected on this list.
When you're done, click SAVE.
Advanced Price Rules
This method is useful when you're dealing with a lot of products and it would be tedious to set them individually. It allows you to create a formula for subsets of products.
To enable this method, click Configuration > Settings. Under the Pricing section, enable Pricelists with the Advanced price rules (discounts, formulas) option.
Click SAVE.
Create a Pricelist
From here, you can reach the Pricelists page in one of two ways. Either click the Pricelists button or navigate to Products > Pricelists.
Click Create and give your Pricelist a name.
Under the Price Rules tab, click Add a Line.
This opens the Create Pricelist Items modal window where you'll have several options to configure your pricing.
Price Computation
Computation:
Fixed Price: This option will set one price to all products in the criteria you've set.
Percentage (discount): This option will set one discount to all products in the criteria you've set.
Formula: This allows you to create a formula that computes the price of each product within the criteria you've set. See the section below to understand what each field on the formula rules will do.
Based On: This is the base price for the computation.
Discount: This is the discount, you can also apply a markup by setting a negative amount. You can enter a discount percentage as your entire formula, or simply as a starting point.
Extra Fee: Specify the fixed amount to add or subtract (if negative) to the amount calculated on the discount. Here you can enter a flat-rate fee to add to each product in the subset.
Rounding Method: Sets the price so that it is a multiple of this value. The rounding is applied after the discount and before the surcharge. To have prices that end in 9.99, set rounding to 10, surcharge -0.01. Indicate the nearest dollar amount to round up to. This field will not accept anything under 1.00.
Margins: Specify the minimum amount of margin over the base price.
Conditions
Apply On:
All Products: This option will apply the pricing rules on all products.
Product Category: This option allows you to apply pricing only on a specific category or subcategory of your choosing.
Product: This option allows you to select an individual product to set the pricing on, and will include all variants of that product.
Product Variant: This option allows you to apply pricing on any product that is assigned a specific variant.
Min. Quantity: Enter the number of items that must be purchased in order to qualify for this pricing.
Validity: Choose when specific dates for when this pricing starts and expires.
When you've set your formula, click SAVE&CLOSE , then click SAVE.
Good to Know!
Negative Numbers on Pricelists
Yes, you can use negative numbers on pricelists:
A Discount of -10% will add 10% to the product price.
An Extra Fee of -2.00 will lower the price by $2.00
Do not add a negative number to the Rounding Method. While it will allow you to save a negative number, it will throw an error when you try to save it on a sale order.
Good to Know!
Formula Order of Operations (OOO)
When using a formula, the OOO is Discount > Rounding > Extra Fee.
Let's apply the formula and OOO to a product with the sales price $67.19
67.19 - (67.19 * 7%) = 62.49
62.49 rounded to nearest 1.00 = 62.00
62.00 + (-.01) = 61.99
Pricelist Configuration
With either pricing method, the Configuration tab offers even more options for applying your pricelist(s).
Availability
Country Groups: Select or create a Country Group that will automatically apply a pricelist based on the location of the customer.
- Discount Policy: Select if the discount is included in the price or show public price and discount to the customer.
- Website: If you have multiple websites in your database, you can set the ones you would like this pricelist to be applicable to here. Leaving the field blank will allow the pricelist to be used on all websites.
When you have finished configuring your pricelist, click the save icon.
Important!
Simply creating a country group with a country name is not sufficient to apply it by a customer's location. If you're creating a Country Group from within the Pricelist, be sure to click Create and Edit...
On this page, enter the Country Group Name again, then select the Countries to be included in this group. Leave the Pricelists section as-is because you're already within a record and it will connect once that pricelist is saved.
Click SAVE & CLOSE. This Pricelist will now automatically apply to customer sales in the specified country(ies).
Note: You can edit your Country Groups from the Odoo Contacts application.
Using Pricelists on a Sale Order
To apply a Pricelist to a Sales Order, navigate to the Sales application.
Click Create, then select a customer. If a pricelist is already applied to the customer contact record, it will populate in the Pricelist field. Otherwise, 'Public Pricelist' will be selected.
Add a product to the order.
This product will immediately inherit the price dictated by the pricelist set on the Sale Order.
Quantity Discounts
Configuring bulk discounts is a great way to give your customers incentive to purchase more product. This type of discount requires one pricelist with several different lines - one for each price discount level.
To create a bulk discount pricelist, go to Products > Pricelists, then click Create. This brings you to the Pricelists form.
Give your pricelist a name, then click Add a Line under the Price Rules tab.
Things brings up the Create Pricelist Items modal window. Select the following:
Computation: Select the pricing method to use for this pricepoint. Then, based on your selection, complete the additional fields to show what pricing will be for this pricepoint.
Apply On: Select which product(s) this will apply to.
Min Quantity: Select the lowest number of product you'll be discounting.
Validity: If this pricing only applies to certain dates, enter those here.
In our example, we're giving a 5% discount on Anime Theme Coffee Mug with a minimum purchase of 5 units.
To add the next pricepoint, click Save & New. Be sure the next pricepoint has a different Min. Quantity set. Here, we're offering a 10% discount when the quantity increases to 25+.
Repeat this process for all pricepoints. When you're done, click Save & Close. You'll then see all of your pricepoints and discounts listed with their respective products.
You can add multiple products to this pricelist, just be sure you configure each with different quantities and discount levels.
When you're ready, click to save manually.
You can see this in action on a Sale Order. Here we'ved added this product at each pricepoint, and you'll see where the Unit Price is adjusted for each line.
Good to Know!
Odoo Counts Each Line Separately
You may have noticed that Odoo didn't combine order lines with the same product. For this reason, if you have bulk-discounts in place, it's important to put them all on the same line. Here, we've separated 30 of the same product by pricepoint.
When we put all 30 products on one line, the customer gets the higher discount.