Home » Blog » WooCommerce Multi-Currency and International Selling: A Practical Guide
WooCommerce

WooCommerce Multi-Currency and International Selling: A Practical Guide

Infographic for WooCommerce multi-currency and international selling: currencies, taxes, shipping and payment methods mapped for cross-border stores

WooCommerce multi-currency selling looks like one feature – “show prices in dollars and euros” – but it is really a bundle of decisions about currencies, taxes, shipping, payment methods and language that either fit together or quietly leak money. I have set up international selling for dozens of WooCommerce stores over 12+ years, mostly for owners in Germany, the UK, the US and Australia, and the pattern is always the same: the stores that planned the bundle sell profitably abroad, and the stores that just installed a currency switcher spend the next year fixing surprises in fees, VAT and returns.

This guide is the map I wish every store owner had before going international. It covers how to decide where to sell in the first place, the difference between displaying a currency and settling in it (the single most misunderstood point in this topic), the honest comparison of multi-currency options from Stripe’s gateway-level conversion to full plugin setups, pricing per market, what local-currency checkout does to conversion, the tax and shipping realities, how language and currency work together, payment methods per market, returns from abroad, and a phased rollout plan that will not overwhelm you or your margins.

Table of contents

Deciding where to sell: demand, shipping, legal overhead

The first mistake is treating “international” as one market. Opening the whole world at once means quoting shipping you have not tested, collecting taxes you have not registered for, and offering payment methods you have not configured – in fifty countries simultaneously. Every store I have seen do this well picked one or two markets deliberately. The good news is that your own data usually tells you which ones.

  • Demand signals you already have. Check Analytics for foreign traffic that already visits and bounces at the shipping or currency step; check abandoned carts with foreign addresses; check “do you ship to X?” emails. A client’s store in Germany found that 9% of traffic came from Switzerland and Austria with almost no orders – that is a market asking to be opened, not a guess.
  • Shipping feasibility. Can you get the product there at a cost and speed a customer will accept? A 400 g accessory travels anywhere; a 12 kg piece of equipment effectively limits you to neighbouring countries. Get real quotes from your carrier for two or three destination countries before you commit to anything else.
  • Legal and tax overhead. Selling to another EU country from inside the EU is mostly a VAT question (OSS handles it). Selling into the UK or Switzerland adds import rules and possibly a local VAT registration. Selling regulated products (food, cosmetics, electronics with certifications) can add labelling and compliance work per market. Weigh this before the revenue, not after.
  • Payment and currency fit. Some markets will buy in your currency without complaint; others convert poorly unless you show local prices and local payment methods. The Netherlands without iDEAL and Poland without BLIK are uphill battles regardless of your currency setup.
  • Competition and price position. Your price plus international shipping competes with local sellers who deliver next day. You need either a product they do not have or a total landed price that still makes sense.

Score your candidate markets against those five points and rank them. For most EU-based stores the ranking comes out predictably: neighbouring EU countries first, then the rest of the EU, then the UK and Switzerland (more paperwork, strong demand), then the US and further afield (highest shipping cost and longest delivery, so the product has to carry it). For a UK store it is usually the EU as one block via IOSS, then the US. The point is not the specific order – it is that you open markets in an order you chose, one or two at a time.

Decision map for international WooCommerce selling: demand signals, shipping feasibility, legal and tax overhead, and payment fit checked per market before opening it
Score each candidate market on demand, logistics, legal overhead and payment fit before you open it.

Currency display vs settlement: the difference people miss

This is the concept that unlocks everything else, and most guides skip it. There are two completely separate questions hiding inside “multi-currency”:

  • Display currency – what the customer sees on the product page and pays at checkout. This is a front-end and checkout concern: EUR 49 becomes GBP 42 or USD 55.
  • Settlement currency – what actually lands in your bank account after the payment provider processes the charge. This is a banking concern, and it is where the hidden costs live.

You can show GBP to a UK customer and still settle in EUR – the customer pays GBP 42, and Stripe or PayPal converts it and deposits euros with a conversion fee (typically 1-2% at Stripe, more at PayPal) on top of the normal processing fee. Or you can settle in GBP directly – which requires a GBP bank account (a real one, or a multi-currency account with Wise, Revolut Business or a bank that offers currency accounts) and the payout currency configured in your gateway.

Why it matters in real money: a store doing EUR 5,000 a month in UK sales pays roughly EUR 50-100 a month in silent conversion fees if it settles everything back to EUR – EUR 600-1,200 a year for one market. If the store also buys anything in GBP (UK carrier invoices, UK marketing), settling in GBP and paying those costs from the GBP balance avoids converting the money twice. For a small trickle of foreign orders, none of this matters – accept the fee and keep life simple. From a few thousand a month per currency, a multi-currency account pays for itself quickly.

The practical rule I give clients: display currency is a conversion decision, settlement currency is a cost decision. Decide them separately. Show local currency as soon as a market matters for conversion; move settlement to local currency only when the volume justifies another bank balance to manage. And check what your gateway supports: Stripe settles in many currencies to matching bank accounts, Mollie settles EUR by default with other currencies available, PayPal holds multiple currency balances but has the highest conversion margin of the three – its currency spread is typically 3-4%, which is exactly why I move stores off PayPal-led conversion first.

Comparison of display currency versus settlement currency in WooCommerce: what the customer sees and pays versus what lands in the store's bank account, with fees and setup for each
Display currency is a conversion decision; settlement currency is a cost decision – decide them separately.

Your multi-currency options in WooCommerce, honestly compared

WooCommerce core is single-currency: one store currency, full stop. Everything beyond that is added by your gateway, a plugin, or a multilingual suite. Here is the honest comparison, because each option is right for a different store:

Approach How it works Best for Watch out for
Gateway-level (Stripe adaptive pricing / presentment) Store stays in one currency; Stripe detects the buyer’s location and presents and charges the local currency at checkout Stores that want local-currency payment with zero extra plugins Product pages still show your base currency; rates are Stripe’s, not yours; no per-market price control
Currency switcher plugin (Aelia, FOX/WOOCS, YayCurrency) Adds a switcher and/or geolocation; converts prices site-wide at a set or live rate; customer pays in the selected currency Stores that want local prices visible from the first page view Quality varies a lot; check compatibility with your gateway, taxes, refunds and reports before buying
Per-market pricing (Price Based on Country, Aelia with manual prices) You set explicit prices per country/zone instead of converting by rate Stores serious about a market – clean price points, stable margins More setup and maintenance; every product needs per-zone prices reviewed when costs change
Multilingual suite (WPML + WooCommerce Multilingual, or Polylang pairings) Currency handled alongside translation; language and currency switch together per market Stores that need translated shops anyway The heaviest option; only worth it when language is genuinely part of the plan
Separate stores per market A second WooCommerce install per country (multisite or separate) Large stores with local teams, local stock or legal separation Double maintenance of products, plugins and content; almost always overkill below serious volume

My honest recommendations by situation:

  • Just starting with foreign orders: enable Stripe’s local-currency presentment and change nothing else. It costs nothing to try, and it fixes the checkout half of the problem immediately.
  • One or two markets that matter: a proper switcher or per-market pricing plugin. I usually reach for Aelia Currency Switcher (the most battle-tested with gateways and reporting) or Price Based on Country when the client wants controlled price points rather than live conversion. FOX/WOOCS is a reasonable budget option but test refunds and tax display carefully.
  • Translated store planned anyway: WPML with WooCommerce Multilingual and Multicurrency does both jobs in one system, and language plus currency switching stays consistent.
  • Separate stores: only with local stock, local staff or a legal reason. I have talked more clients out of this than into it.

Whatever you choose, test the full loop before launch, not just the product page: add to cart, coupon, checkout, payment, order email, refund, and the numbers in WooCommerce reports. Multi-currency bugs hide in refunds and reports, not on the shop page.

Pricing per market: not raw exchange rates

Automatic conversion at today’s rate produces prices like GBP 42.87 – a price no retailer would ever choose. Live-rate pricing has three problems: ugly numbers, prices that drift with the market (a product can get “more expensive” overnight for no reason a customer understands), and margins that ignore the real cost differences per market. Serious international pricing is set, not converted:

  • Round to psychological price points per market. EUR 49 becomes GBP 45 or GBP 44.99, not GBP 42.87. USD prices conventionally end in .99 or .95 more than EU prices do. Pick the convention of the market, not your home habit.
  • Price in the market’s cost reality, not yours. If UK orders carry higher shipping subsidy, payment conversion fees and return costs, the GBP price should carry a margin buffer for that – 5-10% above raw conversion is common and customers do not notice, because they compare you with local sellers, not with your EUR price.
  • Mind tax display differences. EU prices are shown with VAT included; US prices are shown pre-tax. If you convert an EUR-incl-VAT price straight to USD, American buyers see a price inflated by tax they will not pay as sales tax – you are 19-21% more expensive than you need to look. Configure tax display per market, and price the US list accordingly.
  • Update on schedule, not on tick. Review per-market prices monthly or quarterly, or when the rate moves beyond a set band (say 5%). Stability sells; a price that changes daily reads as untrustworthy.
  • Watch the floor on low-priced items. Fixed payment fees hit small orders harder abroad: on a GBP 8 order, a 25p fixed fee plus conversion can eat the margin. A slightly higher minimum order value or a shipping threshold per market protects you.

This is exactly why I prefer per-market pricing tools once a market is proven: the exchange rate becomes an input to your quarterly review instead of the thing that sets your prices while you sleep.

Checkout in local currency and what it does to conversion

The conversion evidence on local currency is consistent and intuitive: people hesitate to buy in a currency they do not think in. The hesitation has three components – “how much is that actually?”, “what will my bank charge me on top?”, and the general feeling that this shop is not for them. Industry studies regularly attribute double-digit percentages of international cart abandonment to foreign-currency pricing, and my client experience matches the direction if not always the headline number: when a German client’s store started showing GBP to UK visitors with a UK payment setup, UK conversion roughly doubled – from a poor base, but doubling a market’s conversion is not a rounding error.

Where local currency matters most, in order: the checkout and payment step (a customer who reaches checkout and then sees an unfamiliar currency or a “your bank may charge conversion fees” moment is the most expensive abandonment you have), the product page (price is part of the buying decision, so foreign currency here filters people out before they start), and ads and emails (a Google Shopping ad in EUR clicked by a UK buyer who lands on an EUR page starts the relationship with friction). This ordering is also why Stripe’s checkout-level presentment alone already recovers a meaningful slice: it fixes the most expensive step first, even while your product pages still show the base currency.

Two implementation details that decide whether the experience feels right. First, geolocation with a manual override: detect the visitor’s country and default the right currency, but keep a visible switcher – VPNs, travellers and gift buyers exist, and WooCommerce’s built-in geolocation needs correct configuration behind caching (a page cache that stores the EUR version and serves it to everyone has silently broken more multi-currency setups than any plugin bug; the currency must be cache-aware, via a cache variation or an AJAX price fill). Second, consistency to the last screen: the currency shown on the product page must be the currency charged at payment and printed on the order email. A store that shows GBP and then charges EUR at the gateway has recreated the original problem at the worst moment and will see it in support tickets and chargebacks.

Taxes across borders: the short version

Currency gets the attention, but tax is where cross-border selling gets real obligations. The short version for a store selling physical goods:

  • Inside the EU: once your cross-border B2C sales into other EU countries pass EUR 10,000 a year in total, you charge the customer’s country’s VAT rate and report it through one OSS return in your home country – no foreign registrations needed. Below the threshold you may charge your home rate. WooCommerce handles the per-country rates once configured properly.
  • EU store selling to the UK: for consignments up to GBP 135 you generally must register for UK VAT, charge it at the point of sale and file UK returns – a genuine ongoing obligation, not a checkbox. Above GBP 135, import VAT and any duty are collected at the border, either from the customer (DAP – unpleasant surprise at the door) or prepaid by you via the carrier (DDP – better experience, more admin). Many smaller EU stores deliberately keep the UK closed until it earns this overhead; that is a legitimate decision, not a failure.
  • Selling to Switzerland: Switzerland is outside the EU VAT system; below CHF 100,000 of turnover into Switzerland you can usually ship with the customer handling import VAT at delivery, above it you register for Swiss VAT. Same DDP-vs-DAP experience question as the UK.
  • UK store selling to the EU: IOSS lets you charge the buyer’s VAT at checkout for consignments up to EUR 150 and report it in one return, so the parcel clears customs without the customer paying at the door. Without IOSS, every EU customer gets a fee-laden doorstep surprise.
  • US customers: as a non-US seller without physical or economic nexus you generally do not collect US sales tax; low-value imports clear without the customer paying duty in most cases. Revisit if US volume becomes large.

One multi-currency-specific trap: your VAT return is filed in your home currency, so orders charged in GBP or CHF must be converted at an acceptable rate for the return. Decent accounting integrations handle this; spreadsheets by hand usually do not. I wrote up the EU side in full in the WooCommerce EU VAT and OSS guide – if you sell in the EU, read it before opening the second market.

Shipping internationally: costs, customs, expectations

Shipping is where international ambition meets physics. The honest points first: international shipping costs more than customers want to pay, takes longer than they hope, and outside the EU involves customs paperwork that is now largely electronic but still yours to get right. Plan around three things:

  • Real rates per destination, tested with real parcels. Get quotes from at least two carriers (national post via a consolidator, plus DHL/UPS/DPD) for your actual parcel weight and size to each target market. The difference between carriers on the same lane is often 30-50%. Then decide your customer-facing rate: full cost, subsidised flat rate, or free above a threshold – a per-market free-shipping threshold set just above your average order value is the classic move that pays for itself in bigger baskets.
  • Customs documentation for non-EU destinations. Every parcel needs electronic customs data – commodity description, HS code, value, origin. Your product’s HS codes are worth looking up once and storing per product; carriers and plugins can transmit the data (CN22/CN23 equivalents) automatically. An EU business shipping outside the EU needs an EORI number – free and quick to get, impossible to ship without.
  • Delivery expectations per market, stated on the page. A Dutch customer expects one to two days domestically and will accept three to five from Germany if you say so upfront. A US customer buying from Europe accepts seven to twelve days if the product warrants it – but only if the estimate is on the product page and in the confirmation email, not discovered in tracking. Unstated slow delivery is a refund request; stated slow delivery is fine.

Set all of this up with proper shipping zones – one zone per market or market group, with methods and rates per zone – which is a topic of its own; my WooCommerce shipping setup guide covers zones, classes and rate strategy in detail. The multi-currency wrinkle: your shipping rates need converting or setting per currency too. A flat EUR 6.90 rate must become a sensible GBP 5.95, not GBP 5.87 – the same rounding logic as product prices, and a detail that switcher plugins handle with varying grace, so test it.

Language and currency together

Currency and language are separate decisions that customers experience as one thing: “is this shop for me?”. The combinations that work: same language, new currency (an EU store opening the UK: English store, add GBP – currency alone does the job); new language, one shared currency (a German store translating into French for France and Belgium: EUR stays); and the full pairing (German store, Czech market: Czech language plus CZK prices – here a multilingual suite that handles both, like WPML with WooCommerce Multilingual and Multicurrency, keeps them switching together instead of a customer landing on a Czech page with EUR prices or the reverse).

My sequencing advice is unglamorous: currency first, language second. Currency is a configuration project measured in days; a proper store translation – products, categories, checkout, emails, legal pages, and then keeping all of it updated – is an ongoing editorial commitment measured in months. English-language stores with local currency convert acceptably in markets with high English proficiency (the Netherlands, Scandinavia, to a degree Germany); translation moves the needle most in France, Italy, Spain, Poland and Czechia, where buyers demonstrably prefer buying in their own language. Prove the market with currency and payment methods first, then invest in translation for the market that has earned it. The full comparison of translation setups – WPML vs Polylang, what to translate first, SEO with hreflang – is in my multilingual WordPress guide.

Payment methods per market

Showing the right currency and then offering only a card field undoes half the work, because payment method preferences are stubbornly national. The short map for common target markets: the Netherlands runs on iDEAL (the large majority of online purchases); Germany leans on PayPal, SEPA-based methods and invoice purchase, with pure card payment weaker than foreigners expect; Belgium has Bancontact; Poland has BLIK; Austria and Switzerland use cards and PayPal plus TWINT in Switzerland; the UK and US are card-first with strong Apple Pay and Google Pay usage; and buy-now-pay-later (Klarna) matters in the DACH, Nordic and UK markets, especially for baskets above EUR 80 or so.

The practical consequence is pleasant: modern gateways bundle these. Stripe and Mollie both offer iDEAL, Bancontact, BLIK, Klarna and the wallets under one contract and one plugin, and turn methods on per market. What to check specifically for multi-currency: which currencies each method supports (iDEAL is EUR-only, BLIK is PLN – if you show a Polish customer PLN prices, the gateway must charge PLN for BLIK to appear), whether your switcher plugin passes the presented currency to the gateway correctly, and how refunds flow back per method. Wallets deserve a special mention for international selling: Apple Pay and Google Pay carry the customer’s address and card across the border for them, removing the most tedious part of buying from a foreign shop, so enabling express wallet buttons is one of the highest-return five-minute jobs in this whole project. I compared the main gateway options for EU stores – Stripe, Mollie, PayPal, fees and method coverage – in the WooCommerce payment gateways guide.

Returns from abroad

Returns are the part of international selling nobody budgets for and everybody meets. Two realities shape the plan. Legally, EU and UK consumer law gives distance buyers a 14-day withdrawal right; you must accept the return, though for standard withdrawals the customer can be required to pay return shipping if your terms say so clearly. Economically, a cross-border return often costs more in postage and handling than the item’s margin – sometimes more than the item.

  • Decide the returns economics per market before opening it. For a EUR 20 product, a EUR 15 international return label makes physical returns pointless. Many stores use returnless refunds below a value threshold (“keep the item, here is your refund”) – cheaper than the label and disarmingly good customer experience. For higher-value goods, budget real return shipping into the market’s margin buffer from the pricing section above.
  • Make the process boring and clear. A returns page per market stating who pays, how long it takes and where the parcel goes prevents the angry-email version of the same conversation. Cross-border refunds take longer to arrive; say so.
  • Non-EU returns have a customs wrinkle. A UK or Swiss customer returning goods to an EU store should mark the parcel as returned merchandise so you do not pay import VAT on your own product coming home; a short instruction in the returns email covers it.
  • Currency detail: refund in the currency and amount the customer paid. Gateways handle this correctly by default; the trap is manual refunds calculated from your base currency after the rate moved. Refund the original charge through the gateway, always.
  • Watch per-market return rates. If one market returns at double your home rate, the product pages for that market are setting wrong expectations – usually sizing, material or delivery time – and fixing the page is cheaper than absorbing the returns.

A phased rollout plan and measuring per-market profit

Everything above compresses into a sequence I have run with many stores. The phases keep each step small enough to do properly:

  • Phase 0 – measure (a week). Pull the foreign traffic, abandoned carts and enquiry emails. Rank two or three candidate markets against demand, shipping feasibility and legal overhead. Pick one.
  • Phase 1 – open the checkout (a week). Enable shipping to the market with honest rates and delivery estimates, turn on gateway-level local-currency payment and the market’s payment methods, and confirm the tax handling (OSS rates, or UK/CH rules) is correct. You are now selling internationally without touching your catalogue.
  • Phase 2 – local prices (one to two weeks). If phase 1 shows real orders, add proper multi-currency display with per-market price points, rounded and buffered as above, shipping rates included. Test the full order-refund-report loop.
  • Phase 3 – localisation (a month or more, only for proven markets). Translation if the market wants it, market-specific content and ads, local returns instructions, possibly local settlement with a multi-currency account once volume justifies it.
  • Phase 4 – next market. Repeat from phase 1. Each market gets cheaper to open because the machinery exists.

And measure profit per market, not revenue – international revenue flatters. A per-market view needs: revenue in your base currency, minus payment fees including conversion spread, shipping subsidy (what you charged minus what the carrier charged you), returns cost, and a share of the market’s fixed overhead (VAT registration fees, translation maintenance). WooCommerce reports will not give you this by themselves; a spreadsheet fed by a monthly order export per country gets you 90% of the way, and an analytics setup with country-level ecommerce reporting fills the funnel side – where each market’s visitors drop off tells you which phase that market needs next. A client’s store found UK revenue was 12% of turnover but only 6% of profit once conversion fees, subsidised shipping and returns were counted – not a reason to close the market, but the reason the next price review raised GBP prices by 7% while EUR prices held. That is what per-market measurement is for: pricing decisions per market instead of one blended guess.

Want your WooCommerce store selling internationally without the surprises?

I set up multi-currency, international checkout, taxes and shipping for WooCommerce stores as a daily part of my WooCommerce development work – from a gateway-level quick win to a full multi-market setup with per-country pricing, at EUR 15 per hour or a fixed price for the whole project. Have a look at the portfolio, then tell me which markets you want to open – I reply within 24 hours with a plan and a quote.

Frequently asked questions

How do I set up WooCommerce multi-currency?

Either at the gateway level (Stripe can present and charge the customer’s local currency with the store unchanged) or with a currency switcher or per-market pricing plugin such as Aelia Currency Switcher or Price Based on Country for local prices across the whole store. Start with the gateway option and add a plugin when a market proves itself.

Does WooCommerce support multiple currencies by default?

No – core WooCommerce is single-currency. Multi-currency display and per-market pricing always come from your payment gateway’s features or an added plugin.

What is the difference between display currency and settlement currency?

Display currency is what the customer sees and pays; settlement currency is what lands in your bank account. You can show GBP and settle in EUR – the gateway converts for a fee – or settle in GBP directly with a GBP account once volume justifies it.

Should I use live exchange rates for my prices?

Not for markets that matter. Set rounded, psychologically sensible price points per market with a margin buffer for that market’s fees and shipping, and review them monthly or quarterly instead of letting the rate set prices daily.

Do I need a bank account in every currency I sell in?

No. Gateways happily convert everything to your home currency for a 1-2% fee. A multi-currency account (Wise, Revolut Business or a bank currency account) becomes worthwhile once a currency does steady four-figure monthly volume.

Which countries should my store expand to first?

The ones your data already points at: foreign visitors who currently leave at checkout, feasible shipping at an acceptable cost, and manageable tax overhead. For EU stores that usually means neighbouring EU countries first; the UK and Switzerland come later because they add registration and customs work.

Does local currency really improve conversion?

Yes, and most at the payment step – customers hesitate to commit in a currency they do not think in, and bank conversion fees add uncertainty. Local currency at checkout plus local payment methods is the highest-impact combination for international conversion.

Written by Vishal Bhisara

Full Stack WordPress Developer & AI Solutions Expert with 12+ years of experience and 500+ projects delivered worldwide. I help businesses and agencies build fast, secure, SEO-ready websites - custom themes, plugins, WooCommerce stores, and AI automation that actually grows revenue. Based in Bhavnagar, India, working with clients across the globe. More about me →

Need Expert WordPress Support?

Reading great content is the first step. Implementing the right strategy is what delivers results. If you need professional help with your WordPress website, WooCommerce store, AI automation, or custom development project, I'm here to help.

Have a Project in Mind? Let's Make It Happen.

Start a Project
Vishal Bhisara Your WordPress & AI partner
Get a Free QuoteGet a Free Quote