Skip to main content
Website & Portal Geo Multi-Currency / Multi-Language Switcher for Odoo — Auto-detect visitor country to switch currency, lang — 1/1Illustrative preview

Auto-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

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
Region grouping model that maps many countries to one region (e.g. all GCC countries → one AED region) via @api.depends computed fields for clean, maintainable rules
Header currency selector and language selector as OWL/QWeb components, so visitors can always override the auto-detected choice manually
Manual selection persistence: choice stored in the visitor session and written to res.partner for logged-in portal users so it survives across visits and devices
Configurable default-region fallback for unresolved, private, or VPN IPs so the storefront never renders in an undefined state
Cross-currency cart and checkout consistency — product page, cart, and the resulting sale.order all display in the same selected currency
res.config.settings admin panel (Website Managers only) to define country→region→currency→language→pricelist rules without touching code
Country override via URL query parameter for QA and support, letting your team preview any market's storefront on demand
Optional per-region catalog scoping so region-restricted products or website categories only appear to the intended markets
Secured with ir.model.access.csv access rights plus record rules; only authorized website roles can edit geo/region configuration
GeoIP resolution wired through Odoo's website request pipeline with graceful degradation if the GeoIP database is unavailable
Portal-aware behavior: the customer portal (invoices, quotations, sale orders) respects the same currency and language selection for a consistent post-sale experience

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

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

CriterionECOSIRECustom BuildCompetitorOdoo Native
Auto currency + language switch from visitor GeoIPBuilt-in: country resolves to currency, language, and pricelist on first requestPossible, but you design and maintain the whole GeoIP pipeline yourselfVaries — many switch currency only, or language only, not the combined setNot included
Per-region pricelists via native product.pricelistRegion→pricelist mapping wired to Odoo's standard pricing engineAchievable but you build the mapping and edge cases from scratchPartial supportPartial support
Per-region catalog / product visibilityRegion-scoped product and category visibility included in scopeRequires custom visibility rules you must build and testNot includedNot included
Configurable default-region fallback for unresolved IPsData-driven fallback set in a res.config.settings panelYou must design and handle every unresolved-IP casePartial supportNot included
Cross-currency cart & checkout consistency through to sale.orderProduct page, cart, and order render in one selected currencyYou own reconciling currency across the full checkout flowPartial supportNot included
Access control via ir.model.access.csv + record rulesGeo config locked to Website Manager roles by designYou write and audit the security rules yourselfPartial supportPartial support
Manual choice persisted on session + res.partnerVisitor override remembered across visits and portal loginYou build the persistence layer for session and partnerPartial supportNot included
Tailored to your markets, tax, and rounding rulesScoped, built, and configured for your exact regionsFully tailored, but at full custom-project cost and timelineNot includedNot included
Delivery model & ownershipBuild-to-order (2–4 wks) with source-code ownership and a support windowLonger in-house/agency build; you own maintenance from day oneInstant download, but generic and often unmaintained for your caseIncluded

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.

Request a quote

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

Request a Quotation

Tell us about your Website & Portal Geo Multi-Currency / Multi-Language Switcher requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.