The need
In standard Odoo the shop shows all its prices in one mode only: tax excluded or tax included. If you sell to both businesses and consumers, part of your visitors must do the maths in their head and may misjudge what they will actually pay.
What the module does
The main price stays in the mode Odoo chooses: the visitor's pricelist mode if it sets one, otherwise the website's "Display Product Prices" setting. Right underneath, the module shows the same price in the other mode, each followed by its "(excl. VAT)" or "(incl. VAT)" label. In the shop grid and on the product page, the amount uses the product's taxes as mapped by the visitor's fiscal position. In the cart, each line shows its own amounts excl. and incl. VAT, the very ones that make up the order total. This applies to the shop grid, the product page, product blocks, suggested products and every cart line. On the product page both prices update when the visitor changes the variant or the quantity.
What you gain
Both amounts at a glance
The excl. VAT price stays in place; right underneath comes the incl. VAT price computed with the product's tax (5.5% for a jam, 20% for a wine). On a site showing incl. VAT prices it is the other way round. Nobody needs a calculator any more.
Wherever a price appears
Shop grid, product page, product blocks on website pages, suggested products and cart lines all show both amounts.
Struck-through prices too
When a product is on sale, the old struck-through price is also shown in both modes.
Instant update
On the product page, changing the variant or the quantity recomputes both prices without reloading the page.
VAT-exempt customers handled
For a customer whose fiscal position removes VAT, or for a product with no tax, a single price is shown, labelled excl. VAT.
One tax mention only
The tax note Odoo can display under the price is replaced by the module's label, so the mode is never written twice.
How it works
Install the module
It only needs the eCommerce app and creates no data.
Choose the website's main mode
In Settings > Website, "Display Product Prices" (Tax Excluded or Tax Included) sets which price comes first.
Adjust some pricelists if needed
On Odoo 20 a pricelist can force its own display mode: for example excl. VAT for your trade pricelist and incl. VAT for your consumer pricelist.
Check the shop
Open the shop then the cart: every price carries its label and its equivalent in the other mode.
Screenshots
Frequently asked questions
No. Prices, taxes, orders and invoices stay standard Odoo. The module only adds a second amount on screen.
The one in the mode Odoo selects: first the visitor's pricelist mode if set (Odoo 20), otherwise the website setting.
A single price labelled excl. VAT. Showing an incl. VAT price equal to the excl. VAT price would make no sense.
No second amount or label is added: the shop keeps its usual display.
Yes if it uses Odoo's standard shop pages. A theme that fully replaces the price block has to add the second amount itself.
Yes, on both editions, on premise as well as on Odoo.sh.
The shop goes back to a single price, with Odoo's tax note if you had enabled it. No data is left behind.
Yes, always. Each line shows the amounts of the order line itself, with its taxes mapped by the customer's fiscal position. If that position replaces a 20% VAT with a 10% rate, the line shows the 10% incl. VAT amount and the lines add up exactly to the total.
Scope
The module completes the price display of the Odoo shop. Price and tax computation, orders and invoices remain Odoo's own.
Technical sheet
- Technical name
- anor_shop_tax_prices
- Odoo versions
- 18.0, 19.0, 20.0
- Application
- eCommerce
- Dependencies
- website_sale
- Licence
- LGPL-3
- Published by
- ANOR
Disclaimer — This module is provided "as is", without warranty of any kind. ANOR Group shall not be held liable for any direct or indirect damages resulting from its use, its installation or its modification by a third party, nor from its use outside the scope of a contractual ANOR service.







