Prices¶
Odoo offers multiple options to configure prices on the ecommerce. For example, you can apply prices per unit, offer discounts, and set up pricelists.
Taxes¶
To add a tax on a product, you can either set a tax in the Customer Taxes field of the product template or use fiscal positions.
See also
Choosing the displayed price tax usually depends on a country’s regulations or the type of customers (B2B vs. B2C). To select the type of price displayed, go to Shop - Products section, and under Display Product Prices select between:
, select the website, scroll down to theTax Excluded: the price displayed on the website is tax-excluded, and the tax is computed at the order review step;
Tax Included: the price displayed on the website is tax-included.
Note
This setting is website-specific and can therefore be configured independently for every website in the database.
Tip
Switch the Tax indication toggle on in the
website editor to explicitly indicate if the price is Tax excluded
or Tax included
on the
product page.
Price per unit¶
To display a price per unit alongside the sales price on the product page, follow these steps:
Go to Shop - Products section, and enable Product Reference Price.
, scroll to theSet the product’s Sales price and select the unit (e.g., Units).
In the Base Unit Count field, enter the number of units in the product, then select the relevant unit from the dropdown list.
Example
Imagine you want to sell a 2-liter bucket of paint for $60, i.e., $30 per liter.

The price per units, in this case per liter, is shown next to the sales price on the product page.

Note
The price per unit may be mandatory in some countries.
See also
Pricelists¶
Pricelists in Odoo allow to manage flexible pricing rules and to offer different prices and discounts based on currencies, time periods, purchase volumes, customers’ location, and/or customer type. To enable pricelists for eCommerce, go to , scroll down to the Shop - Products section, enable Pricelists, and Save. Then, click Pricelists or go to and configure the relevant pricelists.
In the Ecommerce tab, configure options specific to online sales, such as assigning a Website to a pricelist, allowing customers to select it, and/or adding an E-commerce Promotional Code.
Tip
If you are using several websites and you want to use the same pricelist on several of them, you need to duplicate the pricelist for each website. If you do not assign any website, the pricelist will not be used, unless it is selectable.
Pricelists can also be assigned to a specific customer.
Note
When pricelists are enabled in the Sales app, they are automatically enabled in the eCommerce app, and vice versa.
In the list of pricelists, order the pricelists by priority: the first takes precedence over the second, the second over the third, and so on.
It is also possible to create specific pricelists for variants.
See also
Selectable pricelists¶
Selectable pricelists are useful, for example, when selling products in multiple currencies and allow customers to choose a pricelist using the catalog’s pricelist selector located next to the search bar.

To make a pricelist selectable, enable Selectable.
Note
If a pricelist is designated as Selectable, and is not assigned to a specific website, then the pricelist is selectable on all websites.
If a pricelist does not appear in the selector, it may be due to the following situations:
Only one pricelist is defined as Selectable and the contact has a pricelist assigned.
Multiple selectable pricelists exist, but only those matching the customer’s country group are shown. It is strongly recommended to disable the Selectable option when using pricelists with country groups on the ecommerce.
See also
GeoIP & country groups¶
It is possible to display a specific pricelist based on the visitor’s location and IP address by assigning country groups to pricelists.
To do so, navigate to the relevant pricelist form and select the appropriate Country Groups. Create or edit as many pricelists for specific regions as needed. For instance, select European Union to apply the pricelist to all EU member states.
To create a new country group, click Search more in the dropdown list, then New. Add a Group Name and select the relevant Countries. Use Custom filters if needed.
Note
Each country group must contain at least one country.
Example
Use the following filter if you want to add all non-EU countries to the country group.
Country Group
+ is not in
+ European Union

Important
When using GeoIP to determine the appropriate pricelist, all pricelists used on the ecommerce must have a country group assigned.
It is strongly recommended to disable the Selectable option when using pricelists with country groups. Indeed, all pricelists with the relevant country group are automatically applied to the catalog but if one of them is marked as Selectable, the others will disappear as soon as customers select the selectable pricelist.
Example
Imagine you create three pricelists:
EU regular prices
with theEU
country group assignedEU prices with discounts
with theEU
country group assignedUS prices
with theUS
country group assigned
If the Selectable option is enabled for
EU regular prices
andUS prices
, and the customer is from the European Union, only the pricelistsEU regular prices
andEU prices with discounts
will be available. However, since theEU prices with discount
list is not selectable, it will disappear once the customer selects theEU regular prices
list and prices will be displayed based on theEU regular prices
pricelist on the catalog.
Pricelist application¶
On the ecommerce, the default pricelist is automatically selected for public, non-logged in users when no country group is assigned. If GeoIP and country groups are used, public users see the pricelist of their country group by default. Logged-in users with assigned pricelists see the assigned pricelist by default if it is assigned to the website they are visiting. If not, the website’s default pricelist is applied (i.e., the first available pricelist assigned to the website and without a country group, following the sequence order).
Assigned pricelists take precedence over country-based pricelists, when applicable, unless the assigned pricelist is linked to a different country group.
Example
A customer from the United States visits the website. They do not have a portal account. The United States pricelist is applied.
A different visitor, also from the United States, has the Loyal Customer Discount pricelist assigned in their contact form. This assignment takes precedence over the country group assignation, so the Loyal Customer Discount is applied.

Discounts¶
Discounts programs¶
To enable discount programs for your ecommerce, go to , scroll down to the Shop - Products section, and enable the Discounts, Loyalty & Gift Card feature.
Configure the discount program, make sure the Website option is enabled, and add the relevant Pricelist and Website on the program form, if needed.
Permanent product discount¶
If the price of a specific product has been permanently reduced, the strikethrough strategy is commonly used. This involves showing the new discounted price, with the original price crossed out alongside it.

To display a permanently discounted price, navigate to Shop - Products, enable the Comparison Price option, and Save. Then, go to the product form, enter the new (discounted) price in the Sales Price field and the original one (strikethrough) in the Compare to Price field.
, scroll down to theNote
The Compare to Price field must contain a price that is higher than the Sales Price for the original price to appear with a strikethrough.
Important
The Compare to Price is not displayed if discounted pricelists apply. If you want to use the Compare to price with another discount, configure a pricelist with a promotional code.
Discounted pricelists¶
It is also possible to create pricelists with discounts. To do so, create a pricelist and configure the discount.
If a pricelist contains a Discount price type, the price is striked through for applicable customers, even if the Comparison Price feature has not been enabled.
Note
If using pricelists with country groups, the discounted pricelist must be assigned the same country group as the one used for the non-discounted pricelist.
E-commerce promotional code¶
To offer a discounted pricelist for customers with a specific discount code, access the relevant
pricelist form, go to the Ecommerce tab, and add
an E-commerce Promotional Code, e.g., SUMMERSALE10%
. Then, go to the Price
Rules tab, click Add a line, and configure the discount. When a customer inserts the code during the checkout process, this discount is granted according to the Price
Rules configuration.
Note
Make sure that the Promo Code option in the website editor is enabled and, if using country groups, that the discounted pricelist has the same country group assigned as the non-discounted pricelist.
Hide prices¶
Some businesses, such as B2B shops or companies that sell luxury or custom items, often prefer to showcase their products online without displaying their prices.
To hide product prices on the ecommerce, go to Prevent Sale of Zero Priced Product in the Shop - Products section, and enter a redirect URL in the Button URL field. The Add to Cart button on the product page is then replaced by a Contact us button, which can be customized if needed.
, enableAfter enabling this feature, either set the price to 0
for all desired products or create a
pricelist with all product prices set to 0
. Ensure the
pricelist is assigned to the correct website and is listed first among the website’s pricelists.
Tip
Ensure no pricelist used on the ecommerce has been marked as Selectable to prevent accidentally displaying the zero-priced pricelist.
To hide prices from public visitors while keeping them visible to logged-in customers, create a zero-priced pricelist to be used for non-logged-in customers and assign a regular pricelist (with actual prices) to customers with portal access.
See also