Configuring country-specific shipping is a vital part of international e-commerce. In PrestaShop, this is achieved by organizing countries into Zones and then assigning specific Carriers to those zones. This allows you to offer local couriers for domestic orders and international shippers for global customers.
Table of Contents
Context
PrestaShop does not assign carriers directly to countries. Instead, it uses Zones as a middle layer. A zone can contain one country (e.g., “Germany Zone”) or a group of countries (e.g., “European Union”). By managing these relationships, you can precisely control which shipping options appear at checkout based on the customer’s delivery address.
Step 1: Define your Geographic Zones
Before setting up carriers, you must group your target countries into logical shipping regions.
- Navigate to Zones: Go to International > Locations > Zones.
- Create a Zone: Click Add new zone. For example, create a zone named “North America” or “Local – Poland.”
- Assign Countries: Go to International > Locations > Countries.
- Edit Country: Search for a country (e.g., United States), click Edit, and change its Zone to the one you just created.
Step 2: Configure your Carriers
Once your zones are ready, you can create or edit the shipping services that will serve them.
- Add Carrier: Go to Shipping > Carriers and click Add new carrier.
- General Settings: Provide the carrier name and estimated transit time (e.g., “DHL Express – 2-3 Days”).
- Shipping Locations: In the Shipping locations and costs tab, you will see a list of all your zones.
- Check the boxes for the zones where this carrier should be active.
- Crucial: If this is a domestic-only carrier, only check your “Local” zone.
- Size/Weight Limits: In the Size, weight, and group access tab, define the maximum package dimensions this carrier can handle.
Step 3: Setting Shipping Rates
Shipping costs are calculated based on either the Total Price or the Total Weight of the order.
- Pricing Rules: Within the carrier settings, choose whether to bill by weight or price.
- Define Ranges: Create ranges (e.g., 0kg to 5kg, 5kg to 10kg).
- Apply Costs per Zone: You can set different prices for the same carrier across different zones. For example, “International Post” might cost $10 for the “Europe” zone but $25 for the “Asia” zone.
Distinction: Zone vs. Country vs. State
- Zone: A logical group used for shipping and tax rules (e.g., EU, Non-EU).
- Country: The specific legal entity selected by the customer.
- State: A sub-region (e.g., California or Bavaria). If you need to set different rates for specific states, you must enable “Contains states” in the Country settings and assign those states to their own unique Zones.
Practical Implications
- Tax Rules: Shipping taxes are also often tied to Zones. Ensure your Tax Rules (under International > Taxes) align with your geographic shipping zones to avoid legal discrepancies.
- Out of Range Behavior: In the carrier settings, decide what happens if an order is heavier than your defined ranges. You can either “Disable carrier” or “Apply the cost of the highest defined range.”
- Free Shipping: You can set “Free Shipping” triggers (by weight or price) globally in Shipping > Preferences, or per carrier in the carrier’s individual settings.
Summary
By utilizing the Zone system in PrestaShop, you can create a highly tailored shipping experience that accounts for the varying costs of international logistics. Grouping countries into specific zones and assigning dedicated carriers ensures that your customers always see the most relevant and cost-effective shipping options.