Skip to content

Medusa multi-region: one online store for several EU countries

How one Medusa store sells in Lithuania, the EU and Poland with its own prices, currencies, shipping and payments per market.

Evaldas Doda · 8 min read

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:

RegionCountriesCurrencyWhy separate
LithuaniaLTEURHome market with its own delivery methods and prices
EUOther EU countriesEURSame currency as Lithuania, different shipping and pricing
PolandPLPLNDifferent 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?

QuestionOne store, several regionsSeparate store per country
Same company sells everywhere?Yes, best fitAdds overhead for no gain
Same products in every market?One catalogue, shared stockCatalogue copied and kept in sync by hand
Different currencies?One region per currencyEach store has its own
Different prices, shipping, payments?Set per region and service zoneSet per store
Different legal entity per country?Possible, but gets messyUsually cleaner
Local team runs each market?Shared admin, one set of permissionsEach team owns its store
Adding a new marketMostly configurationA new store to build and maintain
Ongoing costOne hosting bill, one codebaseMultiplied 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.

Want to work out your own case?

Tick what you need and see the starting price straight away.

Get a price
Evaldas Doda

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.

More from the blog

All posts
Booking systems8 min

Custom booking system: build or buy? (2026)

Most service businesses should rent a booking engine and own their website. When a custom booking system is worth it, what it costs, and a checklist.

Read