One Medusa store can sell in several countries with different currencies, prices, shipping and payment methods, because Medusa models each market as a region. For Balaretis, a jewellery store, I set up Lithuania, the rest of the EU and Poland in one store with one catalogue. This post explains how Medusa multi-region works, what Shopify Markets and Webflow do instead, and when separate stores are the better call.
Short answer: one store or one per country?
For most small and mid-sized EU businesses, one store with regions is the right setup. You keep one catalogue, one stock count and one admin, and each market still gets its own prices, delivery and payments. Separate stores only pay off when each country has its own company, team or product range.
Why did Balaretis leave Webflow?
Balaretis sells jewellery to three markets: Lithuania, other EU countries and Poland. The store ran on Webflow, and two problems kept coming back:
- It could not set different prices, delivery methods and payment providers per market.
- Pages loaded slowly.
I rebuilt it with Medusa.js and a Next.js storefront. Each market now has its own prices, delivery methods and payment providers. The more complex business rules live in separately written modules, so they do not tangle with the core store. Analytics has been running since day one and shows where buyers drop off in the basket. Pages load faster than on the Webflow version. The part I like most is that a new market can be added without rebuilding the store.
How does Medusa model multiple countries?
Medusa v2 splits "a market" into several separate pieces. That sounds like extra work, and at setup it is, but it means you can change shipping for Poland without touching prices for Lithuania.
Regions and currencies
A region is a group of countries that share settings. According to the Medusa admin guide, a region can only have one currency, can hold several countries, and has its own list of payment providers customers in that region can use. It also has tax settings such as automatic taxes and tax-inclusive pricing.
For a Lithuania, EU and Poland setup that gives three regions:
| Region | Countries | Currency | Why separate |
|---|---|---|---|
| Lithuania | LT | EUR | Home market with its own delivery methods and prices |
| EU | Other EU countries | EUR | Same currency as Lithuania, different shipping and pricing |
| Poland | PL | PLN | Different currency and local payment habits |
Two regions can share EUR. Currency is only one reason to split a region; different prices or payment providers are enough.
Prices per region
Each product variant can have a price per currency and, more precisely, a price for a specific region. So a ring can cost one amount in the Lithuania region and another in the EU region, both in EUR, and a PLN price that is set by hand instead of converted at today's exchange rate. Price lists sit on top of that for sales or customer-group prices.
Payment providers per region
Payment providers are attached to regions. Customers in Poland can see different payment options from customers in Lithuania, without any if-statements in the checkout code.
Shipping: fulfillment sets, service zones and shipping options
Shipping has its own structure. A stock location (your warehouse or shop) has fulfillment sets for shipping or pickup. Each fulfillment set has service zones, which are lists of countries or smaller areas, and each service zone has its own shipping options with prices. In the Medusa fulfillment docs, a service zone is described as the thing used "to restrict available shipping options to a defined set of locations". A Polish customer only sees the couriers you set up for the Poland zone.
Tax regions
Tax is configured separately from sales regions, per country, with its own rates. That split is useful for EU sales, because your selling regions and the VAT rules do not line up one to one.
Stock locations and sales channels
Stock locations are linked to sales channels, and orders from those channels are fulfilled from that location. One warehouse can serve all three regions, which is what keeps stock counts honest across markets.
What do Shopify Markets and Webflow do instead?
Shopify handles this through Shopify Markets. According to Shopify's Markets page, you can group countries into markets, localise currency and language, curate a catalogue per market, and give each market its own domain or a subfolder. Local currency payments there are tied to Shopify Payments. For a lot of stores that is enough, and it is quicker to set up than a custom build. The limit is that you work inside Shopify's model. Rules Shopify does not offer become an app, a workaround or both. I compare the platforms more broadly in Shopify vs Medusa.
Webflow is a strong site builder, and I still use it for marketing sites. For Balaretis it could not handle different prices, delivery and payments per market, which is the whole point of a multi-market store.
Medusa gives you the building blocks without the opinions. That is more flexible and more work. You need a developer for the storefront and for anything beyond configuration.
How do translations and hreflang work on the storefront?
Medusa handles commerce data. Language is mostly a storefront job, and in a Next.js storefront I keep three things apart:
- URL structure. A path prefix per market and language, such as /lt, /pl and /en. The prefix tells the storefront which region and currency to load.
- Interface text. Buttons, checkout labels and emails live in translation files in the storefront code.
- Product content. Product names and descriptions per language need storage, either through Medusa's data with custom fields or a separate CMS. Decide this early, because it shapes the import.
Each language version needs hreflang tags pointing to its alternatives, plus an x-default, as described in Google's guide to localised versions. Without them, Google may show the Lithuanian page to a Polish searcher. Avoid redirecting visitors automatically by IP. Suggest the right market with a banner and let people choose, so Googlebot can still reach every version.
When are separate stores better than one store with regions?
| Question | One store, several regions | Separate store per country |
|---|---|---|
| Same company sells everywhere? | Yes, best fit | Adds overhead for no gain |
| Same products in every market? | One catalogue, shared stock | Catalogue copied and kept in sync by hand |
| Different currencies? | One region per currency | Each store has its own |
| Different prices, shipping, payments? | Set per region and service zone | Set per store |
| Different legal entity per country? | Possible, but gets messy | Usually cleaner |
| Local team runs each market? | Shared admin, one set of permissions | Each team owns its store |
| Adding a new market | Mostly configuration | A new store to build and maintain |
| Ongoing cost | One hosting bill, one codebase | Multiplied per store |
Checklist before you set up a multi-region store
- List every market and its currency. Each currency means at least one region.
- Decide if prices are set by hand per market or converted. Prices set by hand in PLN read better than converted ones, 199 zł instead of 197.43 zł.
- List shipping methods and prices per country, and where stock ships from.
- List payment methods customers expect in each market.
- Ask your accountant about VAT and OSS before setting tax rates.
- Decide the URL structure and languages before building pages.
- Set up analytics per market from day one, so you can compare baskets.
If you are moving an existing Shopify store into this kind of setup, my Shopify to Medusa migration guide covers the data move and SEO redirects. The full build is on the Balaretis project page. I build multi-market stores as part of e-commerce development, from €1,999 excl. VAT, and you can get a rough figure in the price calculator before we talk.
FAQ
Can one Medusa store sell in EUR and PLN at the same time?
Yes. In Medusa each region has exactly one currency, so you create one region for EUR countries and one for Poland in PLN. Products get a price per currency or per region, and the storefront shows the right one based on the customer's region.
Do I need separate websites for each EU country?
Usually not. One store with regions handles different prices, shipping and payment methods per market, while sharing one catalogue, one stock count and one admin. Separate stores make sense mainly when markets are run by different companies or teams.
How does VAT work when I sell to other EU countries?
Once your cross-border B2C sales of goods in the EU go over €10,000 a year, you charge VAT at the customer's country rate. The EU One-Stop Shop lets you declare that VAT in one quarterly return in your home country. Confirm the details with your accountant, then set the tax rates per country in Medusa's tax regions.
Is Shopify Markets the same as Medusa regions?
They solve the same problem from different directions. Shopify Markets gives you per-market currency, catalogues, domains or subfolders and translations inside Shopify's rules. Medusa regions are lower level building blocks, so you can model rules Shopify does not offer, but a developer has to build the storefront around them.
How hard is it to add a new country later?
With regions set up properly it is mostly configuration: add the country to a region or create a new one, set prices, shipping options and payment providers, and add translations if needed. For Balaretis a new market can be added without rebuilding the store.
Tick what you need and see the starting price straight away.

Founder of DodaCraft, developer. I build websites, online stores and internal systems for businesses in Lithuania and abroad. I taught teenagers to programme for 7 years.




