Overview
The Region Module manages geographic regions and their configurations including currencies, countries, tax settings, and payment/fulfillment provider availability. Regions are essential for multi-market commerce. Key Features:- Multi-region support
- Currency configuration per region
- Country associations
- Tax settings and rates
- Payment provider availability
- Fulfillment provider availability
- Automatic tax calculation settings
When to Use
Use the Region Module when you need to:- Support multiple geographic markets
- Configure different currencies per market
- Manage country-specific settings
- Set region tax configurations
- Control payment provider availability
- Control fulfillment options per region
- Handle multi-currency commerce
Data Models
Region
Represents a geographic market with specific settings.string
required
Unique region identifier
string
required
Region name (e.g., “North America”, “Europe”)
string
required
Default currency code (three-letter ISO)
boolean
Whether to calculate taxes automatically (default: true)
boolean
Whether gift cards are taxable (default: true)
number
Default tax rate percentage
string
Tax code for external tax providers
Country[]
Countries in this region
string[]
Available payment provider IDs
object
Additional custom data
Country
Represents a country within a region.string
required
Unique country identifier
string
required
Two-letter ISO country code (e.g., “US”, “GB”)
string
required
Three-letter ISO country code (e.g., “USA”, “GBR”)
number
required
Numeric country code
string
required
Country name
string
required
Display name for the country
string
ID of the associated region
Service Interface
The Region Module service is available at@medusajs/medusa/region.
Create Region
Create a new region.CreateRegionDTO | CreateRegionDTO[]
required
RegionDTO | RegionDTO[]
The created region(s)
Retrieve Region
Get a region with its configuration.string
required
The ID of the region to retrieve
RegionDTO
The retrieved region
List Regions
List all regions.Update Region
Modify region configuration.string
required
ID of the region to update
UpdateRegionDTO
required
Add Countries to Region
Associate countries with a region.Remove Countries from Region
Disassociate countries from a region.List Countries
Retrieve available countries.Integration Examples
With Cart Module
Set cart region.With Pricing Module
Region-based pricing.With Payment Module
Configure payment providers per region.With Fulfillment Module
Region-specific fulfillment.With Tax Module
Region tax configuration.Multi-Region Setup
Example Configuration
Best Practices
-
Region Design: Structure regions based on:
- Currency zones (Euro zone, USD zone, etc.)
- Tax jurisdictions
- Fulfillment/shipping areas
- Payment provider availability
- Currency Codes: Always use lowercase three-letter ISO currency codes (“usd”, “eur”, “gbp”).
- Country Associations: Each country should belong to only one region. Carefully plan country-to-region mappings.
-
Tax Configuration:
- Set
automatic_taxes: truefor regions with simple tax calculations - Set
automatic_taxes: falsefor complex tax scenarios requiring external providers
- Set
-
Payment Providers: Only list payment providers that:
- Support the region’s currency
- Are legally available in the region’s countries
- Have been properly configured in your Medusa instance
- Default Region: Create a default region for your primary market to handle cases where region detection fails.
Related Modules
- Cart Module - Region-based cart creation
- Pricing Module - Region-specific pricing
- Payment Module - Payment provider availability
- Fulfillment Module - Region fulfillment