Regional Architecture
The multi-regional system is built around three core concepts:- Regions - Geographic markets with specific settings
- Countries - Individual countries assigned to regions
- Currencies - Supported currencies for pricing and payments
Region Configuration
A region represents a distinct market with its own currency, tax rules, and available services:Creating Regions
Create regions in the admin dashboard or via GraphQL:Popular Region Templates
Openfront includes pre-configured region templates:Currency Management
Currencies define how prices are displayed and processed:Creating Currencies
No-Division Currencies
Some currencies don’t use decimal places (cents):- Amounts stored as whole numbers (not cents)
- No decimal formatting in display
- Proper API formatting for payment providers
Regional Pricing
Products can have different prices in each region:Setting Regional Prices
Calculated Pricing
Openfront provides virtual fields for formatted pricing:Tax Configuration
Region-Level Taxes
Configure default tax rates at the region level:Product-Level Tax Rates
Override taxes for specific products:Tax Calculation
Taxes are calculated based on region settings:Country Configuration
Countries are assigned to regions:Creating Countries
Regional Services
Payment Provider Assignment
Assign payment providers to specific regions:Shipping Options by Region
Configure region-specific shipping:Storefront Integration
Detect and display correct region in the storefront:URL Structure
Region Detection
Price Display
Multi-Regional Cart Flow
const countryCode = params.countryCode; // From URL: /us/
const region = await getRegionByCountry(countryCode);
mutation {
createCart(data: {
region: { connect: { id: "region_us" } }
currency: { connect: { code: "USD" } }
}) {
id
region { name }
currency { code symbol }
}
}
mutation {
addLineItem(cartId: "cart_id", variantId: "variant_id", quantity: 1) {
id
lineItems {
title
unitPrice # Automatically uses USD price
quantity
formattedTotal
}
}
}
Best Practices
Region Strategy
- Create regions based on business operations, not just geography
- Group countries with similar tax rules and shipping
- Consider currency zones (Eurozone, ASEAN, etc.)
- Plan for region-specific payment providers
Pricing Strategy
- Set prices based on local market conditions
- Consider purchasing power parity
- Account for local taxes in pricing
- Use price lists for customer-specific pricing
Tax Compliance
- Research local tax requirements
- Use tax-inclusive pricing where required (EU, UK)
- Configure correct tax codes
- Consider using tax automation services
Currency Display
- Show prices in customer’s currency
- Use proper currency formatting
- Handle no-division currencies correctly
- Display currency symbols appropriately