How to Add Country-Specific Costs (Cost Zones)
Updated October 8, 2026
Cost zones let a product cost a different amount depending on the country an order ships to. Use them when you fulfil from more than one place, for example when EU orders ship from a European warehouse at a lower unit cost than the rest.
- Where
- In the sidebar, open Product Costs. The zone tabs sit above the table.
- Who
- Stores whose cost per unit depends on where an order ships. Everyone else only needs Default.
- Time
- A minute to create a zone, then a few seconds per product that costs something different there.
- Updates
- Saving a zone cost recalculates the orders of that product. Changing a zone's countries recalculates the orders shipped to those countries.
How Zones Work#
A zone is a named group of countries, for example "European Union". Every order uses the zone of its shipping country. A country belongs to one zone at most.

You only enter a zone cost for the products that cost something different there. Everything else falls back to Default on its own:
| Order ships to | Zone | Cost used for the Merino Wool Blanket, Oat |
|---|---|---|
| Germany | European Union | The European Union cost, if Oat has one there |
| Germany | European Union | The Default cost, if Oat has no European Union cost |
| United States | none | The Default cost |
Create a Zone#
Click Edit zones next to the tabs, then Add zone at the bottom of the dialog.

A new zone holds no costs yet, so nothing changes in your numbers until you enter zone costs.
Set Zone Costs#
Click the zone's tab. The table now shows that zone's costs. Enter costs the same way as on Default and save with Apply or Apply All: see How to Add Product Costs.

A product with no zone cost at all shows its Default cost on every row. On the product row, Zone counts both: the globe badge with the number of variants that have a zone cost, and Default with the number that use the Default cost.
Example
You sell the Merino Wool Blanket for $129.00. From your US warehouse, a blanket costs $38.00 plus $1.80 handling. Your EU warehouse pays $33.50 plus $1.60 for the Oat colour. Graphite is not stocked in the EU warehouse yet.
| Order | Ships to | Product cost | Handling | Why |
|---|---|---|---|---|
| 1 × Oat | Germany | $33.50 | $1.60 | Oat has a European Union cost |
| 1 × Graphite | Germany | $38.00 | $1.80 | No European Union cost: Default |
| 1 × Oat | United States | $38.00 | $1.80 | The US is in no zone: Default |
What Happens Next#
- Saving a zone cost recalculates every order of that product. Only orders shipped to the zone's countries change.
- Adding a country to a zone or removing it recalculates the orders shipped to that country.
- To check an order, open it under Orders and switch to its Costs tab. Product cost history lists the costs of the variant with their zone name and marks the one Used for this order. The order's Shipping country is shown at the top of the order details.
Limits#
- Costs synced from Shopify and costs from margin rules always go to Default. A zone without its own cost uses them like any other Default cost.
- Zone costs are always costs you enter or import from a file. In the file import, choose the zone each file is for. See Import Product Costs from a CSV or Excel File.
- The cost export contains only Default costs.
Deleting a zone deletes its costs. Orders shipped to its countries are recalculated with Default costs, including past orders. The confirmation shows how many costs the zone holds. To keep the zone costs of past orders, keep the zone.
Common questions
Related articles
Was this article helpful?

