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.

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 Website ‣ Configuration ‣ Settings, select the website, scroll down to the Shop - Products section, and under Display Product Prices select between:

  • Tax 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:

  1. Go to Website ‣ Configuration ‣ Settings, scroll to the Shop - Products section, and enable Product Reference Price.

  2. Navigate to the product form.

  3. Set the product’s Sales price and select the unit (e.g., Units).

  4. 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.

Cost per unit pricing on the product form.

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

Unit pricing on the product page.

Note

The price per unit may be mandatory in some countries.

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 Website ‣ Configuration ‣ Settings, scroll down to the Shop - Products section, enable Pricelists, and Save. Then, click Pricelists or go to Website ‣ eCommerce ‣ Pricelists 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

Pricelists

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.

Pricelist selector on the ecommerce.

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.

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

Filter for country group creation.

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 the EU country group assigned

    • EU prices with discounts with the EU country group assigned

    • US prices with the US country group assigned

    If the Selectable option is enabled for EU regular prices and US prices, and the customer is from the European Union, only the pricelists EU regular prices and EU prices with discounts will be available. However, since the EU prices with discount list is not selectable, it will disappear once the customer selects the EU regular prices list and prices will be displayed based on the EU 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.

An example of various pricelists assigned to a website.

Discounts

Discounts programs

To enable discount programs for your ecommerce, go to Website ‣ Configuration ‣ Settings, 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.

Price strikethrough.

To display a permanently discounted price, navigate to Website ‣ Configuration ‣ Settings, scroll down to the 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.

Note

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 Website ‣ Configuration ‣ Settings, enable 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.

After 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.