Show every visitor prices in their own currency — automatically
Detect each shopper's country, switch to the right pricelist and currency, and tell them why — with a one-click manual override and a merchant dashboard that shows exactly which countries are converting.
A shopper from Japan browsing a Euro-priced store has to mentally convert every price and can't trust the total they'll actually pay. Native pricelists can be assigned by country, but nothing tells the shopper why the price changed, and there's no way for them to correct a wrong detection — so they abandon the cart instead.
A visual country-to-pricelist matrix auto-switches every visitor to their local currency, backed by a transparent banner, a persistent header switcher, a graceful fallback for failed detection, and an analytics dashboard that shows switch activity by country and currency — all built on Odoo's native pricelist and currency engine.
Everything a cross-border storefront needs
Every capability below is implemented in the module.
Automatic country detection
Resolves each visitor's country from their IP on the first page load using Odoo's built-in GeoIP, with no external service to configure.
Visual country-to-pricelist matrix
Map countries or country groups to a pricelist in a single editable list — no text config, drag to re-order priority, currency shown automatically from the linked pricelist.
Transparent currency banner
A storefront banner reads "Showing prices for [Country] in [Currency]" so shoppers understand and trust the price they see, instead of silently switching currency underneath them.
Persistent header switcher
A currency indicator sits in the header on every page, with a dropdown listing every currency the store offers, each labelled with its code and symbol.
One-click manual override
Travelers, expats, and VPN users pick their own currency from the header switcher in one click, reload-free, and that choice is remembered for the rest of their session.
Graceful detection fallback
When IP detection fails or the visitor's country has no rule, the store falls back to an admin-chosen pricelist instead of guessing or breaking checkout.
Native currency & pricelist engine
Built entirely on Odoo's own pricelist and currency records, so accounting, invoicing, and reporting stay consistent with what the shopper saw and paid.
Currency switch analytics
Every detection and manual switch is logged with country, currency, and source, then visualised in a graph, pivot, and list view so merchants can see localization activity market by market.
GDPR disclosure
A configurable disclosure line tells shoppers their approximate location is used only to localize pricing, addressing a compliance gap most competing apps leave open.
How it works
Build the matrix
Map countries or country groups to a pricelist in the Currency Rules list, and pick a fallback pricelist for everyone else.
Visitor arrives
The store detects the visitor's country from their IP and looks up the matching rule, or falls back gracefully if detection fails.
Prices switch, with context
The shop switches to the matching pricelist and currency, and the banner and header switcher tell the shopper why — with a one-click way to change it.
Review the impact
Every detection and switch is logged, so the analytics dashboard shows exactly which countries and currencies are active.
See it in action
From the admin matrix to the storefront switcher and the analytics dashboard.
The Currency Rules editable list — six country-to-pricelist mappings configured with sequence, currency, and active toggle.
A single rule form — United States mapped to the Storefront USD pricelist, with currency shown read-only from the pricelist.
Website Settings — enable switching, choose the fallback pricelist, toggle the banner and header switcher, edit the GDPR notice, and jump to the rules matrix.
The storefront banner — "Showing prices in USD ($)" — with the GDPR disclosure line above the product grid.
The header currency switcher open, listing every available pricelist with its currency code and symbol for a one-click override.
The Currency Analytics graph view — detection and switch events visualised at a glance.
The same data pivoted by country and currency, with event counts broken out for quick market comparison.
The full event list — every detection, manual switch, and fallback recorded with country, currency, and source.
Frequently asked
Do I need an external geolocation service?
No. The module uses Odoo's built-in GeoIP resolution, so there is nothing extra to sign up for or configure.
What happens if a visitor's country isn't detected?
The store falls back to an admin-chosen pricelist instead of guessing, so VPN and proxy visitors always see a valid, consistent price and can still switch currency manually from the header.
Does this use Odoo's native pricelists and currencies?
Yes. Every pricelist you map already exists in your Odoo database with its own currency, so checkout, invoicing, and accounting all stay consistent with what the shopper saw.
Can a shopper change the detected currency themselves?
Yes. The header currency switcher lets any shopper pick a different available currency in one click, reload-free, and that choice is remembered for the rest of their session.
Get in Touch
Have questions or need customization? Every purchase includes 30 days of free support — we are here to help.
Visit Our Website
www.cerevantix.comExplore our apps, services, and portfolio.
Empowering growth through technology.
Auto-switch storefront currency by visitor country with a visual pricelist matrix, transparent banner, header switcher, and merchant analytics dashboard.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
eCommerce (website_sale)
• Website (website) • Invoicing (account) • Discuss (mail) |
| Lines of code | 535 |
| Technical Name |
cerevantix_website_multi_currency_switcher |
| License | OPL-1 |
| Website | https://cerevantix.com |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module