- Home
- Apps
- Odoo Modules
- Website & Portal Geo Multi-Currency / Multi-Language Switcher for Odoo
Illustrative previewAuto-detect visitor country to switch currency, language & regional pricing on your Odoo storefront,
with manual switchers and per-region catalogs.
What is Website & Portal Geo Multi-Currency / Multi-Language Switcher for Odoo?
Auto-detect visitor country to switch currency, language & regional pricing on your Odoo storefront, with manual switchers and per-region catalogs. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
Your Odoo eCommerce storefront serves the whole world, but out of the box it shows every visitor the same currency, the same language, and the same pricelist — so a shopper in Germany sees USD, English copy, and prices that ignore local tax and rounding conventions. That friction quietly kills conversion on international traffic.
The Website & Portal Geo Multi-Currency / Multi-Language Switcher is a build-to-order module that ECOSIRE designs, builds, installs, and supports specifically for your Odoo instance. It reads the visitor's country from GeoIP at the first request, then automatically selects the right res.currency, the right active res.lang, and the right product.pricelist — so a visitor from France lands on a French-language storefront priced in EUR against your EU pricelist, while a visitor from the UAE gets AED against your GCC pricelist, with no manual clicking required.
Because it's build-to-order, this is not an instant apps.odoo.com download. After purchase, ECOSIRE scopes your exact country-to-region mapping, pricelist strategy, and fallback rules, then delivers a clean, upgrade-safe custom module. The core is standard Odoo engineering: a country→region resolver model with @api.depends computed fields, GeoIP resolution wired through the website request pipeline (with a country override QueryString for testing), a res.config.settings panel for your region rules, ir.model.access.csv plus record rules so only Website Managers edit the mapping, and OWL/QWeb header components for the manual currency and language selectors. It runs on both Odoo Community and Enterprise, and we deliver builds targeting Odoo 17, 18, and 19.
Detection is always a suggestion, never a cage: the header keeps explicit currency and language selectors, the visitor's manual choice is remembered in their session and on their res.partner for logged-in portal users, and every cart and checkout line renders consistently in the selected currency so the customer never sees a mismatch between the product page, the cart, and the sales order. When GeoIP can't resolve a country — VPNs, unknown ranges, bots — a configurable default region keeps the storefront coherent instead of blank. The result is a storefront that feels local to every market you sell into, on the Odoo stack you already run.
What you get
- Complete custom Odoo module (odoo/addons-style package with __manifest__.py, models, views, security, and static OWL/QWeb assets) versioned for your target Odoo release(s) — 17, 18, and/or 19
- Fully configured country→region→currency→language→pricelist mapping loaded for the markets you sell into, seeded with your real pricelists and languages
- Installation and deployment on your Odoo instance (or a staging copy first), including GeoIP database setup and website request-pipeline wiring
- Security layer delivered and reviewed: ir.model.access.csv plus record rules restricting geo configuration to Website Manager roles
- Admin configuration guide and an end-user note explaining the header switchers, the settings panel, and the URL country-override for QA
- A working-session handover / training call for your team covering how to add new regions, adjust fallback rules, and manage per-region pricelists
- Post-delivery support window with bug fixes and configuration adjustments, plus compatibility guidance for your next Odoo upgrade
- Source code ownership so your team (or another partner) can maintain and extend the module — no vendor lock-in
Who this is for
Cross-border eCommerce manager
Runs an Odoo Website/eCommerce store selling into multiple countries and needs each visitor to see local currency, language, and pricing automatically to lift international conversion and reduce checkout abandonment.
Odoo administrator / IT lead
Owns the Odoo instance and wants geo behavior implemented as a clean, upgrade-safe module with proper access rights and record rules — not brittle overrides or hard-coded studio hacks that break on the next migration.
Regional / distributor operations lead
Manages market-specific pricelists and catalogs (e.g. EU vs GCC vs North America) and needs per-region pricing and product visibility to apply correctly and consistently from the storefront through to the sale order and portal.
How Website & Portal Geo Multi-Currency / Multi-Language Switcher for Odoo Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Auto currency + language switch from visitor GeoIP | Built-in: country resolves to currency, language, and pricelist on first request | Possible, but you design and maintain the whole GeoIP pipeline yourself | Varies — many switch currency only, or language only, not the combined set | Not included |
| Per-region pricelists via native product.pricelist | Region→pricelist mapping wired to Odoo's standard pricing engine | Achievable but you build the mapping and edge cases from scratch | Partial support | Partial support |
| Per-region catalog / product visibility | Region-scoped product and category visibility included in scope | Requires custom visibility rules you must build and test | Not included | Not included |
| Configurable default-region fallback for unresolved IPs | Data-driven fallback set in a res.config.settings panel | You must design and handle every unresolved-IP case | Partial support | Not included |
| Cross-currency cart & checkout consistency through to sale.order | Product page, cart, and order render in one selected currency | You own reconciling currency across the full checkout flow | Partial support | Not included |
| Access control via ir.model.access.csv + record rules | Geo config locked to Website Manager roles by design | You write and audit the security rules yourself | Partial support | Partial support |
| Manual choice persisted on session + res.partner | Visitor override remembered across visits and portal login | You build the persistence layer for session and partner | Partial support | Not included |
| Tailored to your markets, tax, and rounding rules | Scoped, built, and configured for your exact regions | Fully tailored, but at full custom-project cost and timeline | Not included | Not included |
| Delivery model & ownership | Build-to-order (2–4 wks) with source-code ownership and a support window | Longer in-house/agency build; you own maintenance from day one | Instant download, but generic and often unmaintained for your case | Included |
Frequently Asked Questions about Website & Portal Geo Multi-Currency / Multi-Language Switcher
How long until I get the module, and is it an instant download?
This is a build-to-order module, not an off-the-shelf apps.odoo.com download — there is no instant ZIP. After purchase, ECOSIRE scopes your country-to-region mapping, pricelists, languages, and fallback rules, then builds, tests, and installs the module. Typical delivery is one working week depending on how many markets and pricelists are involved and whether we deploy to staging first. You'll get a timeline confirmed during scoping.
What support and updates come with it, and does it survive Odoo upgrades?
Every build includes a post-delivery support window for bug fixes and configuration adjustments, plus a training handover for your team. The module is written as a clean, upgrade-safe addon (standard __manifest__.py, models, and views — no core patching where avoidable), and we provide guidance for moving it to your next Odoo version. We can also deliver builds explicitly targeting Odoo 17, 18, and 19, and quote an upgrade if you migrate later.
Does it work on Odoo Community, or only Enterprise?
It works on both. The module builds on standard Odoo Website/eCommerce concepts — res.currency, res.lang, product.pricelist, res.config.settings, and OWL/QWeb templates — which exist in Community. Enterprise-only features aren't required. During scoping we confirm your edition and website apps so the build fits your exact setup.
Can visitors still choose their own currency and language, or is it forced by IP?
Auto-detection is only the starting suggestion. The header keeps explicit currency and language selectors, and a visitor's manual choice always wins — it's stored in their session and, for logged-in portal users, on their res.partner so it persists across visits. GeoIP just removes the first click for the majority who never bother to switch.
What happens when the visitor's country can't be detected (VPN, bot, unknown IP)?
You configure a default region during setup. Any unresolved, private, or VPN IP falls back to that default currency, language, and pricelist, so the storefront is always coherent — never blank or half-priced. The fallback is data-driven in the settings panel, so you can change it later without a code change.
How are the per-region prices and catalogs actually enforced?
Pricing uses Odoo's native product.pricelist — each region maps to its own pricelist, so prices, discounts, and rounding are computed by Odoo's standard engine rather than hard-coded. Region-scoped catalogs are handled via website product/category visibility rules tied to the detected region. Because it's native pricelists and standard access/record rules under the hood, your finance and sales teams see consistent figures from the product page through the cart to the sale.order.
Related Modules

WhatsApp OTP & Two-Factor Authentication for Odoo
Send login, signup, checkout, and transaction OTPs over WhatsApp and SMS with verification flows for website, portal, and POS. A build-to-order Odoo module ECOSIRE scopes, builds, installs, and supports for your Odoo 17/18/19 instance.
Website & Portal Geo Multi-Currency / Multi-Language Switcher
Auto-detect visitor country to switch currency, language & regional pricing on your Odoo storefront, with manual switchers and per-region catalogs.
- GeoIP auto-detection of visitor country on first website request, resolving to a currency, active language, and pricelist without any visitor action
- Automatic currency switch that sets the website's active res.currency and re-renders all storefront prices, taxes, and totals in that currency
- Automatic language switch that activates the matching res.lang and serves the localized route (respecting Odoo's /<lang>/ URL structure) when a translation exists
- Per-country and per-region pricelist assignment (product.pricelist) so each market sees its own prices, discounts, and rounding rather than a single global list


