Price management¶
Odoo offers multiple options to select the prices displayed on a website, as well as condition-specific prices based on set criteria.
Taxes¶
Tax configuration¶
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.
Tax display¶
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 category, and select Tax Excluded or Tax Included.
, scroll down to theTax Excluded: the price displayed on the website is tax-excluded, and the tax is computed at the cart-review step;
Tax Included: the price displayed on the website is tax-included.
Note
This setting is website specific, and therefore can be altered for each website within a database.
To display the type of pricing next to the product price, navigate to Edit and, in the Customize tab, enable Tax Indication.
, select a product, then click
Price per unit¶
It is possible to display a price per unit on the product page. To do that, go to and enable Product Reference Price under the Shop - Products section. When enabled, ensure an amount is set in the Base Unit Count field of the product template, and in the Sales Price field.

The price per unit of measure can be found above the Add to Cart button on the product page.

Note
Pay attention that having the price per unit may be mandatory in some countries.
See also
Pricelists¶
Pricelists are the primary tool to manage prices on an eCommerce website. They make it possible to define website-specific prices - different from the price on the product template - based on the country group, currency, minimum quantity, period, or variant.
See also
Understanding default pricelists¶
The concept of a default pricelist in Odoo depends on the application being used. In the Sales app, a customer’s default pricelist is determined by their contact profile. If a pricelist is manually assigned to a contact, the pricelist becomes their default. If no pricelist is assigned, the default is the first pricelist listed.
In the eCommerce app,the default pricelist is assigned at the website level. However, it is influenced by the user’s login status and country group settings.
How pricelists are applied in eCommerce¶
If a portal user has a specific pricelist assigned to their contact profile, that pricelist is applied to their purchase. However, if that pricelist is not assigned to the website they are visiting, the user sees the website’s default pricelist.
Note
The default website pricelist is the first available pricelist assigned to a website, without the country group setting configured.
Public, non-logged in users, see the website’s default pricelist.
If a pricelist includes a country group, Odoo checks the visitor’s IP address and applies the corresponding pricelist. If a visitor has a pricelist assigned in their contact profile, that pricelist takes precedence over the country-based pricelist, unless the assigned pricelist has 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 record. This assignment takes precedence over the country group assignation, so the Loyal Customer Discount is applied.

Pricelist configuration¶
To activate pricelists, navigate to Shop - Products section, enable the Pricelist feature, then click Save. Once pricelists have been activated, go to to configure them.
, scroll down to thePreventing sales if price is zero¶
The Prevent Sale of Zero Priced Product feature prevents customers from purchasing a
product if the sales price is listed as 0
. When this feature is enabled, instead of seeing
Add to Cart when attempting to purchase a product, they see Contact Us. This
feature is useful for companies that want to hide the prices of their products.
To utilize this feature, first navigate to Prevent Sale of Zero Priced Product checkbox, then click Save.
and tick theNext, create a pricelist that sets all product prices to 0
. Ensure the pricelist is assigned to
the correct website and is listed first among the website’s pricelists.
Selectable pricelists¶
Selectable pricelists appear in the shop page’s pricelist drop-down menu. When a pricelist is designated as Selectable, it allows the customer to choose between available pricelists.
Important
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 is designated as Selectable, it appears in the drop-down menu next to the search bar. However, if a pricelist does not appear in the drop-down menu, it may be for one of the following reasons:
If there is only one selectable pricelist, and the contact is assigned a pricelist, the drop-down may not appear.
If multiple selectable pricelists exist and match a visitor’s country group, only those pricelists are shown in the drop-down.
Foreign currency¶
If you are selling in multiple currencies and have pricelists in foreign currencies, customers can select their corresponding pricelist anywhere on the Shop page from the drop-down menu next to the search bar.

See also
Permanent discount¶
If you have permanently reduced the price of a product, a popular means to attract customers is the strikethrough strategy. The strategy consists in displaying the previous price crossed out and the new discounted price next to it.

To display a ‘striked’ price, enable the Comparison Price option under . Then, head to the product’s template ( ), and in the Compare to Price field, enter the new price.
Note
If a pricelist contains a Discount price type, the striked price is visible to applicable customers. This is true even if the Comparison Price feature has not been enabled.