Sell only where you can actually deliver and stay compliant.
Block checkout and hide products for countries you can't ship to or aren't licensed to sell in, with reason tags, time-bounds, and a transparent visitor country selector, configured entirely from Website Settings.
The problem
Without country controls, your store accepts orders it cannot legally or affordably fulfill. Shipping and compliance limits turn into refunds and support tickets after the fact, and when checkout does block a country, the shopper is left with a generic error that never explains why.
The solution
Website Country Restriction blocks checkout and hides restricted products before an order is ever placed, with a clear, admin-written message explaining exactly why. Bulk-assign country rules across the catalog in one action, tag every restriction with its reason, and give shoppers a transparent country selector so nobody is surprised at checkout.
Everything you need to control cross-border sales
Every capability below is implemented in the module.
Country Whitelist & Blacklist Rules
Define restriction rules that list exactly which countries are blocked, applied storewide or scoped to a single website.
Checkout & Address Enforcement
Billing and delivery addresses in a restricted country are rejected at checkout and account creation, with a clear, admin-written message shown inline explaining exactly why, not a generic error.
Product-Level Country Availability
Set any product to Available Everywhere, Only in Selected Countries, or Hidden in Selected Countries, and the storefront enforces it automatically.
Bulk Country Assignment
Apply a country availability rule to many products at once, by manual selection, product category, product tag, or the entire published catalog.
Regional Restriction Templates
Turn a predefined country grouping, such as the European Union, into a full restriction rule in a single click instead of selecting countries one by one.
Reason Tagging for Every Restriction
Tag each restriction as Compliance, Shipping & Logistics, Strategic Market Focus, or Other, plus a free-text note, so every rule stays auditable.
Scheduled, Time-Bound Restrictions
Give any restriction a start and end date for seasonal or promotional availability changes, and see at a glance whether it is currently active.
Admin Impact Overview
The restriction list doubles as a dashboard, showing the countries covered and the number of products each rule affects before it goes live.
Transparent Country Selector
A visible bar on the shop shows the shopper's auto-detected country via GeoIP, with a manual override they can change at any time before any restriction applies.
How it works
Enable & Configure
Turn on country restrictions in Website Settings and choose the default behavior for shoppers whose country cannot be detected.
Define Restriction Rules
Create restriction rules or apply a regional template, tagging each with its reason and an optional date range.
Set Product Availability
Use the bulk wizard to mark products Available Everywhere, allow-listed, or hidden for selected countries across the whole catalog in one action.
Shoppers See It Live
The storefront hides restricted products, blocks checkout for disallowed countries with an explained message, and shows the transparent country selector.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
Visitors can still browse the site. Restrictions apply to product visibility (products can be hidden or allow-listed by country) and to checkout and address entry (orders and accounts cannot be created for a blocked country).
Buy it on the Odoo App Store
Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.
Website Country Restriction
Checkout, addresses and product visibility restricted by country with an admin-written explanation instead of a generic error — plus reason tags, regional templates, time-bound rules, and bulk assignment across the catalog.
Buy on Odoo App StoreMore Odoo website apps
Website Customizable Product Packs
Shopper-built packs with fixed and selectable components, live server-side pricing and tier discounts — kept fully editable in the cart, with automatic stock pickings on order.
Website Dynamic Product Slider
One backend-configured snippet for product, category, brand and testimonial carousels — with visual content picking, full autoplay control, 5 layouts and per-breakpoint item counts.
Website eLearning & Event Carousel Slider
Drag-and-drop, auto-refreshing carousels for eLearning courses and events, with backend-defined filters, configurable limits and field-level display toggles — curated homepage content without editing blocks by hand.
Website Enhanced Contact Us Form
Contact submissions turned into routed CRM leads with branded View Lead notifications, governed drag-and-drop attachments, honeypot anti-spam, conditional fields, and GDPR consent capture.
Website Error Pages — Branded, Recovery-First 404/403/500
Branded 400/403/404/410/500 pages built without a developer — contextual product and page suggestions, embedded search, SEO-correct status codes, live preview, A/B testing and recovery analytics.
Website Events Calendar
A public events calendar with month, week and agenda views, live event-type filter chips and per-type colours — droppable as a builder snippet or embedded by iframe.