Ahosting Logo
Knowledge Base

How to Sell in Multiple Currencies and Countries

Currency display and true multi-currency are different thingsConverted displayTrue multi-currencyPrices shownconverted at an exchange rateset by you, per currencyCharged inthe base currency, usuallythe displayed currencyRoundingwhatever the rate producesprices you choseEfforta plugin settinga price list per currencyAlso decide tax by customer location, shipping zones you can genuinely honour, and address formats that are not yourown country only.

Selling into more than one country adds three decisions that are usually made by accident: which currency people see, what tax applies, and where you will actually ship. Getting them wrong shows up as abandoned carts rather than as errors.

Currency display is not multi-currency

The distinction that decides how much work this is.

Converted display shows prices in the visitor's currency using an exchange rate, and charges in your base currency. Simple, and the customer's bank applies its own rate and possibly a fee, so the amount they are charged differs from the amount they saw.

True multi-currency charges in the displayed currency, with prices you set per currency. Cleaner for the customer and it requires a gateway that settles in those currencies.

For most shops, converted display is enough and honest as long as you say so at checkout. If a meaningful share of your revenue is from one other country, setting real prices there is worth it, rounded prices convert better than converted ones ending in odd decimals.

Do not switch currency by IP address alone

Automatic switching based on location is convenient and produces two problems.

A visitor who wants a different currency cannot get to it, and caching becomes hazardous: a page cached with one currency can be served to someone in another country, showing the wrong price on a product page. That is a worse failure than an inconvenient default.

Offer a visible switcher, remember the choice, and make sure your caching layer varies on it. Understanding WordPress Caching Layers explains why that is the part to check.

Tax is decided by the customer's location, often

The rule that catches shops selling internationally for the first time.

For many goods and most digital products, the applicable tax is the customer's, not yours. That means rates per country, and in some cases a registration obligation once you pass a threshold.

WooCommerce can calculate by customer address, and the rates have to come from somewhere, maintained by hand or by a service. Neither is optional if you are charging tax at all. How to Configure Tax Settings in WooCommerce explains the settings.

Decide whether prices are shown including or excluding tax, and be consistent. Consumers in some markets expect the inclusive price and treat an increase at checkout as a surprise cost, which is the most commonly stated reason for abandoning a cart.

Ship only where you will actually ship

Shipping zones define where you deliver and at what cost. Anywhere not in a zone cannot be checked out to, which is a feature.

Be deliberate about that instead of leaving a catch-all zone with a guessed rate. An order from a country you cannot economically ship to is a refund and an apology. For building them, see How to Set Up Shipping Zones and Methods.

Say what customs and duty mean for the buyer. An international order arriving with an unexpected charge produces a complaint aimed at you, and one sentence at checkout prevents most of it.

Addresses are not all the same shape

A checkout demanding a state and a five-digit postcode is a checkout that half the world cannot complete.

WooCommerce adjusts address fields per country by default. What breaks it is customisation. A plugin or a theme making fields required globally, or validation written for one country's format.

Test the checkout with an address from each country you sell to. It takes ten minutes and it is the most common silent blocker on an international shop.

Payment methods differ by market

Cards are not the default everywhere. In several countries the majority of online payments go through a local method, and a shop offering only cards loses those customers without ever seeing an attempt.

Check what is normal in the markets you actually sell to, and add the one or two that matter. More methods is not better. Every additional option is another thing to test and reconcile. There is more on adding one properly in How to Configure Payment Gateways in WooCommerce.

Language is a separate project

Currency, tax and shipping are settings. Translation is content, with its own structure decisions and ongoing maintenance.

They are often confused because both are described as "going international". You can sell into several countries in one language perfectly well, and that is usually the right first step. How to Run a Multilingual WordPress Site goes into the other half when you get there.

Watch what it costs you

International selling has costs that do not appear as line items.

Cross-border card fees and currency conversion on the gateway side. Higher fraud rates on some routes. Returns that are uneconomic to accept back.

Look at margin per country rather than revenue per country after a few months. It is common to find one market producing volume and no profit, and that is a decision to make deliberately in place of a surprise in the accounts. How to Read WooCommerce Analytics and Reports explains getting the numbers out.

Test as a customer in each market

With a real address, in the local currency, through the payment method that market uses.

Check the price shown, the tax added, the shipping offered and the total, then complete one order and refund it. That single exercise finds the currency rounding, the required field nobody outside your country can fill, and the shipping method that quietly offers free delivery to another continent.