We launched our new website, with a new look and new features
At the beginning of October 2021, we went live with a new website, completely redesigned. The work took significantly longer than we expected, but the important thing is that we finally made it. The new website has a more modern look, a colour scheme that’s easier on the eyes, and it’s also significantly faster. Our tests indicate that it’s up to 30% faster than the previous one, but we will still work to optimise it, to offer you the best experience.
In addition to the look, we made an important change to how we distribute our products. We partnered with our friends at Freemius, and moved all our solutions to their platform. From now on, the Freemius service will take care of handling sales, licensing and distribution for all the Aelia plugins, giving us more time to focus on improving the solution that our customers grew up to know and trust over the years.
The advantages for our visitors and customers
The series of improvements we applied to our site will bring significant advantages. It would take time to list every single change, therefore we prepared a short summary, for your convenience.
New design
We improved the look of the website, using softer colours. This will make it easier to navigate the content and find the information you need. The new layout also includes better support for mobile devices. Mobile browsing is a key aspect of the Internet and, although most of our visitors and customers reach our site via a desktop, we wanted to cater to our “mobile friends” as well. As a further cosmetic touch, we replaced the old, ugly icons with much better ones.
Freemius integration
We moved all our products to an external service, called Freemius, to offer you a better user experience, right from the moment you choose to purchase one of our solutions. To explain the reason behind this decision, we would like to share a bit of “background story”.
As soon as we launched our first premium product, the Aelia Currency Switcher for WooCommerce, we faced a challenge that turned out to be harder than we thought. It was 2013, and neither WordPress, nor WooCommerce offered a reliable, scalable solution to manage software licences and distribute updates for our products. We tested some of the available plugins, but none of them worked too well for us. In some cases, we even received a disgruntled response from the author of a plugin, when we asked about the feature set, so that was a clear roadblock.
Our first solution – The Aelia Licensing System
Due to the lack of a suitable solution, we opted to implement our own licensing system, starting from scratch. For the last couple of years, our Aelia Licensing System has been handling licences and serving automatic updates to thousands of our customers. This worked fine for us, until we had to face some important challenges:
When we first designed our licensing system, we deliberately left renewals as a manual operation, because that was what our customers asked. That request changed fairly quickly, and nowadays most of our customers would like to have licences that renew automatically.
Our customer base grew faster than we expected. Our in-house licensing system, which was still working fine, risked not to be able to handle all the traffic it received.
An increasing number of our customers asked us to provide trial versions of our products. We are not fans of the idea of offering limited versions of plugins, that don’t reflect the true capabilities of the paid product, therefore we had to find a way to implement some sort of “time limited trial”.
In 2021, Brexit finally became effective, introducing new rules to sell to UK consumers (i.e. customers who are not registered for VAT). Merchants are required to charge VAT to all UK customers who don’t have a valid UK VAT number. At the same time, the same merchants can’t charge VAT unless they have a UK VAT number, which we don’t have. Registering for VAT in the UK would have introduced a significant amount administrative costs, that we could not sustain. Due to that, the only viable option left to us was to block sales to UK consumers. Needless to say, this caused us to be unable to offer our products to such customers.
Our new choice – Freemius
With so many different aspects to handle, we realised that we could not longer rely on our own resources. Due to that, we tested the Freemius platform, and found that it allowed us to address all the above, automatically. Their service handles automatic renewals, is fast, and it can serve customers from the EU, the UK and abroad. This allows us to reach a broader audience, remain fully compliant with VAT regulations and save a significant amount of paperwork.
The Freemius platform offers our customers a modern, responsive and performing user interface. Thanks to that, our clients can find what they need, quickly and easily. On top of that, the work we did for the integration can also benefit our fellow developers!
If you’re a plugin developer interested in Freemius, we have something for you
The Freemius platform offers a simple integration guide. We could have just followed the instructions anded add a purchase link on our website, manually, on each product page. However, as Engineers, we like to automate these aspects, so we came up with a solution. We prepared a Freemius Integration plugin , which allows to link a WooCommerce shop to the Freemius service. Some of the key features:
Manage product prices, from WooCommerce, and update them in Freemius automatically. This feature also works with WooCommerce’s variations to allow you to configure as many prices as you like, in any combination. For example, you can create monthly, annual, lifetime payment options, for one site, or multiple sites, and link each one to a variation.
Manage and synchronise product prices in multiple currencies. The Freemius Integration is also fully compatible with our Aelia Currency Switcher. This feature allows you to synchronise, and keep up to date, the product prices all the currencies supported by Freemius. You can enter the prices manually, directly in WooCommerce. or let them be updated automatically whenever exchange rates change.
Display a smart widget to allow your customers to purchase your products. You can use the shortcode provided by the Freemius Integration and let it take care of showing the available options, with each price, to your prospective customers. Simp
ly drop the shortcode anywhere you like, and it will display a user friendly purchase interface to your customers.
If you wish to see the Freemius Integration in action, you can simply visit one of our product pages. You can find the purchase widget towards the bottom of the page, or simply click on the “buy plugin” button to scroll right down to it.
Interested in the Freemius Integration for WooCommerce?
If you would like to know more about the Freemius Integration for WooCommerce, please feel free to contact us. We will be happy to share more details about it, and collect your feedback and feature requests, in preparation for its release to the public.
https://aelia.co/wp-content/uploads/2021/09/news_aelia_icon.svg682681diegohttps://aelia.co/wp-content/uploads/2014/07/AeliaLogo_201310.pngdiego2021-10-05 16:05:302021-11-17 19:41:30The new Aelia website is live, and we have great news!
Our beloved Grinzing, located in one of the most beautiful districts of Vienna, has received a massive boost this week with one of the resident businesses achieving international recognition for excellence, confirming its highest standards of service and trust. Diego Zanella, the founder of Aelia, was awarded the coveted All-Ireland Business All-Star accreditation for the second year in a row. One might ask why an Austrian business, founded by an Italian entrepreneur, would receive such an important accreditation from a foreign country, and it would be a legitimate question. The answer is simple, yet interesting.
Some background story
Diego Zanella founded Aelia in Ireland, in 2013. From the first day, he founder focused all its efforts in producing high quality solutions, and offering top class service, to owner of e-commerce websites. Thanks to the flexibility offered by modern technologies, the business can operate from anywhere in the world, while still keeping in touch with its thousands of customers. Aelia moved around Ireland a couple of times, then, in mid-2019, Diego Zanella planned a relocation to Austria.
The All-Ireland Business Foundation came into play, just in time
At the beginning of the same year, he had submitted Aelia to the selection for the Business All-Star accreditation. He was supposed to receive answer was supposed within a couple of days, and the selection process take a few weeks. However, due to a technical issue, the submission remained “pending” much longer than it should have. As soon as the All-Ireland Business Foundation Team found it, they reviewed the performance of both Aelia and its founder. The score was high enough to place them amongst the top candidates. Even though our founder informed the AIBF Team of the imminent relocation abroad, they were more than happy to let our application proceed anyway. Then, in October 2019, Diego Zanella received the first Business All-Star accreditation.
In 2020, the AIBF Team contacted our founder again. Although our Aelia and its founder are no longer resident in Ireland, their result were so high that the Foundation offered to make an exception, and participate to the selection again. Diego Zanella was given the opportunity to become the first “ex-indigenous entrepreneur” to be accredited by the All-Ireland Business Foundation.
Obviously, since we’re writing about it, the result was a success. At the end of October 2020 (yes, we’re a bit slow with news), Aelia’s founder received the accreditation certificate, confirming Diego Zanella as a Thought Leader in e-commerce and WooCommerce solutions.
Aelia – Certificate of Accreditation 2020
Due to the ongoing COVID-19 pandemic, the Gold Medal Ceremony was replaced by an online event. Our founder, Diego Zanella, attended it on the 30th of October, 2020.
The importance of get accredited for the second year
Like in 2019, we are pleased to have reached the high standard required by the the Business All-Star accreditation. We strive to keep high level of performance, trust and customer satisfaction that distinguishes our offer . Furthermore, we are the first to having been invited to participate into the selection, despite the business being now resident in another EU country, and it feels like a special honour. The All-Ireland Business Foundation is so impressed by our results that they would like to keep us in their register of top class companies. 👍
We would like to thank everyone for your continued support. Our customers, who keep trusting, our business partners, with whom we will be working on more incredible projects and, most importantly, our families.
Thanks again for your invaluable help. We wouldn’t be here, if it weren’t for you. 🙏
The Aelia Team
https://aelia.co/wp-content/uploads/2020/11/Business-All-Stars-Accreditation-Logo-2020-White-Background.png10531200diegohttps://aelia.co/wp-content/uploads/2014/07/AeliaLogo_201310.pngdiego2020-11-20 12:31:502026-04-01 17:15:24Aelia Receives All-Star Quality Mark from AIBF for the second year in a row
Compatible? Yes, with a caveat you should read before buying.
What you need: Aelia Currency Switcher 3.9.11.160928 or later.
The caveat: Composite Products has no multi-currency support of its own. Aelia covers the gap with a temporary patch, and a Composite Products update can break it.
Before you launch: test a full composite configuration in a second currency, and re-test after every Composite Products update.
Composite Products turns a WooCommerce product into a guided build: pick a frame, pick a lens, pick a strap, see one price. It is one of the more powerful things you can do with WooCommerce, and it is also one of the harder things to get right across currencies, because the final price is assembled from parts rather than stored as a number.
This review is more cautious than most in this series, and deliberately so. Composite Products and the Aelia Currency Switcher for WooCommerce do work together, but the mechanism that makes them work is a patch rather than a supported hook, and you should know that before you build a store on it.
What WooCommerce Composite Products Does
Composite Products lets you define a product as a set of components, attach a selection of real products to each component, and let the customer configure their way through them. It sells on the official WooCommerce marketplace at $112.00 per year for a single site, which makes it one of the pricier extensions in the catalogue.
It suits stores where the customer is genuinely specifying something rather than picking a variation: bicycles, PCs, furniture, hampers, made-to-order equipment. The pricing model is the part that matters here.
The Two Pricing Modes, and Why They Differ in Multi-Currency
Calculated from components. The total is the sum of whatever the customer selected. Every component price must convert, and the rounding has to happen once at the end.
Fixed price for the composite. One price for the whole thing regardless of configuration. Converts like any ordinary product, and is by far the safer choice on an international store.
Per-component markup or discount. A percentage applied to a component. Safe, because percentages are relative.
Per-component fixed adjustment. A fixed amount added to a component. Behaves like a flat fee and is the riskiest of the four.
Where Composite Products Falls Short on International Stores
The compatibility note in Aelia’s own records is blunt about the cause: Composite Products lacks multi-currency support, and the Aelia patch covers that gap rather than the plugin handling it natively.
Two symptoms follow from that. The first is rounding drift. If each component is converted and rounded on its own, five components can each gain or lose a penny, and the displayed total will not match the sum of the lines the customer can see. On a £1,200.00 bicycle build nobody notices a penny; on a hamper of twelve items priced to the penny, somebody always does.
The second is configuration-dependent behaviour. A composite whose components are all simple products usually converts cleanly. Introduce variable products, per-component fixed adjustments, or a component whose price comes from another extension, and each of those paths has to be converted too. This is why “it worked in testing” is not the same as “it works”, and why the test that matters is a full configuration rather than the default one.
Rounding Drift on a Composite Product, in Numbers
This is the failure that generates support tickets, so it is worth seeing the arithmetic. A five-component hamper, priced from components, at 1.15 euros to the pound.
Component
GBP
Exact EUR
Rounded per component
Wooden crate
£12.50
14,375
14,38 €
Preserve
£6.95
7,9925
7,99 €
Biscuits
£4.75
5,4625
5,46 €
Tea caddy
£9.20
10,58
10,58 €
Card
£2.15
2,4725
2,47 €
Total
£35.55
40,8825
40,88 €
In this case the two approaches happen to agree. Change one component price by a penny and they stop agreeing, and the customer sees a total that is one or two cents away from the sum of the lines printed directly above it. Nobody loses money over two cents. What you lose is the customer’s confidence in the page, and that is harder to win back than the cents are to recover.
There are only two robust answers. Round once, at the composite total, and let the component lines be display values. Or use a fixed composite price so there is nothing to sum in the first place. The second is stronger, and it is the configuration worth arguing for whenever the catalogue can accommodate it.
The Compatibility Position, Stated Plainly
Compatibility Status: Compatible, See Notes
Requirements: Aelia Currency Switcher 3.9.11.160928 or later.
The note, in full: a temporary patch covers the lack of multi-currency support in Composite Products. That patch may break when Composite Products is updated.
This is a materially weaker guarantee than a maintained integration add-on. It is not a reason to avoid the combination, but it is a reason to own a staging site and to re-test after Composite Products updates.
It is worth being clear about how this differs from the rest of the range, because the difference is the whole point of reading a compatibility note rather than a tick in a table.
Extension
How compatibility is achieved
Who maintains it
Update risk
WooCommerce Subscriptions
Free integration add-on
Aelia
Low
WooCommerce Product Add-ons
Free integration add-on
Aelia
Low
WooCommerce Bookings
Free integration add-on
Aelia
Low
Extra Product Options
Built into the third-party plugin
Themecomplete
Low
Composite Products
Temporary patch
Aelia, pending upstream support
Moderate
Product Bundles
Temporary patch
Aelia, pending upstream support
Moderate
Composite Products and Product Bundles sit in the same category, and for the same underlying reason: the plugin itself is not currency-aware, so something external has to stand in until it is. The durable fix is upstream, in Composite Products.
How to Set Up Composite Products With Multi-Currency Safely
Step 1: Get the Version Floor Right
Confirm Aelia Currency Switcher 3.9.11.160928 or later. Earlier versions are not covered by the patch.
Step 2: Prefer a Fixed Composite Price Where You Can
A fixed price for the whole composite converts like an ordinary product and sidesteps per-component rounding entirely. Use component-calculated pricing only where the catalogue genuinely requires it.
Step 3: Set Rounding Once, at the Total
Configure per-currency rounding in the Currency Switcher so the composite total is tidied once rather than component by component.
Step 4: Test the Most Complex Configuration You Sell
Not the default. Build the composite a real customer would build, with the maximum number of components, switch currency, and check the product page, the cart and the order confirmation all agree.
Step 5: Re-test After Every Composite Products Update
This is the step that matters most, and the one everybody skips. Add it to your update routine rather than trusting it.
Which Aelia Plugins Fit a Composite Products Store
Aelia plugin
Tested with Composite Products
Why you might need it
Currency Switcher (£89.00 ex. VAT)
Fully tested, via a temporary patch
The baseline. Converts component and composite pricing
Tax Display by Country (£69.00 ex. VAT)
No known issues, separate layer
High-value configured goods sold into the EU need the right VAT treatment per country
PayPal Multi-Account (£39.00 ex. VAT)
No known issues, separate layer
Large configured orders are exactly where a double conversion fee hurts most
Prices by Country (£69.00 ex. VAT)
Not separately tested
Different prices per country. Verify on staging: it writes to the product price, which is also where composite pricing is assembled
The Prices by Country caveat carries extra weight on a composite store. Both the composite pricing engine and Prices by Country influence the product price, so on a component-calculated composite you have two systems writing to the same value. That combination needs proving on staging, not assuming.
What to Check After a Composite Products Update
Because the compatibility rests on a patch, updates are the risk point. This is the routine worth adding to your release process, and it takes about ten minutes.
Check
Where
What a pass looks like
Component prices convert
Composite product page, second currency
Every component line shows a converted figure, not the base one
Total matches the lines
Same page, fully configured
The total equals the visible sum, or differs only by your rounding rule
Cart survives a currency switch
Cart, with the composite in it
Line and total both update together
Variable components convert
A composite containing a variable product
Each variation converts, not just the default
Fixed adjustments convert
A component with a fixed markup
The adjustment changes value with the currency
Order record is correct
Admin, after a test order
Stored currency and per-line amounts agree with what the customer saw
Run this on staging with the most complex composite in your catalogue before the update reaches production. If a check fails, hold the update and raise it with Aelia support rather than patching it yourself, because the patch is maintained centrally and a local edit will be overwritten by the next Currency Switcher release.
When Composite Products Is the Wrong Tool
Worth saying, because $112.00 per year plus a moderate update risk is not the right answer to every configuration problem.
Options that only add a fee, such as engraving or gift wrap, belong in WooCommerce Product Add-ons, which is cheaper and has a maintained Aelia integration rather than a patch.
A fixed set of items sold together is a bundle, not a composite. See Product Bundles.
A simple choice between two or three variants is a variable product, which core WooCommerce handles and the Currency Switcher converts with no patch involved.
Quantity-based discounting is Dynamic Pricing, not a composite.
If the customer is genuinely specifying a build, Composite Products earns its price. If they are picking one of three finishes, you are buying complexity you do not need, and the multi-currency risk comes along with it.
Frequently Asked Questions About Composite Products and Multi-Currency
Does WooCommerce Composite Products Support Multi-Currency?
Not on its own. Composite Products has no multi-currency support built in. The Aelia Currency Switcher covers the gap with a temporary patch from version 3.9.11.160928 onwards, so the combination works, but the patch can break when Composite Products is updated. Re-test after each update.
Why Does My Composite Total Not Match the Component Prices?
Rounding applied per component rather than once at the total. If each converted component is rounded individually, the small differences accumulate and the total drifts from the visible sum of the lines. Configure per-currency rounding so it is applied once to the composite total, and prefer a fixed composite price where the catalogue allows it.
Is a Temporary Patch Safe to Run on a Live Store?
Plenty of stores run it without incident, and Aelia maintains it. The honest risk is that it is not an officially supported extension point, so a Composite Products update can change the behaviour it depends on. Treat it as a dependency worth monitoring: keep a staging site, test a full composite configuration in a second currency after each update, and do not update Composite Products on a Friday.
How Much Does WooCommerce Composite Products Cost?
Composite Products is sold on the official WooCommerce marketplace at $112.00 per year for a single site. The Aelia Currency Switcher is £89.00 ex. VAT per year for a single site, and no paid add-on is needed for the Composite Products patch.
What Is the Difference Between Composite Products and Product Bundles?
A bundle is a fixed set of items sold together at one price. A composite is a guided configuration where the customer chooses each component and the price follows their choices. Both lack native multi-currency support and both rely on an Aelia temporary patch, so the same testing discipline applies to each.
Can I Set Composite Prices Manually per Currency?
Yes, if you use a fixed price for the composite rather than calculating from components. A fixed composite price behaves like an ordinary product price, so you can set a deliberate clean figure in each currency instead of accepting a converted one. This is the most robust configuration available on an international store and it avoids per-component rounding entirely.
Sell Configured Products in Multiple Currencies
Composite stores tend to carry high order values, which is exactly why a rounding drift or a currency mismatch costs more here than elsewhere. Test the combination properly and it runs quietly for years.
Aelia Currency Switcher for WooCommerce
£89.00 ex. VAT, annual, single site. Per-currency rounding rules, Composite Products support from version 3.9.11.160928, a single-site licence, a year of updates, direct support from the team that builds the plugin, a 14-day free trial and a 30-day money-back guarantee.
Compatible? Yes. WooCommerce Product Add-ons works with the Aelia Currency Switcher.
What you need: Currency Switcher 3.2.x or later, Product Add-ons 2.5.3 or later, and the free Product Add-ons Integration add-on.
Why the add-on matters: flat-fee options do not convert on their own. A £15.00 gift wrap stays “15” in every currency without it.
Percentage fees convert correctly either way, because they are relative to a price that has already been converted.
WooCommerce Product Add-ons is the extension most stores reach for when a product needs options that change the price: engraving, gift wrap, an extended warranty, a choice of finish. It works well, and on a single-currency store there is nothing to think about.
Add a second currency and one specific thing breaks in a way that is easy to miss: the fixed fees. This review covers what Product Add-ons does, exactly where it falls short on international stores, and the free integration that fixes it.
What WooCommerce Product Add-ons Does
Product Add-ons lets you attach extra option fields to a product, and lets those fields change what the customer pays. Originally built by Mike Jolley, it is now sold through the official WooCommerce marketplace at $59.00 per year for a single site.
It is aimed at stores selling anything configurable or personalised: print shops, furniture, gifting, food hampers, equipment hire. The field types are the part that matters for this review, because they behave differently once a second currency is involved.
The Field Types, and Which Ones Carry a Price
Flat fee. A fixed amount added to the total. The one that breaks in multi-currency.
Percentage fee. A proportion of the product price. Converts correctly on its own.
Custom price. The customer enters an amount. Needs a decision about which currency they are typing in.
Quantity-based fee. A flat fee multiplied by a number. Inherits the flat-fee problem.
Image-based selections, dropdowns, checkboxes, text input. Presentation only until you attach a fee to them.
Where Product Add-ons Falls Short on International Stores
Here is the failure in one example. You sell a print at £40.00 and offer framing as a flat-fee add-on at £15.00. A customer in Germany switches to euros. The print converts correctly and shows as roughly 46,00 €. The framing fee shows as 15,00 €.
Not 17,25 €. Fifteen. The number was stored as “15” against the product and nothing told it that the currency had changed, so it is served unchanged with a euro symbol in front of it. You have just discounted your framing by about 13% for every euro customer, silently, on every order.
The mechanism is worth understanding because it explains the pattern. The Currency Switcher converts the product price through WooCommerce’s pricing layer. An add-on fee is separate data attached to the product, and Product Add-ons does not pass it through that layer for conversion. Percentage fees escape the problem entirely, because 10% of an already-converted price is correct in any currency. It is only the fixed amounts that go wrong.
Why This One Is Easy to Miss
Nothing errors. No warning appears, no order fails, and the totals all add up correctly. The only symptom is margin quietly leaving on add-on revenue in every currency except your base one. Most stores find it in a reconciliation months later, which is why it is worth checking before launch rather than after.
What the Add-on Pricing Gap Costs You, in Numbers
Take the framing example and follow it through three configurations. The product is a print at £40.00, the framing add-on is £15.00, and the exchange rate is 1.15 euros to the pound.
Configuration
Print
Framing add-on
Order total
Margin effect
Base currency, GBP
£40.00
£15.00
£55.00
Correct
EUR, no integration add-on
46,00 €
15,00 €
61,00 €
2,25 € under-charged per order
EUR, integration add-on active
46,00 €
17,25 €
63,25 €
Correct, but untidy figures
EUR, manual price per currency
46,00 €
18,00 €
64,00 €
Correct and deliberate
The middle row is the one to look at. It is a 13% discount on the framing, applied to every euro order, decided by nobody. On a store selling 200 framed prints a month into the eurozone that is roughly 450 € of margin a month, and the only place it shows up is a slow drift in your add-on revenue per order.
The fourth row is worth noticing too. Once the integration is doing its job you still have a choice between accepting the converted figure and setting the fee yourself per currency. For a visible, standalone charge like gift wrap or framing, a deliberate round number reads better than a converted one and protects the margin at the same time.
How the Aelia Currency Switcher Fixes Product Add-ons Pricing
The fix is a small free plugin that sits between the two and passes add-on fees through the conversion layer. It is published as the Product Add-ons Integration for Currency Switcher and costs nothing.
Compatibility Status: Compatible, Requires Add-on
Requirements: Aelia Currency Switcher 3.2.x or later; WooCommerce Product Add-ons 2.5.3 or later; the Product Add-ons Integration add-on, available free of charge.
Tested and maintained by Aelia. This is a supported integration rather than a workaround, and it does not depend on a patch that a third-party update can undo.
Step 1: Activate Both Plugins First
Install and activate the Aelia Currency Switcher and WooCommerce Product Add-ons, and confirm each works on its own.
Step 2: Install the Integration Add-on Last
Order matters. The integration expects both plugins present when it loads, so install it after, not before.
Step 3: Test a Flat Fee in a Second Currency
Set a flat-fee option to a round number in your base currency, switch currency on the front end, and confirm the fee converts rather than staying the same digits.
Step 4: Add Rounding Rules
A converted 15.00 will arrive as something like 17,25. If you want clean numbers, set per-currency rounding in the Currency Switcher, or set the fee manually per currency.
Which Aelia Plugins Fit a Product Add-ons Store
Aelia plugin
Tested with Product Add-ons
Why you might need it
Currency Switcher (£89.00 ex. VAT)
Fully tested, via the free integration add-on
The baseline. Converts add-on fees as well as product prices
Tax Display by Country (£69.00 ex. VAT)
No known issues, separate layer
Personalised goods sold into the EU need the right VAT treatment shown per country
PayPal Multi-Account (£39.00 ex. VAT)
No known issues, separate layer
Settle euro orders into a euro account instead of paying conversion twice
Prices by Country (£69.00 ex. VAT)
Not separately tested
Different prices per country rather than converted ones. Verify on staging first, because it also writes to the product price and can overlap with add-on pricing
That last row deserves the caveat it carries. Prices by Country and Product Add-ons both influence what the customer finally pays, and the compatibility table tests the Currency Switcher rather than the whole Aelia range against every third-party plugin. If you need both, prove the combination on a staging site before it touches real orders. Our guide to regional pricing versus multi-currency explains which of the two you actually need.
Setup Notes and Known Limitations
Worth Knowing Before You Build
Version floors are real. Currency Switcher 3.2.x and Product Add-ons 2.5.3 are minimums, not suggestions. Older combinations are untested.
Converted fees will look untidy. Expect 17,25 € rather than 17,00 €. Rounding rules or manual per-currency fees fix this.
“Custom price” fields need a decision. When a customer types an amount, be explicit about which currency they are entering, and label the field with the active currency.
Test the cart, not just the product page. Add-on fees are recalculated when the cart is updated, so check the total after a currency switch mid-session.
Do not run two currency plugins. A second plugin writing to the product price will produce intermittent wrong totals that look like an add-on bug.
Being plain about what is not covered: the integration makes add-on fees currency-aware. It does not make Product Add-ons multi-lingual, and it does not let you write a different set of option fields per country. If you need per-country option sets, that is a custom build rather than a setting.
How to Test Product Add-ons in a Second Currency
Five minutes of testing catches everything described above. The order of the checks matters, because each one rules out a different layer.
Check
What to do
What a pass looks like
Flat fee converts
Set an add-on to a round base-currency figure, switch currency on the product page
The fee changes value, not just its symbol
Percentage fee is sane
Set a percentage add-on, switch currency
The fee is the same proportion of the converted price
Cart agrees with the product page
Add to cart, then switch currency while the item is in the cart
The cart line and the total both update
Checkout agrees with the cart
Proceed to checkout without changing anything
No change in the total between the two pages
Order record is right
Place a test order, open it in the admin
The order stores the currency and the converted fee, not the base figure
Caching is not lying to you
Repeat the first check in a private window with a cache-busting query string
Same result with and without the cache-buster
The last row catches the one that wastes the most time. If a fee looks wrong on the front end but correct in the admin, you are usually looking at a cached page rather than a conversion fault. Our complete WooCommerce multi-currency guide covers the caching side in more detail.
Frequently Asked Questions About Product Add-ons and Multi-Currency
Does WooCommerce Product Add-ons Work With Multi-Currency?
Yes, with the Aelia Currency Switcher and the free Product Add-ons Integration add-on. Without that integration, flat-fee add-ons keep the same numeric value in every currency, so a £15.00 fee displays as 15,00 € rather than the converted amount. Requirements are Currency Switcher 3.2.x or later and Product Add-ons 2.5.3 or later.
Why Are My WooCommerce Add-on Fees Not Converting?
Because flat-fee add-ons are stored as a fixed number attached to the product rather than as a product price, so they never pass through WooCommerce’s pricing layer where conversion happens. Installing the free Product Add-ons Integration add-on routes them through it. Percentage-based fees are unaffected, because they are calculated from a price that has already been converted.
How Much Does WooCommerce Product Add-ons Cost?
Product Add-ons is sold on the official WooCommerce marketplace at $59.00 per year for a single site. The Aelia Product Add-ons Integration add-on is free. The Aelia Currency Switcher is £89.00 ex. VAT per year for a single site.
Do I Install the Integration Add-on Before or After?
After. Activate the Aelia Currency Switcher and WooCommerce Product Add-ons first, confirm both work independently, then install the integration add-on. It expects both plugins to be present when it loads, so installing it first can leave it inactive with no obvious error.
Can I Set Different Add-on Prices per Currency?
Yes. Rather than relying on automatic conversion, you can set a deliberate figure per currency so the fee is a clean number in each market, for example £15.00 and 18,00 € instead of a converted 17,25 €. This is the same argument as manual prices per currency on products, and it is the better choice whenever the fee is visible enough for customers to judge.
Does This Work With Extra Product Options Instead?
WooCommerce Extra Product Options by Themecomplete is also listed as compatible with the Currency Switcher, from Extra Product Options 4.0.2 or later. The difference is who maintains it: that compatibility is implemented and maintained by the plugin author, whereas the Product Add-ons integration is built and maintained by Aelia. Both work; the support path differs.
Sell Add-ons in Every Currency You Trade In
If your add-ons carry real revenue, the flat-fee conversion gap is worth closing before you open a second currency rather than after. The integration is free; the margin you are currently giving away is not.
Aelia Currency Switcher for WooCommerce
£89.00 ex. VAT, annual, single site. Includes the free Product Add-ons Integration add-on, a single-site licence, a year of updates, direct support from the team that builds the plugin, a 14-day free trial and a 30-day money-back guarantee.
Only need shoppers to see their own currency? CURCY does it free.
Already running WPML? Use its built-in multi currency. You have paid for it.
Need to take the money properly? Aelia Currency Switcher, £89.00 ex. VAT: fixed prices per currency, gateway routing, correct tax, subscriptions that renew in the original currency.
Running WPML and Aelia together? Disable WPML’s currency feature first, or they fight over the price.
Most WooCommerce store owners do not set out to compare multi-currency plugins. They set out to stop losing cross-border sales, notice that the checkout still charges in pounds when the shopper is in Germany, and end up on a plugin directory with four tabs open and no way to tell the options apart. The feature lists all look the same. The prices do not.
This is a side-by-side test of the three options that come up most often: the Aelia Currency Switcher for WooCommerce, CURCY by VillaTheme, and the multi-currency feature built into WPML’s WooCommerce Multilingual. Diego has maintained the Aelia Currency Switcher since 2013, so read the section on where Aelia is the wrong choice before you buy anything.
What a WooCommerce Multi Currency Plugin Actually Has to Do
WooCommerce ships with one currency. That is the whole of it. You set a currency in the settings, every price is stored against it, and every gateway is handed that figure at checkout. A multi-currency plugin has to bolt four separate jobs onto that single-currency foundation, and the plugins differ far more in the last two jobs than the first two.
The Four Jobs, in the Order They Get Harder
Display. Show the price in the shopper’s currency. Every plugin here does this competently.
Selection. Let the shopper pick a currency, or pick one for them from their location. Also well covered across the board.
Pricing control. Decide whether a price is converted at today’s rate or set deliberately per currency. This is where the plugins separate.
Taking the money. Charge in that currency, through a gateway that accepts it, with the right tax, and keep it consistent on renewals. This is where most free plugins stop.
Job one is a presentation problem. Job four is an accounting problem. A plugin that is excellent at the first and vague about the fourth will look fine in a demo and cause monthly reconciliation arguments a year later. If you want the underlying mechanics rather than a product comparison, the complete WooCommerce multi-currency guide covers how conversion, rounding and gateway handling actually work.
Aelia Currency Switcher for WooCommerce: What the £89.00 Buys
The Aelia Currency Switcher settings screen, with enabled currencies, exchange rate provider and automatic update scheduling.
The Aelia Currency Switcher lets a store hold real prices in several currencies at once, rather than displaying a converted version of one price. You can let it convert automatically from a rate provider, or type the exact figure you want charged in each currency, per product. Version 4.15 is current, the plugin has been in continuous release since 2013, and it holds a 4.94 average from 91 customer reviews.
It costs £89.00 ex. VAT per year for a single site. There is no free tier.
What It Does That the Free Options Do Not
Fixed prices per currency. Charge exactly 99,00 € rather than whatever 89.00 GBP converts to this morning.
Gateway routing per currency. Send euro orders to one merchant account and dollar orders to another, so you are not paying a conversion fee twice.
Currency-aware tax. Works alongside Tax Display by Country so a German shopper sees prices inclusive of VAT and a US shopper sees them net.
Subscriptions and bookings that hold their currency. A renewal three years from now bills in the currency the customer signed up in, via the free Subscriptions Integration add-on.
Per-currency rounding rules. Stops converted prices arriving as 87,43 € when you wanted a clean number.
Being plain about the limits, because they matter more than the feature list. The Currency Switcher is not a translation plugin and never will be; if you need multilingual content you still need WPML or an equivalent. It does not set different prices per country on its own either, which is a genuinely different job handled by Prices by Country. And there is no free version, so if your requirement really is display-only, you would be paying for capability you will not use.
CURCY Multi Currency for WooCommerce: The Free Route
CURCY, published by VillaTheme as “Multi Currency for WooCommerce”, is the most widely used free option in this comparison after WPML’s. It runs on 20,000 active installations with a 4.3 out of 5 average from 226 reviews. Version 2.2.16 arrived in August 2026 and is tested to WordPress 7.1, so it is actively maintained rather than abandoned.
The free tier covers the first two jobs properly: it adds a currency switcher as a widget, block or shortcode, converts prices from a rate provider, detects the visitor’s country to pick an opening currency, and lets you control the price format and symbol position. For a store that wants shoppers to browse comfortably and is content to settle every order in the base currency, that is a complete answer at zero cost.
The premium version adds checkout in the selected currency, per-currency payment method control and fixed per-currency pricing. The honest summary is that CURCY Premium and the Aelia Currency Switcher overlap substantially on paper. Where they differ is depth on the awkward cases: extension product types such as subscriptions, bookings, composite and bundled products, where prices are assembled from several components and each component has to convert correctly.
WPML Multi Currency (WCML): Multilingual First, Currency Second
WPML Multilingual and Multicurrency for WooCommerce, usually shortened to WCML, is the largest of the three by adoption: 100,000 active installations and a 4.2 out of 5 from 454 reviews, with version 5.5.7 current. The plugin itself is free but useless alone, because it requires a paid WPML licence to function.
Its multi-currency feature is genuinely capable. It supports manual prices per currency as well as automatic conversion, offers a currency switcher as widget, block or shortcode, shows different payment gateways per currency, and auto-switches based on visitor location. WPML also recommends manual prices per currency rather than live conversion, for exactly the reason Aelia does, which is that customers expect clean numbers.
If You Run WPML and Aelia Together, Read This First
WPML and the Aelia Currency Switcher are compatible, and plenty of stores run both. But you must disable WPML’s own multi-currency feature before enabling the Currency Switcher. Leave both active and two plugins will each try to rewrite the same product price, which produces intermittent wrong totals that are miserable to diagnose. Use WPML for languages and Aelia for money, or use WPML for both. Do not use both for money.
The catch with WCML is not the feature set, it is the dependency. You are adopting a full multilingual stack to get a currency feature. If the store is already on WPML, that is free capability you have paid for and should use. If it is a single-language store, WPML is a large amount of machinery to install for currency alone.
Side by Side: Currency Switcher for WooCommerce Feature Comparison
Capability
Aelia Currency Switcher
CURCY (VillaTheme)
WPML Multi Currency
Price
£89.00 ex. VAT / year
Free tier, paid premium
Free plugin, paid WPML licence required
Active installs
Sold direct from Aelia
20,000
100,000
Rating
4.94 from 91 reviews
4.3 from 226 reviews
4.2 from 454 reviews
Automatic exchange rates
Yes
Yes, free tier
Yes
Fixed manual price per currency
Yes
Premium only
Yes
Checkout in selected currency
Yes
Premium only
Yes
Gateway per currency
Yes, plus multi-account routing
Premium only
Yes
Geolocation auto-switch
Yes
Yes, free tier
Yes
Per-currency rounding rules
Yes
Partial
Partial
Subscriptions renew in original currency
Yes, via free add-on
Limited
Supported
Bookings and composite products
Yes, via free add-ons
Limited
Supported
Translation included
No
No
Yes, that is the point
Different price per country
Add Prices by Country
No
No
Read that table as three different shapes rather than three scores. CURCY is the cheapest way to solve display. WPML is the obvious choice if you are already multilingual. Aelia is the one built for the money layer, and it expects you to bring your own translation plugin. For a wider field including the free FOX switcher and WooPayments, see our comparison of the best WooCommerce multi-currency plugins.
Exchange Rate Conversion vs Manual Prices per Currency
This is the decision that matters most and the one most store owners make by accident. Automatic conversion takes your base price, applies today’s rate, and shows the result. Manual per-currency pricing means you decide the number in each currency and it stays there until you change it.
Automatic conversion is correct for large, fast-moving catalogues where nobody could realistically maintain thousands of per-currency figures. It is wrong for considered purchases, because it produces prices like 103,47 € that read as careless, and because your margin moves every day without you deciding that it should. A 4% swing in sterling against the euro is a 4% swing in your gross margin on every euro order.
How to Choose Between Them
Use automatic conversion when your catalogue runs to thousands of SKUs, margins are wide, and nobody will ever audit the euro price list.
Use manual per-currency prices when you sell a considered product, when price is part of your positioning, or when finance needs a predictable figure per market.
Use both in practice: automatic as the fallback across the catalogue, manual overrides on your top sellers. All three plugins support this pattern, Aelia and WPML in their standard versions, CURCY in premium.
Add rounding rules either way. Without them, automatic conversion is the single biggest source of prices that look wrong.
How Automatic Currency Detection Works in WooCommerce
All three plugins can open the store in a currency that matches the visitor rather than waiting to be asked, and all three do it the same way: read the visitor’s IP address, look it up against a GeoIP database, map the country to a currency. The differences are in what happens next.
Three practical points. First, geolocation and page caching fight each other, because a cached page is by definition the same for everyone; if your first visitor from Berlin warms the cache in euros, the next visitor from Leeds may get euros too. Aelia’s approach is a dedicated cache handler and per-currency cache variants, and this is the single most common cause of “the currency is wrong” reports on any plugin.
Second, detection should be a default and not a cage. The shopper must always be able to override it, and the choice must survive across pages. Third, a shared GeoIP library can collide: geo-blocking plugins such as Geo Redirect and iQ Block Country load the same library, and loading it twice crashes the request unless the Currency Switcher loads second. If you run a geo-blocking plugin alongside a currency plugin, test that combination specifically.
Payment Gateways, Subscriptions and Bookings in Multiple Currencies
This is job four, and it is where a comparison stops being about features and starts being about whether your accounts reconcile.
Gateways. Not every gateway accepts every currency, and those that do will often convert for you at a rate you did not choose, then charge a fee for the privilege. Showing a gateway that cannot settle the selected currency produces a failed payment at the last step, which is the most expensive place to fail. All three plugins can hide gateways per currency. Aelia goes further with multi-account routing, via the Aelia Currency Switcher and the PayPal Multi-Account gateway at £39.00 ex. VAT, so euro takings land in a euro account.
Subscriptions. A subscription signed in euros must renew in euros in 2029, at the agreed figure, regardless of where the exchange rate has gone or which currency the customer’s browser suggests today. Aelia handles this through the free Subscriptions Integration add-on, which requires Currency Switcher 3.3.11 or later; WPML supports it natively; CURCY’s coverage is thinner. If you sell subscriptions across borders, test a renewal on staging before you commit, because this is the failure that surfaces a month after launch rather than on day one.
Bookings and assembled products. Bookings, composite products and bundles build a price from parts: a nightly rate, an extra person, a chosen add-on. Each component has to convert, and the rounding has to happen once at the end rather than on every component, or the total will not match the sum of the lines. Aelia supports these through free integration add-ons rather than core, so the install order matters: activate both plugins first, then the add-on.
Common WooCommerce Multi Currency Pitfalls, and Which Plugin Avoids Them
Pitfall
What the customer sees
Best handled by
Cached pages serving the wrong currency
Prices in a currency they did not choose
Aelia, via a dedicated cache handler
Ugly converted prices
103,47 € instead of 99,00 €
Aelia or WPML, with manual prices
Cart total changes after switching currency
A different total at checkout than on the product page
All three, if rounding is configured once
Gateway rejects the currency
Payment fails at the final step
Aelia, CURCY Premium, WPML
Renewal bills in the wrong currency
An unexpected charge, then a refund request
Aelia or WPML
VAT shown wrongly to EU shoppers
Gross prices to a market expecting net, or the reverse
Aelia, with Tax Display by Country
Two plugins both rewriting the price
Intermittent wrong totals with no pattern
Nothing: disable one of them
The last row is the one worth reading twice. Most “multi-currency is broken” tickets are not a plugin defect, they are two plugins competing for the same job. Currency belongs to exactly one plugin on any store.
Which WooCommerce Multi Currency Plugin Should You Choose?
Step 1: Do You Need to Take Money in the Other Currency, or Only Show It?
Only show it: CURCY free tier. Take it: continue.
Step 2: Is the Store Already Running WPML?
Yes: use WPML’s multi-currency feature, it is already paid for. No: continue.
Step 3: Do Any of These Apply?
Fixed prices per currency; a separate merchant account per currency; EU VAT handled correctly per country; subscriptions or bookings that must hold their currency on renewal. If yes to any, that is the Aelia Currency Switcher. If no to all, CURCY Premium will likely do it for less.
Step 4: Do You Need Different Prices per Country Rather Than Converted Prices?
What Aelia Customers Say About the Currency Switcher
“The plugin itself is working great but what surprised me is the level of support you get for being an Aelia customer. I had an issue and received a 1000-word reply from Diego with a full explanation.”
Georgios Floropoulos
The Currency Switcher holds a 4.94 average from 91 reviews, and that support point comes up more often than any single feature. It is worth weighing when you compare a paid plugin against a free one: with the free options, your escalation path is a public forum thread. You can read more in our customer testimonials.
Frequently Asked Questions About WooCommerce Multi Currency Plugins
How Do I Change Currency in WooCommerce?
For the store’s single base currency, go to WooCommerce, then Settings, then General, and set the currency option. That changes the number’s label, not the amount, and every price stays as stored. To let shoppers choose their own currency you need a multi-currency plugin, because core WooCommerce supports exactly one.
What Is the Best Currency Switcher for WooCommerce?
There is no single best one, which is why the decision tree above asks about taking payment rather than displaying prices. CURCY is the strongest free option for display only. WPML’s feature is the right pick on a store already running WPML. The Aelia Currency Switcher is built for stores that need fixed per-currency prices, gateway routing, correct per-country tax and reliable subscription renewals.
Is There a Free Currency Switcher for WooCommerce?
Yes, several. CURCY by VillaTheme has a free tier on 20,000 active installations, and FOX by RealMag777 runs on around 50,000. Free tiers generally cover display, switching and automatic conversion, then charge for checkout in the selected currency and per-currency payment methods. Check that limit before you build a plan around a free plugin.
Does WPML Support WooCommerce Multi Currency?
Yes. WPML Multilingual and Multicurrency for WooCommerce, or WCML, includes multi-currency with manual prices per currency, gateway control per currency and location-based switching. The plugin is free but requires a paid WPML licence, and it is designed for multilingual stores rather than single-language ones.
What Is CURCY for WooCommerce?
CURCY is VillaTheme’s multi-currency plugin, listed as “Multi Currency for WooCommerce”. It runs on 20,000 active installations with a 4.3 out of 5 average from 226 reviews, at version 2.2.16. The free tier handles display, switching and conversion; premium adds checkout in the selected currency and fixed per-currency prices.
Can I Use the Aelia Currency Switcher and WPML Together?
Yes, and many stores do, but disable WPML’s own multi-currency feature first. Both plugins write to the product price, so running both currency engines at once causes intermittent wrong totals. Use WPML for languages and the Currency Switcher for money.
Do I Need a Multi-Currency Plugin or a Currency Converter?
A currency converter estimates, usually as a widget, and the customer still pays in your base currency. A multi-currency plugin changes the price the store actually charges. If the goal is fewer abandoned carts at checkout, you need the second one, because a converter leaves the surprise in place at the final step.
Try the Aelia Currency Switcher for WooCommerce
If the decision tree pointed at Aelia, you can test it against your own catalogue rather than a demo store. As the WooCommerce internationalisation experts, we would rather you found the edge cases during a trial than after launch.
Aelia Currency Switcher for WooCommerce
£89.00 ex. VAT, annual, single site. Single-site licence, a year of updates, direct support from the team that builds the plugin, a 14-day free trial and a 30-day money-back guarantee.
https://aelia.co/wp-content/uploads/2026/09/aelia-vs-curcy-vs-wpml-multi-currency-comparison.jpg8001200Josh Morleyhttps://aelia.co/wp-content/uploads/2014/07/AeliaLogo_201310.pngJosh Morley2026-09-22 11:45:002026-09-16 15:17:02Aelia Currency Switcher vs CURCY vs WPML Multi Currency: A Side-by-Side Test
Wrong currency for some visitors? It is almost always page caching, not geolocation.
“Unable to download the GeoIP database: forbidden”? Your MaxMind licence key is missing or wrong.
Fatal error traversing the database? Two plugins are loading the same GeoIP library twice.
Subscriptions renewing in the wrong currency? Geolocation should never decide a renewal. Lock it to the original order.
WooCommerce geolocation looks like a single checkbox. In practice it is a chain of four things that each fail in their own way, and when one link breaks the symptom the customer reports is almost never the thing that is actually wrong. A shopper in Leeds sees euros. A renewal charges in the wrong currency. A fatal error appears in the log at three in the morning and nobody can reproduce it.
This guide covers the four WooCommerce geolocation failures Diego sees most often in support, what causes each one, and how to fix it. It applies whether you use core WooCommerce geolocation on its own or alongside the Aelia Currency Switcher for WooCommerce.
How WooCommerce Geolocation Actually Works
Four steps, in order. Knowing which step you are debugging saves most of the time.
The WooCommerce Geolocation Chain
Read the IP address. WooCommerce takes the visitor’s IP from the request. Behind a proxy or CDN this is where it can already go wrong.
Look it up. The IP is checked against a local MaxMind GeoLite2 database file, which WooCommerce downloads and stores on your server.
Resolve a country. The lookup returns a two-letter country code, and nothing more precise than that.
Map the country to something useful. A currency, a tax rate, a shipping zone, a restricted region. This is the step your customer actually sees.
Two things follow from this that are worth saying plainly. Geolocation gives you a country, not a currency preference, so the mapping in step four is a business decision you make rather than something the database tells you. And every step happens server-side while the page is being built, which is exactly why caching is the most common cause of trouble.
Why WooCommerce Geolocation Shows the Wrong Currency
This is the number one report, and the cause is almost never the GeoIP database. It is page caching.
A full-page cache stores the finished HTML of a page and serves that same copy to the next visitor. Geolocation decides the currency while the page is being built. So the first visitor after a cache purge decides what everyone else sees until the cache expires. If that visitor was in Berlin, your Leeds customer gets euros, and no amount of checking the MaxMind settings will explain it.
How to Confirm It Is Caching in Two Minutes
Load a product page in a private window, note the currency, then load the same URL with a random query string appended, for example ?cb=12345. A query string usually bypasses the cache. If the currency is correct with the cache-buster and wrong without it, you have a caching problem and the geolocation is working perfectly.
The fix is not to disable caching, because that trades a currency bug for a speed problem. The fix is to make the cache aware of the currency so that each currency gets its own cached copy of the page. That is what the WooCommerce Cache Handler does, free of charge, for static caching systems including Cloudflare, SiteGround, WP Engine, Flywheel and W3 Total Cache. Without something doing that job, geolocation and caching will keep contradicting each other.
Three related causes worth ruling out while you are in there. A CDN in front of the site may strip or rewrite the visitor IP, so WooCommerce sees the CDN’s address rather than the customer’s. Corporate VPNs place people in the wrong country legitimately, which is not a bug. And a shopper’s manual currency choice must persist across pages; if it resets on navigation, the session is being lost rather than the geolocation failing.
Fixing “Unable to Download the GeoIP Database: Forbidden”
This notice means WooCommerce asked MaxMind for the GeoLite2 database file and MaxMind refused. It is an authentication failure, not a network fault, and it has been common since MaxMind began requiring a licence key for downloads.
Step 1: Create a MaxMind Account
Sign up for a free GeoLite2 account with MaxMind. The free tier is sufficient for country-level lookups, which is all WooCommerce needs.
Step 2: Generate a Licence Key
In your MaxMind account, create a new licence key. Copy it immediately, because it is shown once.
Step 3: Add the Key to WooCommerce
Go to WooCommerce, then Settings, then Integration, then MaxMind Geolocation, and paste the key. Save.
Step 4: Check the File Landed
WooCommerce stores the database under wp-content/uploads/. If the folder is not writable, the download will fail even with a valid key, so confirm the file exists and has a recent timestamp.
If the notice persists after all four steps, the usual culprits are a firewall blocking outbound requests from your server, or a host that disallows remote file downloads. Both are questions for your host rather than for WooCommerce.
Fixing GeoIP Fatal Errors When Two Plugins Clash
A fatal error mentioning the GeoIP or MaxMind library, appearing intermittently and impossible to reproduce on demand, usually has one cause: two plugins are loading the same library, and PHP will not allow the same class to be declared twice.
Geo-blocking and geo-redirect plugins ship their own copy of the MaxMind library, and so does the Aelia Currency Switcher. The Currency Switcher has detected this condition since version 2.3.5.131016 and will stand aside if the library is already present, but that only helps if it loads after the other plugin. If the Currency Switcher loads first, the other plugin tries to load the library again and throws the error.
Plugin
Status with the Currency Switcher
What to do
Geo Redirect
Compatible, load order matters
Ensure Geo Redirect loads first. The root fix belongs in Geo Redirect, which should check whether the library is loaded before loading it
iQ Block Country
Compatible from version 1.1.14
Update iQ Block Country to 1.1.14 or later and the clash goes away
Any other geo plugin
Test explicitly
Deactivate it, confirm the error stops, then reintroduce it and check load order
Plugin load order follows the order plugins were activated, which is why this bug often appears after an unrelated update or a site migration rather than on the day you installed anything. If you run a geo-blocking plugin alongside a currency plugin, test that specific combination on staging before every release.
Geolocation Rules for WooCommerce Subscriptions
Here is the rule that prevents the most expensive version of this problem: geolocation should decide the currency for a new visitor, and never for a renewal.
A renewal is processed by a scheduled task, not by a browser. There is no visitor, no IP address and no country to detect. If the renewal logic falls back to geolocation, or to whatever the store’s default currency happens to be, a customer who signed up in euros can be charged in pounds three months later. They notice, they ask for a refund, and your accounts now carry a currency mismatch against the original order.
The currency must come from the original subscription record. For the Aelia Currency Switcher that is handled by the free Subscriptions Integration add-on, which requires Currency Switcher 3.3.11.140619 or later. Note that with Subscriptions 2.x an update may be needed so that renewals and re-subscriptions resolve the right currency. Test one real renewal on staging before launch, because this failure surfaces a month after go-live rather than on day one. The same principle applies to bookings, which are covered in our WooCommerce checkout localisation checklist.
WooCommerce Geolocation Troubleshooting Checklist
Symptom
Most likely cause
Fix
Some visitors see the wrong currency
Full-page caching
Per-currency cache variants, via the Cache Handler
Everyone sees the same wrong country
CDN or proxy masking the visitor IP
Configure the real client IP header with your host
“Unable to download the GeoIP database: forbidden”
Missing or invalid MaxMind licence key
Generate a key and add it under Settings, Integration
Database never updates
wp-content/uploads/ not writable
Correct the directory permissions
Intermittent fatal error naming GeoIP or MaxMind
Two plugins loading the same library
Update or reorder the geo plugin
Renewal charged in the wrong currency
Renewal falling back to geolocation or the default
Read the currency from the original subscription
Currency resets when moving between pages
Session not persisting
Check session handling and object caching
Currency right on the product page, wrong at checkout
Checkout page cached separately, or a conflicting plugin
Exclude checkout from caching and audit for a second currency plugin
One more, because it accounts for a surprising share of tickets: two plugins both trying to own the currency. If a currency switcher and a separate price-by-country plugin are both active, they will fight over the same product price and produce intermittent wrong totals with no pattern. Currency belongs to exactly one plugin on any store.
Frequently Asked Questions About WooCommerce Geolocation
How Do I Enable Geolocation in WooCommerce?
Go to WooCommerce, then Settings, then General, and set “Default customer location” to “Geolocate”. If you use full-page caching, choose “Geolocate (with page caching support)” instead, which appends a country code to URLs so cached copies stay separated. You also need a MaxMind licence key under Settings, then Integration, or the lookup database will never download.
Why Is WooCommerce Geolocation Not Working?
In order of likelihood: page caching is serving one visitor’s version to everyone; the MaxMind licence key is missing so the database was never downloaded; a CDN or reverse proxy is masking the visitor IP; or a second plugin is also setting the currency. Test with a cache-busting query string first, because that single check rules in or out the most common cause.
Does WooCommerce Geolocation Need MaxMind?
Yes. Core WooCommerce geolocation uses the MaxMind GeoLite2 country database, and MaxMind requires a free account and a licence key before it will serve the download. Without the key you will see a “forbidden” notice and geolocation will silently do nothing.
Can I Use Geolocation With Page Caching?
Yes, but only if the cache is aware of the currency or country, so that each variant is stored separately. WooCommerce offers a caching-friendly geolocation mode, and for multi-currency stores the free WooCommerce Cache Handler adds per-currency cache variants for static caching systems including Cloudflare, WP Engine and W3 Total Cache. Without one of these, caching and geolocation will contradict each other.
How Accurate Is WooCommerce Geolocation?
Reliable at country level for most residential connections, and that is all WooCommerce asks of it. It will be wrong for VPN users, some mobile networks and corporate connections that route through another country. Treat the detected country as a sensible default the shopper can always override, never as a fact you enforce.
Why Did My Subscription Renew in the Wrong Currency?
Because the renewal did not read the currency from the original order. Renewals run as scheduled tasks with no visitor and no IP address, so if the logic falls back to geolocation or the store default it will pick the wrong currency. With the Aelia Currency Switcher, install the free Subscriptions Integration add-on, which requires Currency Switcher 3.3.11.140619 or later, and test a real renewal on staging.
Get Geolocation and Currency Working Together
Most geolocation problems are really currency problems wearing a disguise, and they are cheaper to prevent than to debug after launch. If you are running multi-currency on a cached store, the combination is what needs testing, not either part on its own.
Aelia Currency Switcher for WooCommerce
£89.00 ex. VAT, annual, single site. Geolocation-aware currency selection, a free cache handler for static caching systems, a single-site licence, a year of updates, direct support from the team that builds the plugin, a 14-day free trial and a 30-day money-back guarantee.
Aelia Prices by Country if you need different prices per country rather than converted ones.
https://aelia.co/wp-content/uploads/2026/09/woocommerce-geolocation-geoip-lookup-chain.jpg8001200Josh Morleyhttps://aelia.co/wp-content/uploads/2014/07/AeliaLogo_201310.pngJosh Morley2026-09-18 09:20:002026-09-16 15:16:59WooCommerce Geolocation Not Working? Fix the Four Common Causes
Dynamic Pricing holds its discount rules in your base currency and does not convert them, so on a multi-currency store a fixed discount of 10.00 stays 10.00 whatever currency the customer is in. Aelia publishes a free integration addon that converts those discounts into the active currency automatically. One limitation cannot be fixed from outside: Dynamic Pricing does not let you enter a separate discount per currency, because that would require changes to its own interface. The practical consequence is that percentage-based rules work cleanly across currencies and fixed-amount rules need checking.
Quantity breaks, category discounts and role-based pricing are the standard tools for shifting more units per order, and Dynamic Pricing has been the established WooCommerce option for them for years. On a single-currency store the rules behave exactly as configured.
Add a second currency and one class of rule quietly stops making sense. This review covers what Dynamic Pricing does, precisely where the multi-currency boundary sits, and how the Aelia stack handles it.
What Dynamic Pricing Does
Dynamic Pricing applies automatic price adjustments based on rules rather than coupon codes. It is published by Element Stark and sold through the WooCommerce marketplace, currently at version 3.4.15, priced at £97 per year on the one-year plan.
The mechanism is a rules engine that evaluates the basket and adjusts prices before totals are calculated. Because it works on rules rather than codes, the customer does not have to do anything, and the discount appears as part of the price rather than as a line-item deduction.
It suits a merchant selling in volume where order size is the lever: trade and wholesale accounts, consumables bought in multiples, or a catalogue where category-wide promotions run regularly. The role-based pricing feature also makes it a common choice for stores serving both retail and trade customers from one catalogue.
Key Features
Advanced product pricing, configuring a table of quantities and matching discount amounts for each individual product.
Advanced category pricing, applying tiered discounts across a whole product category based on purchase quantity.
Simple category pricing, setting one fixed or percentage adjustment for every item in a category.
Simple role-based pricing, discounting the whole catalogue for users in roles you define, such as trade or member accounts.
Fixed or percentage adjustments, chosen per rule rather than globally.
Automatic application, evaluating rules against the basket without the customer entering a code.
Vendor terms, including product updates, support and a 30-day money-back guarantee.
Where Dynamic Pricing Falls Short on International Stores
The gap is multi-currency, and unlike some integrations it splits cleanly along one line: whether your rule is a percentage or a fixed amount.
Percentage rules are currency-agnostic. Ten percent off is ten percent off whether the price is in pounds, euros or yen, so these rules survive a currency switch intact.
Fixed-amount rules are not. A rule that takes 10.00 off is stored as the number 10 in your base currency. Switch the customer to a currency where the base unit is worth considerably less and that same 10 becomes a materially different discount. At best the margin is wrong; at worst a low-value order can be discounted close to nothing or below cost.
Discount tiers are entered once, in the store’s base currency. Percentage tiers translate across currencies without further work; fixed-amount tiers need converting, which is what the integration addon does.
As with any third-party pricing plugin, this is a boundary rather than a defect. Dynamic Pricing controls its own discount logic, and multi-currency awareness has to be built by whoever owns that logic. Aelia’s addon reaches what it can from outside, and the following section is explicit about what it cannot.
How Aelia Fits With Dynamic Pricing
Compatibility Status
Status
Compatible, requires the free integration addon
Tested with
Aelia Currency Switcher only. The other Aelia plugins below operate at separate layers; see each status note.
PHP 7.1+, WordPress 4.7+, WooCommerce 2.6.x to 3.6.x, Currency Switcher 4.4.6.170120+, Aelia Foundation Classes 1.8.3.170202+
Known limitation
Dynamic Pricing does not allow discounts to be entered per currency. This needs changes to its own interface and cannot be added by an external addon
Dynamic Pricing version
3.4.15 (Element Stark’s current release, verified 17 August 2026)
Support
The addon is free and does not include support. Paid consultations are available at hourly rates
Two figures worth confirming yourself
The addon page lists a supported range of WooCommerce 2.6.x to 3.6.x. WooCommerce has moved well beyond that, so treat the stated ceiling as out of date rather than as a hard limit, and test on staging against your actual WooCommerce version.
The addon page attributes Dynamic Pricing to a different author than the vendor listing currently shows. The marketplace listing names Element Stark, which is what this review uses.
Neither point stops the addon working. Both are the kind of documentation drift worth raising with support before you commit a live store to it.
Aelia Currency Switcher
Status: fully tested with Dynamic Pricing.
The Currency Switcher handles pricing and payment in multiple currencies, refreshing rates automatically from providers including Open Exchange Rates and OFX, and storing the applied rate against each order. With the free integration addon active, discounts entered in your base currency are converted into the active currency, which fixes the fixed-amount problem described above. Read more on the Currency Switcher product page, £89.00 ex. VAT.
Aelia Prices by Country
Status: not separately tested. Prices by Country also adjusts product prices, so on a store where Dynamic Pricing controls discounting the two can overlap. Verify the interaction on staging before going live.
As a capability, Prices by Country reads the visitor’s country by geolocation and substitutes a deliberately set regional price rather than a converted one. This is the honest answer to the per-currency discount limitation: rather than trying to vary the discount by market, vary the price by market and keep the discount as a percentage. Because both plugins write to the product price, treat this as a combination to test, not a documented integration. Read more on the Prices by Country product page, £69.00 ex. VAT.
Aelia Tax Display by Country
Status: no known issues. Operates on tax display, a separate layer from Dynamic Pricing.
Tax Display by Country shows prices with or without tax depending on the visitor’s country, resolved by IP geolocation. It matters here because trade customers on role-based pricing usually want ex-VAT figures while consumers expect inclusive ones, and that is a display decision rather than a discount one. It should run alongside Dynamic Pricing without conflict. Read more on the Tax Display by Country product page, £69.00 ex. VAT.
Tax Display by Country matters on a store running role-based pricing: trade accounts generally want the ex-VAT figure while consumers expect the inclusive one.
Stack Recommendation
For a store running trade and retail pricing across several currencies, run Dynamic Pricing plus the Currency Switcher plus the free integration addon, keep your rules percentage-based wherever possible, and add Tax Display by Country so trade accounts see ex-VAT pricing.
Setup Notes
Install order matters, because the addon looks for both plugins when it activates.
Install the free Aelia Foundation Classes (AFC), version 1.8.3.170202 or newer.
Install and activate the Aelia Currency Switcher, version 4.4.6.170120 or newer, and set your base currency first.
Three things to check afterwards. First, audit your existing rules and note which are fixed-amount and which are percentage; the fixed ones are the only ones that depend on the addon behaving correctly. Second, confirm your base currency before writing rules, because every fixed amount is expressed in it. Third, test a rule at a tier boundary in a non-base currency, since rounding after conversion can move an order across a quantity threshold in ways a single-currency test never reveals.
Before you go live
Every fixed-amount rule converts correctly in at least two non-base currencies
Percentage rules produce the same proportion in every currency
A basket sitting exactly on a quantity tier boundary discounts correctly after conversion
Role-based pricing applies to trade accounts in their own currency
The exchange rate is recorded against a test order, so a later refund uses the original rate
What Aelia Customers Say
“This plugin works well and Diego was extremely helpful getting a few bugs fixed within hours. I’m impressed by his level of customer support.”
Bart, Tax Display by Country, 5 stars
Worth knowing because integrations between plugins from different vendors are exactly where turnaround time matters. The free addons do not include support, but the Currency Switcher licence does.
FAQ
Does Dynamic Pricing Work With Multi-Currency Out of the Box?
Partly. Percentage-based rules translate across currencies without any extra work, because a percentage is currency-agnostic. Fixed-amount rules do not: the amount is stored in your base currency and is not converted, so it becomes a different real discount in every other currency. The free Aelia integration addon converts them.
Do I Need the Free Integration Addon?
If you use any fixed-amount discount rules on a multi-currency store, yes. If every rule you run is a percentage, the addon matters less, though installing it is harmless and protects you the first time somebody adds a fixed-amount rule. It is free, needs no configuration, and should be activated after both other plugins.
Can I Set a Different Discount for Each Currency?
No, and this is the one limitation that cannot be worked around externally. Dynamic Pricing’s interface does not provide per-currency discount fields, and adding them would mean modifying the plugin itself. The practical alternative is to keep discounts as percentages and vary the underlying price per market using Prices by Country instead.
Can I Set Different Prices per Country Rather Than Discounts?
Yes, and for international stores it is often the better structure. Our comparison of regional pricing versus multi-currency explains when a chosen per-country price beats a converted one, and how the two layers stack.
What Happens to Tax When the Currency Changes?
Tax is calculated on the discounted, converted price, so the rate applies as normal. Whether that price is shown inclusive or exclusive of tax by country is a separate presentation decision, handled by Tax Display by Country. If you sell into the EU, our guide to WooCommerce EU VAT compliance covers the rules that sit behind it.
Get Dynamic Pricing and Aelia Running Together
Fourteen days, your real rules, your real currencies. The integration addon is free, so the trial covers the Currency Switcher only.
Premium licence, single site, annual, £89.00 ex. VAT. Updates and support included. 14-day free trial. 30-day money-back guarantee. Diego personally answers tickets.
A localised checkout is three layers on one foundation. The foundation is country detection, and if it resolves late everything above it is wrong. The layers are currency (what they pay in), language (what they read), and tax display (whether the price includes VAT). Get those right and you also have to match checkout fields to local address formats and offer payment methods people in that market actually use. Most abandoned international carts are not a trust problem, they are one of these six things being visibly wrong.
An international customer arriving at checkout assesses four things, largely without articulating them: whether the price is denominated in their currency, whether the total matches what the catalogue displayed, whether the address fields match the format they expect, and whether their usual payment method is available.
Any one of these failing is sufficient to lose the order. None of them are trust problems in the conventional sense. They are configuration problems, and each one is fixable. This checklist covers them in the order the customer encounters them.
Three layers, one checkout. They are usually handled by three different tools, which is why stores commonly have two of the three configured correctly and one not.
What Checkout Localisation Covers
Localisation is often reduced to translation. Translation is one layer of it, and on a store it is rarely the layer costing you the most money.
The full set, in the order a customer encounters it:
Country detection. Which market are we in
Currency. What the prices are denominated in, and what the card is actually charged in
Tax display. Whether prices show inclusive or exclusive of VAT
Language. Interface strings, product copy, emails
Checkout fields. Address format, postcode rules, state or province requirements
Payment methods. What is on offer at the final step
A store can get language perfect and still lose the customer at a price shown in the wrong currency. The reverse is also true, and both are common.
The Foundation: Detecting the Customer’s Country
Everything above depends on resolving the country, and resolving it before the catalogue renders, not at checkout. If a visitor browses in one currency and reaches checkout in another, you have created the exact surprise localisation is meant to prevent.
Detection first, then currency, then tax, then checkout. Resolve the country late and every downstream layer inherits the error.
In practice detection means IP geolocation, with two refinements that matter:
An explicit override. Always let the customer choose. Expats, travellers and VPN users will get detected wrongly, and a visible selector turns a bug into a preference
A defined default. Decide what happens when detection fails, because it will. Falling back to your home market is fine as long as it is deliberate
Two things get conflated here, and the difference decides which tool you need.
Display conversion shows a converted figure but charges the base currency. The customer sees roughly what they will pay, then their bank applies its own rate and often a cross-border fee. The final statement does not match the checkout total.
Charging in currency means the transaction is denominated in the customer’s currency. The amount on the statement matches the amount at checkout.
The second reduces both abandonment and card declines, and it is what most merchants think they are buying when they install a currency plugin. Our complete WooCommerce multi-currency guide covers the distinction and how gateway support constrains it.
Currency checks worth confirming
Store the exchange rate against the order. Without it, a refund three months later uses today’s rate and you lose or gain money arbitrarily
Check your gateway supports the currency before you offer it. Not every gateway settles every currency, and a decline at the final step is the most expensive failure point on the site
Round after conversion. 46.20 reads as a conversion; a rounded figure reads as a price
Watch subscriptions. A subscription created in one currency should keep renewing in it, not silently re-convert each cycle
Layer Two: Language
Language is the layer most people start with, and the one with the most mature tooling. WPML and Polylang both handle it, and both integrate with the currency layer rather than replacing it.
The parts that get missed are rarely the product pages:
Transactional emails. Order confirmations often ship in the store’s default language even when the site is translated
Checkout field labels and validation messages. A translated page with an English “invalid postcode” error is worse than no translation
Currency and number formatting. Decimal commas versus points, and where the symbol sits, vary by locale and are a separate setting from language
Legal pages. Refund and terms pages carry the most weight for a hesitant international buyer
One decision worth making early: language and country are not the same axis. A Belgian customer might want French or Dutch. Treating language as a function of country will eventually produce the wrong result for some customers.
Layer Three: Tax Display
This is the layer stores skip, and it is where the price a customer sees stops matching what they expect.
EU consumers expect VAT-inclusive pricing, and in most member states showing consumers ex-VAT prices is not permitted. A German shopper seeing a figure that grows 19% at checkout will usually leave. A VAT-registered business buyer expects the opposite, because ex-VAT is their real cost.
The same catalogue therefore has to render two ways depending on who is looking, decided before checkout.
Tax Display by Country resolves the visitor’s country by IP and switches the catalogue between inclusive and exclusive pricing.
Tax display is a presentation job, not a compliance one. Getting VAT filed correctly is separate work, and our guide to WooCommerce EU VAT compliance covers the thresholds, OSS, reverse charge and VIES validation side, including which tools actually handle filing.
“Works like a charm. The support is great, even when things are out of their control. Using this together with the currency switcher to select billing country, currency and tax display with just one click.”
Jimmy, Tax Display by Country, 5 stars
Checkout Fields That Change by Country
WooCommerce already localises address formats for many countries, but the defaults do not fit every market and the gaps present as friction at the final step.
Field
What varies
Where it matters
Postcode
Format, and whether it exists at all
Ireland, Hong Kong, UAE
State or province
Required, optional, or absent
US and Canada require, most of Europe does not
Address line order
House number before or after street
Germany, Netherlands
Company and VAT number
Needed for B2B reverse charge
All EU B2B sales
Phone
Country code handling
Anywhere you ship with a courier
The country codes underneath all of this are worth getting right at the data level. Our guide to WooCommerce country codes covers the ISO 3166-1 alpha-2 codes plus the US and Canadian state codes that cause errors for stores selling both sides of the Atlantic.
Payment Methods by Market
Card coverage is not payment coverage. In several large European markets the dominant method is not a card at all, and its absence reads as the store not being meant for that customer.
Netherlands: iDEAL carries the majority of consumer e-commerce
Germany: bank transfer and invoice-based methods remain heavily used
Poland: BLIK and local bank transfer
Nordics: Klarna and local mobile schemes
Two practical points. First, filtering methods by currency or country keeps the checkout clean rather than showing everyone everything. Second, verify each gateway settles the currency you are charging in, because a method that appears and then declines is worse than one that never appeared.
Subscriptions and Recurring Orders Across Currencies
Subscriptions are where a localised checkout most often breaks quietly, because the failure happens months after the sale and nobody connects it back to configuration.
The rule to hold to is that a subscription created in a currency should keep renewing in that currency, at the terms the customer agreed to. If a renewal re-converts at the current rate, the amount taken drifts from the amount signed up for. Some customers will not notice. Others will treat an unexpected charge as an unauthorised one, and a chargeback costs considerably more than the difference.
What to verify before you offer subscriptions internationally:
The currency is stored on the subscription itself, not read from the current store setting at renewal time
The gateway supports recurring payments in that currency, not just one-off payments
Renewal emails show the same currency and formatting as the original order
Switching a customer’s display currency does not silently alter an active subscription
The same applies to any deferred transaction: pre-orders, deposits, instalments and partial refunds all depend on the original rate being retrievable rather than recalculated.
Shipping and Delivery Expectations by Market
For physical goods the delivered total and the delivery date are judged together, and both are local questions.
Quote shipping to their country before checkout. A generic shipping page is not the same as a figure for their address. Cost revealed late is the most cited abandonment reason in every survey that asks
State whether duty and tax are included. Since the EU removed the €150 customs duty exemption on 1 July 2026, low-value consignments now attract duty as well as VAT. A customer receiving an unexpected courier invoice will remember it as your error
Give a delivery window, not a dispatch time. Cross-border buyers are estimating a date, and “ships in 2 days” leaves them doing arithmetic they will get wrong
Say what happens with returns. Who pays return postage across a border is the top unspoken hesitation on a first international order
Testing a Localised Checkout Before You Trust It
Localisation fails silently, because everything looks right from your own IP. A short test pass catches most of it.
A ten-minute test pass
Browse from a VPN in three target markets and confirm the currency, tax treatment and language all change together, not one at a time
Add to basket in one country and complete checkout, checking the total never changes between catalogue and payment
Place one real low-value order per market and read the confirmation email as the customer receives it
Force a detection failure by blocking geolocation, and confirm the fallback is your intended default rather than a broken page
Check the order record afterwards stores the country, the currency and the exchange rate applied
The last item is the one to insist on. If the order does not record what the customer was shown, you cannot investigate a dispute, process a fair refund, or reconcile revenue by market later.
“To anyone looking at this plugin, we have found Diego’s support for the two plugins we have purchased, Currency Switcher and Tax Display by Country, to be second to none. There was an issue we had with one of the plugins and he uploaded an update within a few hours.”
Rik, Currency Switcher and Tax Display by Country, 5 stars
Checkout Optimisation: The Conversion Layer
With localisation handled, ordinary checkout optimisation applies, and international traffic is less forgiving of friction than domestic traffic.
Show the total early, including tax and shipping. Surprise costs at the last step are the most cited abandonment reason in every survey
Do not force account creation. Guest checkout matters more for a first-time buyer from an unfamiliar country
Cut optional fields. Every field is a chance to reconsider
State shipping cost and time to their country before checkout, not on a generic policy page
Show the refund position plainly. Cross-border returns are the top unspoken hesitation
The Full Localisation Checklist
Country resolves by IP before the catalogue renders, with a visible override and a deliberate fallback
Prices display in local currency throughout, not only at checkout
The transaction is charged in that currency, not just displayed in it
The exchange rate is stored against every order for refunds and reporting
Every offered currency is supported by at least one live gateway
Converted prices are rounded to a local convention
Prices show VAT-inclusive to consumers and ex-VAT to validated business buyers
Interface, product copy, emails and validation messages are all translated
Number and currency formatting follow the locale, not the language
Address fields match local format, with postcode and state rules correct
Company and VAT number fields available for B2B reverse charge
Local payment methods offered in your top markets, filtered by country or currency
Total including tax and shipping visible before the final step
Guest checkout available
Shipping cost, delivery time and refund terms stated for their country
The Three Plugins That Cover the Layers
Language aside, which WPML or Polylang handle, the three layers map to three tools:
Currency Switcher, £89.00 ex. VAT. Pricing and payment in multiple currencies, automatic rates, rate stored against each order, gateway filtering by currency.
Tax Display by Country, £69.00 ex. VAT. Inclusive or exclusive price display resolved by visitor country via geolocation.
Prices by Country, £69.00 ex. VAT. Deliberate per-country prices rather than exchange-rate output, plus per-country availability.
Adapting the buying experience to the customer’s market: currency, language, tax display, address fields and payment methods, all driven by their detected country. It is broader than translation, and the non-language layers usually cost more in lost conversion.
Does WooCommerce Support Multiple Currencies by Default?
No. Core WooCommerce has one store currency and shows every price in it. Multiple currencies, and charging in them rather than just displaying them, require an extension.
How Do I Detect a Customer’s Country in WooCommerce?
Through IP geolocation, which WooCommerce supports natively for tax and shipping estimates. For it to drive currency and tax display it has to resolve before the catalogue renders, and you should always pair it with a manual override for travellers and VPN users.
Should Prices Include VAT for International Customers?
For EU consumers, yes, and in most member states showing them ex-VAT prices is not permitted. For VAT-registered business buyers the ex-VAT figure is the useful one. That means the same catalogue needs to render both ways depending on the visitor.
Do I Need Local Payment Methods to Sell Internationally?
Not to start, but they matter more than most merchants expect in specific markets. iDEAL in the Netherlands, BLIK in Poland and Klarna across the Nordics carry large shares of consumer e-commerce, and their absence reads as the store not being intended for that customer.
Does Localisation Handle My VAT Returns?
No. Currency, tax display and pricing tools change what the customer sees and pays. Filing returns, OSS reporting and VAT number validation are a separate category of tool. The two are easy to conflate and are worth budgeting for separately.
Start With the Currency Layer
Fourteen days, your real catalogue, your real customers. Currency is the layer with the largest single effect on international conversion, so it is the sensible one to test first.
Premium licence, single site, annual, £89.00 ex. VAT. Updates and support included. 14-day free trial. 30-day money-back guarantee. Diego personally answers tickets.
The new Aelia website is live, and we have great news!
/in Announcements, NewsWe launched our new website, with a new look and new features
At the beginning of October 2021, we went live with a new website, completely redesigned. The work took significantly longer than we expected, but the important thing is that we finally made it. The new website has a more modern look, a colour scheme that’s easier on the eyes, and it’s also significantly faster. Our tests indicate that it’s up to 30% faster than the previous one, but we will still work to optimise it, to offer you the best experience.
In addition to the look, we made an important change to how we distribute our products. We partnered with our friends at Freemius, and moved all our solutions to their platform. From now on, the Freemius service will take care of handling sales, licensing and distribution for all the Aelia plugins, giving us more time to focus on improving the solution that our customers grew up to know and trust over the years.
The advantages for our visitors and customers
The series of improvements we applied to our site will bring significant advantages. It would take time to list every single change, therefore we prepared a short summary, for your convenience.
New design
We improved the look of the website, using softer colours. This will make it easier to navigate the content and find the information you need. The new layout also includes better support for mobile devices. Mobile browsing is a key aspect of the Internet and, although most of our visitors and customers reach our site via a desktop, we wanted to cater to our “mobile friends” as well. As a further cosmetic touch, we replaced the old, ugly icons with much better ones.
Freemius integration
We moved all our products to an external service, called Freemius, to offer you a better user experience, right from the moment you choose to purchase one of our solutions. To explain the reason behind this decision, we would like to share a bit of “background story”.
As soon as we launched our first premium product, the Aelia Currency Switcher for WooCommerce, we faced a challenge that turned out to be harder than we thought. It was 2013, and neither WordPress, nor WooCommerce offered a reliable, scalable solution to manage software licences and distribute updates for our products. We tested some of the available plugins, but none of them worked too well for us. In some cases, we even received a disgruntled response from the author of a plugin, when we asked about the feature set, so that was a clear roadblock.
Our first solution – The Aelia Licensing System
Due to the lack of a suitable solution, we opted to implement our own licensing system, starting from scratch. For the last couple of years, our Aelia Licensing System has been handling licences and serving automatic updates to thousands of our customers. This worked fine for us, until we had to face some important challenges:
Our new choice – Freemius
With so many different aspects to handle, we realised that we could not longer rely on our own resources. Due to that, we tested the Freemius platform, and found that it allowed us to address all the above, automatically. Their service handles automatic renewals, is fast, and it can serve customers from the EU, the UK and abroad. This allows us to reach a broader audience, remain fully compliant with VAT regulations and save a significant amount of paperwork.
The Freemius platform offers our customers a modern, responsive and performing user interface. Thanks to that, our clients can find what they need, quickly and easily. On top of that, the work we did for the integration can also benefit our fellow developers!
If you’re a plugin developer interested in Freemius, we have something for you
The Freemius platform offers a simple integration guide. We could have just followed the instructions anded add a purchase link on our website, manually, on each product page. However, as Engineers, we like to automate these aspects, so we came up with a solution. We prepared a Freemius Integration plugin , which allows to link a WooCommerce shop to the Freemius service. Some of the key features:
If you wish to see the Freemius Integration in action, you can simply visit one of our product pages. You can find the purchase widget towards the bottom of the page, or simply click on the “buy plugin” button to scroll right down to it.
Interested in the Freemius Integration for WooCommerce?
If you would like to know more about the Freemius Integration for WooCommerce, please feel free to contact us. We will be happy to share more details about it, and collect your feedback and feature requests, in preparation for its release to the public.
Aelia Receives All-Star Quality Mark from AIBF for the second year in a row
/in Blog, NewsOur beloved Grinzing, located in one of the most beautiful districts of Vienna, has received a massive boost this week with one of the resident businesses achieving international recognition for excellence, confirming its highest standards of service and trust. Diego Zanella, the founder of Aelia, was awarded the coveted All-Ireland Business All-Star accreditation for the second year in a row. One might ask why an Austrian business, founded by an Italian entrepreneur, would receive such an important accreditation from a foreign country, and it would be a legitimate question. The answer is simple, yet interesting.
Some background story
Diego Zanella founded Aelia in Ireland, in 2013. From the first day, he founder focused all its efforts in producing high quality solutions, and offering top class service, to owner of e-commerce websites. Thanks to the flexibility offered by modern technologies, the business can operate from anywhere in the world, while still keeping in touch with its thousands of customers. Aelia moved around Ireland a couple of times, then, in mid-2019, Diego Zanella planned a relocation to Austria.
The All-Ireland Business Foundation came into play, just in time
At the beginning of the same year, he had submitted Aelia to the selection for the Business All-Star accreditation. He was supposed to receive answer was supposed within a couple of days, and the selection process take a few weeks. However, due to a technical issue, the submission remained “pending” much longer than it should have. As soon as the All-Ireland Business Foundation Team found it, they reviewed the performance of both Aelia and its founder. The score was high enough to place them amongst the top candidates. Even though our founder informed the AIBF Team of the imminent relocation abroad, they were more than happy to let our application proceed anyway. Then, in October 2019, Diego Zanella received the first Business All-Star accreditation.
In 2020, the AIBF Team contacted our founder again. Although our Aelia and its founder are no longer resident in Ireland, their result were so high that the Foundation offered to make an exception, and participate to the selection again. Diego Zanella was given the opportunity to become the first “ex-indigenous entrepreneur” to be accredited by the All-Ireland Business Foundation.
Obviously, since we’re writing about it, the result was a success. At the end of October 2020 (yes, we’re a bit slow with news), Aelia’s founder received the accreditation certificate, confirming Diego Zanella as a Thought Leader in e-commerce and WooCommerce solutions.
Aelia – Certificate of Accreditation 2020
Due to the ongoing COVID-19 pandemic, the Gold Medal Ceremony was replaced by an online event. Our founder, Diego Zanella, attended it on the 30th of October, 2020.
The importance of get accredited for the second year
Like in 2019, we are pleased to have reached the high standard required by the the Business All-Star accreditation. We strive to keep high level of performance, trust and customer satisfaction that distinguishes our offer . Furthermore, we are the first to having been invited to participate into the selection, despite the business being now resident in another EU country, and it feels like a special honour. The All-Ireland Business Foundation is so impressed by our results that they would like to keep us in their register of top class companies. 👍
We would like to thank everyone for your continued support. Our customers, who keep trusting, our business partners, with whom we will be working on more incredible projects and, most importantly, our families.
Thanks again for your invaluable help. We wouldn’t be here, if it weren’t for you. 🙏
The Aelia Team
WooCommerce Composite Products: Rounding Drift and Patch Risk
/in BlogTL;DR
Composite Products turns a WooCommerce product into a guided build: pick a frame, pick a lens, pick a strap, see one price. It is one of the more powerful things you can do with WooCommerce, and it is also one of the harder things to get right across currencies, because the final price is assembled from parts rather than stored as a number.
This review is more cautious than most in this series, and deliberately so. Composite Products and the Aelia Currency Switcher for WooCommerce do work together, but the mechanism that makes them work is a patch rather than a supported hook, and you should know that before you build a store on it.
What WooCommerce Composite Products Does
Composite Products lets you define a product as a set of components, attach a selection of real products to each component, and let the customer configure their way through them. It sells on the official WooCommerce marketplace at $112.00 per year for a single site, which makes it one of the pricier extensions in the catalogue.
It suits stores where the customer is genuinely specifying something rather than picking a variation: bicycles, PCs, furniture, hampers, made-to-order equipment. The pricing model is the part that matters here.
The Two Pricing Modes, and Why They Differ in Multi-Currency
Where Composite Products Falls Short on International Stores
The compatibility note in Aelia’s own records is blunt about the cause: Composite Products lacks multi-currency support, and the Aelia patch covers that gap rather than the plugin handling it natively.
Two symptoms follow from that. The first is rounding drift. If each component is converted and rounded on its own, five components can each gain or lose a penny, and the displayed total will not match the sum of the lines the customer can see. On a £1,200.00 bicycle build nobody notices a penny; on a hamper of twelve items priced to the penny, somebody always does.
The second is configuration-dependent behaviour. A composite whose components are all simple products usually converts cleanly. Introduce variable products, per-component fixed adjustments, or a component whose price comes from another extension, and each of those paths has to be converted too. This is why “it worked in testing” is not the same as “it works”, and why the test that matters is a full configuration rather than the default one.
Rounding Drift on a Composite Product, in Numbers
This is the failure that generates support tickets, so it is worth seeing the arithmetic. A five-component hamper, priced from components, at 1.15 euros to the pound.
In this case the two approaches happen to agree. Change one component price by a penny and they stop agreeing, and the customer sees a total that is one or two cents away from the sum of the lines printed directly above it. Nobody loses money over two cents. What you lose is the customer’s confidence in the page, and that is harder to win back than the cents are to recover.
There are only two robust answers. Round once, at the composite total, and let the component lines be display values. Or use a fixed composite price so there is nothing to sum in the first place. The second is stronger, and it is the configuration worth arguing for whenever the catalogue can accommodate it.
The Compatibility Position, Stated Plainly
Compatibility Status: Compatible, See Notes
Requirements: Aelia Currency Switcher 3.9.11.160928 or later.
The note, in full: a temporary patch covers the lack of multi-currency support in Composite Products. That patch may break when Composite Products is updated.
This is a materially weaker guarantee than a maintained integration add-on. It is not a reason to avoid the combination, but it is a reason to own a staging site and to re-test after Composite Products updates.
It is worth being clear about how this differs from the rest of the range, because the difference is the whole point of reading a compatibility note rather than a tick in a table.
Composite Products and Product Bundles sit in the same category, and for the same underlying reason: the plugin itself is not currency-aware, so something external has to stand in until it is. The durable fix is upstream, in Composite Products.
How to Set Up Composite Products With Multi-Currency Safely
Step 1: Get the Version Floor Right
Confirm Aelia Currency Switcher 3.9.11.160928 or later. Earlier versions are not covered by the patch.
Step 2: Prefer a Fixed Composite Price Where You Can
A fixed price for the whole composite converts like an ordinary product and sidesteps per-component rounding entirely. Use component-calculated pricing only where the catalogue genuinely requires it.
Step 3: Set Rounding Once, at the Total
Configure per-currency rounding in the Currency Switcher so the composite total is tidied once rather than component by component.
Step 4: Test the Most Complex Configuration You Sell
Not the default. Build the composite a real customer would build, with the maximum number of components, switch currency, and check the product page, the cart and the order confirmation all agree.
Step 5: Re-test After Every Composite Products Update
This is the step that matters most, and the one everybody skips. Add it to your update routine rather than trusting it.
Which Aelia Plugins Fit a Composite Products Store
The Prices by Country caveat carries extra weight on a composite store. Both the composite pricing engine and Prices by Country influence the product price, so on a component-calculated composite you have two systems writing to the same value. That combination needs proving on staging, not assuming.
What to Check After a Composite Products Update
Because the compatibility rests on a patch, updates are the risk point. This is the routine worth adding to your release process, and it takes about ten minutes.
Run this on staging with the most complex composite in your catalogue before the update reaches production. If a check fails, hold the update and raise it with Aelia support rather than patching it yourself, because the patch is maintained centrally and a local edit will be overwritten by the next Currency Switcher release.
When Composite Products Is the Wrong Tool
Worth saying, because $112.00 per year plus a moderate update risk is not the right answer to every configuration problem.
If the customer is genuinely specifying a build, Composite Products earns its price. If they are picking one of three finishes, you are buying complexity you do not need, and the multi-currency risk comes along with it.
Frequently Asked Questions About Composite Products and Multi-Currency
Does WooCommerce Composite Products Support Multi-Currency?
Not on its own. Composite Products has no multi-currency support built in. The Aelia Currency Switcher covers the gap with a temporary patch from version 3.9.11.160928 onwards, so the combination works, but the patch can break when Composite Products is updated. Re-test after each update.
Why Does My Composite Total Not Match the Component Prices?
Rounding applied per component rather than once at the total. If each converted component is rounded individually, the small differences accumulate and the total drifts from the visible sum of the lines. Configure per-currency rounding so it is applied once to the composite total, and prefer a fixed composite price where the catalogue allows it.
Is a Temporary Patch Safe to Run on a Live Store?
Plenty of stores run it without incident, and Aelia maintains it. The honest risk is that it is not an officially supported extension point, so a Composite Products update can change the behaviour it depends on. Treat it as a dependency worth monitoring: keep a staging site, test a full composite configuration in a second currency after each update, and do not update Composite Products on a Friday.
How Much Does WooCommerce Composite Products Cost?
Composite Products is sold on the official WooCommerce marketplace at $112.00 per year for a single site. The Aelia Currency Switcher is £89.00 ex. VAT per year for a single site, and no paid add-on is needed for the Composite Products patch.
What Is the Difference Between Composite Products and Product Bundles?
A bundle is a fixed set of items sold together at one price. A composite is a guided configuration where the customer chooses each component and the price follows their choices. Both lack native multi-currency support and both rely on an Aelia temporary patch, so the same testing discipline applies to each.
Can I Set Composite Prices Manually per Currency?
Yes, if you use a fixed price for the composite rather than calculating from components. A fixed composite price behaves like an ordinary product price, so you can set a deliberate clean figure in each currency instead of accepting a converted one. This is the most robust configuration available on an international store and it avoids per-component rounding entirely.
Sell Configured Products in Multiple Currencies
Composite stores tend to carry high order values, which is exactly why a rounding drift or a currency mismatch costs more here than elsewhere. Test the combination properly and it runs quietly for years.
Aelia Currency Switcher for WooCommerce
£89.00 ex. VAT, annual, single site. Per-currency rounding rules, Composite Products support from version 3.9.11.160928, a single-site licence, a year of updates, direct support from the team that builds the plugin, a 14-day free trial and a 30-day money-back guarantee.
View the Aelia Currency Switcher
Keep Reading on Assembled Products and Currency
WooCommerce Product Add-ons: Why Flat Fees Do Not Convert
/in BlogTL;DR
WooCommerce Product Add-ons is the extension most stores reach for when a product needs options that change the price: engraving, gift wrap, an extended warranty, a choice of finish. It works well, and on a single-currency store there is nothing to think about.
Add a second currency and one specific thing breaks in a way that is easy to miss: the fixed fees. This review covers what Product Add-ons does, exactly where it falls short on international stores, and the free integration that fixes it.
What WooCommerce Product Add-ons Does
Product Add-ons lets you attach extra option fields to a product, and lets those fields change what the customer pays. Originally built by Mike Jolley, it is now sold through the official WooCommerce marketplace at $59.00 per year for a single site.
It is aimed at stores selling anything configurable or personalised: print shops, furniture, gifting, food hampers, equipment hire. The field types are the part that matters for this review, because they behave differently once a second currency is involved.
The Field Types, and Which Ones Carry a Price
Where Product Add-ons Falls Short on International Stores
Here is the failure in one example. You sell a print at £40.00 and offer framing as a flat-fee add-on at £15.00. A customer in Germany switches to euros. The print converts correctly and shows as roughly 46,00 €. The framing fee shows as 15,00 €.
Not 17,25 €. Fifteen. The number was stored as “15” against the product and nothing told it that the currency had changed, so it is served unchanged with a euro symbol in front of it. You have just discounted your framing by about 13% for every euro customer, silently, on every order.
The mechanism is worth understanding because it explains the pattern. The Currency Switcher converts the product price through WooCommerce’s pricing layer. An add-on fee is separate data attached to the product, and Product Add-ons does not pass it through that layer for conversion. Percentage fees escape the problem entirely, because 10% of an already-converted price is correct in any currency. It is only the fixed amounts that go wrong.
Why This One Is Easy to Miss
Nothing errors. No warning appears, no order fails, and the totals all add up correctly. The only symptom is margin quietly leaving on add-on revenue in every currency except your base one. Most stores find it in a reconciliation months later, which is why it is worth checking before launch rather than after.
What the Add-on Pricing Gap Costs You, in Numbers
Take the framing example and follow it through three configurations. The product is a print at £40.00, the framing add-on is £15.00, and the exchange rate is 1.15 euros to the pound.
The middle row is the one to look at. It is a 13% discount on the framing, applied to every euro order, decided by nobody. On a store selling 200 framed prints a month into the eurozone that is roughly 450 € of margin a month, and the only place it shows up is a slow drift in your add-on revenue per order.
The fourth row is worth noticing too. Once the integration is doing its job you still have a choice between accepting the converted figure and setting the fee yourself per currency. For a visible, standalone charge like gift wrap or framing, a deliberate round number reads better than a converted one and protects the margin at the same time.
How the Aelia Currency Switcher Fixes Product Add-ons Pricing
The fix is a small free plugin that sits between the two and passes add-on fees through the conversion layer. It is published as the Product Add-ons Integration for Currency Switcher and costs nothing.
Compatibility Status: Compatible, Requires Add-on
Requirements: Aelia Currency Switcher 3.2.x or later; WooCommerce Product Add-ons 2.5.3 or later; the Product Add-ons Integration add-on, available free of charge.
Tested and maintained by Aelia. This is a supported integration rather than a workaround, and it does not depend on a patch that a third-party update can undo.
Step 1: Activate Both Plugins First
Install and activate the Aelia Currency Switcher and WooCommerce Product Add-ons, and confirm each works on its own.
Step 2: Install the Integration Add-on Last
Order matters. The integration expects both plugins present when it loads, so install it after, not before.
Step 3: Test a Flat Fee in a Second Currency
Set a flat-fee option to a round number in your base currency, switch currency on the front end, and confirm the fee converts rather than staying the same digits.
Step 4: Add Rounding Rules
A converted 15.00 will arrive as something like 17,25. If you want clean numbers, set per-currency rounding in the Currency Switcher, or set the fee manually per currency.
Which Aelia Plugins Fit a Product Add-ons Store
That last row deserves the caveat it carries. Prices by Country and Product Add-ons both influence what the customer finally pays, and the compatibility table tests the Currency Switcher rather than the whole Aelia range against every third-party plugin. If you need both, prove the combination on a staging site before it touches real orders. Our guide to regional pricing versus multi-currency explains which of the two you actually need.
Setup Notes and Known Limitations
Worth Knowing Before You Build
Being plain about what is not covered: the integration makes add-on fees currency-aware. It does not make Product Add-ons multi-lingual, and it does not let you write a different set of option fields per country. If you need per-country option sets, that is a custom build rather than a setting.
How to Test Product Add-ons in a Second Currency
Five minutes of testing catches everything described above. The order of the checks matters, because each one rules out a different layer.
The last row catches the one that wastes the most time. If a fee looks wrong on the front end but correct in the admin, you are usually looking at a cached page rather than a conversion fault. Our complete WooCommerce multi-currency guide covers the caching side in more detail.
Frequently Asked Questions About Product Add-ons and Multi-Currency
Does WooCommerce Product Add-ons Work With Multi-Currency?
Yes, with the Aelia Currency Switcher and the free Product Add-ons Integration add-on. Without that integration, flat-fee add-ons keep the same numeric value in every currency, so a £15.00 fee displays as 15,00 € rather than the converted amount. Requirements are Currency Switcher 3.2.x or later and Product Add-ons 2.5.3 or later.
Why Are My WooCommerce Add-on Fees Not Converting?
Because flat-fee add-ons are stored as a fixed number attached to the product rather than as a product price, so they never pass through WooCommerce’s pricing layer where conversion happens. Installing the free Product Add-ons Integration add-on routes them through it. Percentage-based fees are unaffected, because they are calculated from a price that has already been converted.
How Much Does WooCommerce Product Add-ons Cost?
Product Add-ons is sold on the official WooCommerce marketplace at $59.00 per year for a single site. The Aelia Product Add-ons Integration add-on is free. The Aelia Currency Switcher is £89.00 ex. VAT per year for a single site.
Do I Install the Integration Add-on Before or After?
After. Activate the Aelia Currency Switcher and WooCommerce Product Add-ons first, confirm both work independently, then install the integration add-on. It expects both plugins to be present when it loads, so installing it first can leave it inactive with no obvious error.
Can I Set Different Add-on Prices per Currency?
Yes. Rather than relying on automatic conversion, you can set a deliberate figure per currency so the fee is a clean number in each market, for example £15.00 and 18,00 € instead of a converted 17,25 €. This is the same argument as manual prices per currency on products, and it is the better choice whenever the fee is visible enough for customers to judge.
Does This Work With Extra Product Options Instead?
WooCommerce Extra Product Options by Themecomplete is also listed as compatible with the Currency Switcher, from Extra Product Options 4.0.2 or later. The difference is who maintains it: that compatibility is implemented and maintained by the plugin author, whereas the Product Add-ons integration is built and maintained by Aelia. Both work; the support path differs.
Sell Add-ons in Every Currency You Trade In
If your add-ons carry real revenue, the flat-fee conversion gap is worth closing before you open a second currency rather than after. The integration is free; the margin you are currently giving away is not.
Aelia Currency Switcher for WooCommerce
£89.00 ex. VAT, annual, single site. Includes the free Product Add-ons Integration add-on, a single-site licence, a year of updates, direct support from the team that builds the plugin, a 14-day free trial and a 30-day money-back guarantee.
View the Aelia Currency Switcher
Keep Reading on WooCommerce Add-ons and Currency
Aelia Currency Switcher vs CURCY vs WPML Multi Currency: A Side-by-Side Test
/in BlogTL;DR
Most WooCommerce store owners do not set out to compare multi-currency plugins. They set out to stop losing cross-border sales, notice that the checkout still charges in pounds when the shopper is in Germany, and end up on a plugin directory with four tabs open and no way to tell the options apart. The feature lists all look the same. The prices do not.
This is a side-by-side test of the three options that come up most often: the Aelia Currency Switcher for WooCommerce, CURCY by VillaTheme, and the multi-currency feature built into WPML’s WooCommerce Multilingual. Diego has maintained the Aelia Currency Switcher since 2013, so read the section on where Aelia is the wrong choice before you buy anything.
What a WooCommerce Multi Currency Plugin Actually Has to Do
WooCommerce ships with one currency. That is the whole of it. You set a currency in the settings, every price is stored against it, and every gateway is handed that figure at checkout. A multi-currency plugin has to bolt four separate jobs onto that single-currency foundation, and the plugins differ far more in the last two jobs than the first two.
The Four Jobs, in the Order They Get Harder
Job one is a presentation problem. Job four is an accounting problem. A plugin that is excellent at the first and vague about the fourth will look fine in a demo and cause monthly reconciliation arguments a year later. If you want the underlying mechanics rather than a product comparison, the complete WooCommerce multi-currency guide covers how conversion, rounding and gateway handling actually work.
Aelia Currency Switcher for WooCommerce: What the £89.00 Buys
The Aelia Currency Switcher lets a store hold real prices in several currencies at once, rather than displaying a converted version of one price. You can let it convert automatically from a rate provider, or type the exact figure you want charged in each currency, per product. Version 4.15 is current, the plugin has been in continuous release since 2013, and it holds a 4.94 average from 91 customer reviews.
It costs £89.00 ex. VAT per year for a single site. There is no free tier.
What It Does That the Free Options Do Not
Being plain about the limits, because they matter more than the feature list. The Currency Switcher is not a translation plugin and never will be; if you need multilingual content you still need WPML or an equivalent. It does not set different prices per country on its own either, which is a genuinely different job handled by Prices by Country. And there is no free version, so if your requirement really is display-only, you would be paying for capability you will not use.
CURCY Multi Currency for WooCommerce: The Free Route
CURCY, published by VillaTheme as “Multi Currency for WooCommerce”, is the most widely used free option in this comparison after WPML’s. It runs on 20,000 active installations with a 4.3 out of 5 average from 226 reviews. Version 2.2.16 arrived in August 2026 and is tested to WordPress 7.1, so it is actively maintained rather than abandoned.
The free tier covers the first two jobs properly: it adds a currency switcher as a widget, block or shortcode, converts prices from a rate provider, detects the visitor’s country to pick an opening currency, and lets you control the price format and symbol position. For a store that wants shoppers to browse comfortably and is content to settle every order in the base currency, that is a complete answer at zero cost.
The premium version adds checkout in the selected currency, per-currency payment method control and fixed per-currency pricing. The honest summary is that CURCY Premium and the Aelia Currency Switcher overlap substantially on paper. Where they differ is depth on the awkward cases: extension product types such as subscriptions, bookings, composite and bundled products, where prices are assembled from several components and each component has to convert correctly.
WPML Multi Currency (WCML): Multilingual First, Currency Second
WPML Multilingual and Multicurrency for WooCommerce, usually shortened to WCML, is the largest of the three by adoption: 100,000 active installations and a 4.2 out of 5 from 454 reviews, with version 5.5.7 current. The plugin itself is free but useless alone, because it requires a paid WPML licence to function.
Its multi-currency feature is genuinely capable. It supports manual prices per currency as well as automatic conversion, offers a currency switcher as widget, block or shortcode, shows different payment gateways per currency, and auto-switches based on visitor location. WPML also recommends manual prices per currency rather than live conversion, for exactly the reason Aelia does, which is that customers expect clean numbers.
If You Run WPML and Aelia Together, Read This First
WPML and the Aelia Currency Switcher are compatible, and plenty of stores run both. But you must disable WPML’s own multi-currency feature before enabling the Currency Switcher. Leave both active and two plugins will each try to rewrite the same product price, which produces intermittent wrong totals that are miserable to diagnose. Use WPML for languages and Aelia for money, or use WPML for both. Do not use both for money.
The catch with WCML is not the feature set, it is the dependency. You are adopting a full multilingual stack to get a currency feature. If the store is already on WPML, that is free capability you have paid for and should use. If it is a single-language store, WPML is a large amount of machinery to install for currency alone.
Side by Side: Currency Switcher for WooCommerce Feature Comparison
Read that table as three different shapes rather than three scores. CURCY is the cheapest way to solve display. WPML is the obvious choice if you are already multilingual. Aelia is the one built for the money layer, and it expects you to bring your own translation plugin. For a wider field including the free FOX switcher and WooPayments, see our comparison of the best WooCommerce multi-currency plugins.
Exchange Rate Conversion vs Manual Prices per Currency
This is the decision that matters most and the one most store owners make by accident. Automatic conversion takes your base price, applies today’s rate, and shows the result. Manual per-currency pricing means you decide the number in each currency and it stays there until you change it.
Automatic conversion is correct for large, fast-moving catalogues where nobody could realistically maintain thousands of per-currency figures. It is wrong for considered purchases, because it produces prices like 103,47 € that read as careless, and because your margin moves every day without you deciding that it should. A 4% swing in sterling against the euro is a 4% swing in your gross margin on every euro order.
How to Choose Between Them
How Automatic Currency Detection Works in WooCommerce
All three plugins can open the store in a currency that matches the visitor rather than waiting to be asked, and all three do it the same way: read the visitor’s IP address, look it up against a GeoIP database, map the country to a currency. The differences are in what happens next.
Three practical points. First, geolocation and page caching fight each other, because a cached page is by definition the same for everyone; if your first visitor from Berlin warms the cache in euros, the next visitor from Leeds may get euros too. Aelia’s approach is a dedicated cache handler and per-currency cache variants, and this is the single most common cause of “the currency is wrong” reports on any plugin.
Second, detection should be a default and not a cage. The shopper must always be able to override it, and the choice must survive across pages. Third, a shared GeoIP library can collide: geo-blocking plugins such as Geo Redirect and iQ Block Country load the same library, and loading it twice crashes the request unless the Currency Switcher loads second. If you run a geo-blocking plugin alongside a currency plugin, test that combination specifically.
Payment Gateways, Subscriptions and Bookings in Multiple Currencies
This is job four, and it is where a comparison stops being about features and starts being about whether your accounts reconcile.
Gateways. Not every gateway accepts every currency, and those that do will often convert for you at a rate you did not choose, then charge a fee for the privilege. Showing a gateway that cannot settle the selected currency produces a failed payment at the last step, which is the most expensive place to fail. All three plugins can hide gateways per currency. Aelia goes further with multi-account routing, via the Aelia Currency Switcher and the PayPal Multi-Account gateway at £39.00 ex. VAT, so euro takings land in a euro account.
Subscriptions. A subscription signed in euros must renew in euros in 2029, at the agreed figure, regardless of where the exchange rate has gone or which currency the customer’s browser suggests today. Aelia handles this through the free Subscriptions Integration add-on, which requires Currency Switcher 3.3.11 or later; WPML supports it natively; CURCY’s coverage is thinner. If you sell subscriptions across borders, test a renewal on staging before you commit, because this is the failure that surfaces a month after launch rather than on day one.
Bookings and assembled products. Bookings, composite products and bundles build a price from parts: a nightly rate, an extra person, a chosen add-on. Each component has to convert, and the rounding has to happen once at the end rather than on every component, or the total will not match the sum of the lines. Aelia supports these through free integration add-ons rather than core, so the install order matters: activate both plugins first, then the add-on.
Common WooCommerce Multi Currency Pitfalls, and Which Plugin Avoids Them
The last row is the one worth reading twice. Most “multi-currency is broken” tickets are not a plugin defect, they are two plugins competing for the same job. Currency belongs to exactly one plugin on any store.
Which WooCommerce Multi Currency Plugin Should You Choose?
Step 1: Do You Need to Take Money in the Other Currency, or Only Show It?
Only show it: CURCY free tier. Take it: continue.
Step 2: Is the Store Already Running WPML?
Yes: use WPML’s multi-currency feature, it is already paid for. No: continue.
Step 3: Do Any of These Apply?
Fixed prices per currency; a separate merchant account per currency; EU VAT handled correctly per country; subscriptions or bookings that must hold their currency on renewal. If yes to any, that is the Aelia Currency Switcher. If no to all, CURCY Premium will likely do it for less.
Step 4: Do You Need Different Prices per Country Rather Than Converted Prices?
That is a different job. Add Prices by Country at £69.00 ex. VAT, and read regional pricing versus multi-currency before deciding.
What Aelia Customers Say About the Currency Switcher
“The plugin itself is working great but what surprised me is the level of support you get for being an Aelia customer. I had an issue and received a 1000-word reply from Diego with a full explanation.”
Georgios Floropoulos
The Currency Switcher holds a 4.94 average from 91 reviews, and that support point comes up more often than any single feature. It is worth weighing when you compare a paid plugin against a free one: with the free options, your escalation path is a public forum thread. You can read more in our customer testimonials.
Frequently Asked Questions About WooCommerce Multi Currency Plugins
How Do I Change Currency in WooCommerce?
For the store’s single base currency, go to WooCommerce, then Settings, then General, and set the currency option. That changes the number’s label, not the amount, and every price stays as stored. To let shoppers choose their own currency you need a multi-currency plugin, because core WooCommerce supports exactly one.
What Is the Best Currency Switcher for WooCommerce?
There is no single best one, which is why the decision tree above asks about taking payment rather than displaying prices. CURCY is the strongest free option for display only. WPML’s feature is the right pick on a store already running WPML. The Aelia Currency Switcher is built for stores that need fixed per-currency prices, gateway routing, correct per-country tax and reliable subscription renewals.
Is There a Free Currency Switcher for WooCommerce?
Yes, several. CURCY by VillaTheme has a free tier on 20,000 active installations, and FOX by RealMag777 runs on around 50,000. Free tiers generally cover display, switching and automatic conversion, then charge for checkout in the selected currency and per-currency payment methods. Check that limit before you build a plan around a free plugin.
Does WPML Support WooCommerce Multi Currency?
Yes. WPML Multilingual and Multicurrency for WooCommerce, or WCML, includes multi-currency with manual prices per currency, gateway control per currency and location-based switching. The plugin is free but requires a paid WPML licence, and it is designed for multilingual stores rather than single-language ones.
What Is CURCY for WooCommerce?
CURCY is VillaTheme’s multi-currency plugin, listed as “Multi Currency for WooCommerce”. It runs on 20,000 active installations with a 4.3 out of 5 average from 226 reviews, at version 2.2.16. The free tier handles display, switching and conversion; premium adds checkout in the selected currency and fixed per-currency prices.
Can I Use the Aelia Currency Switcher and WPML Together?
Yes, and many stores do, but disable WPML’s own multi-currency feature first. Both plugins write to the product price, so running both currency engines at once causes intermittent wrong totals. Use WPML for languages and the Currency Switcher for money.
Do I Need a Multi-Currency Plugin or a Currency Converter?
A currency converter estimates, usually as a widget, and the customer still pays in your base currency. A multi-currency plugin changes the price the store actually charges. If the goal is fewer abandoned carts at checkout, you need the second one, because a converter leaves the surprise in place at the final step.
Try the Aelia Currency Switcher for WooCommerce
If the decision tree pointed at Aelia, you can test it against your own catalogue rather than a demo store. As the WooCommerce internationalisation experts, we would rather you found the edge cases during a trial than after launch.
Aelia Currency Switcher for WooCommerce
£89.00 ex. VAT, annual, single site. Single-site licence, a year of updates, direct support from the team that builds the plugin, a 14-day free trial and a 30-day money-back guarantee.
View the Aelia Currency Switcher
Keep Reading on WooCommerce Multi Currency
WooCommerce Geolocation Not Working? Fix the Four Common Causes
/in BlogTL;DR
WooCommerce geolocation looks like a single checkbox. In practice it is a chain of four things that each fail in their own way, and when one link breaks the symptom the customer reports is almost never the thing that is actually wrong. A shopper in Leeds sees euros. A renewal charges in the wrong currency. A fatal error appears in the log at three in the morning and nobody can reproduce it.
This guide covers the four WooCommerce geolocation failures Diego sees most often in support, what causes each one, and how to fix it. It applies whether you use core WooCommerce geolocation on its own or alongside the Aelia Currency Switcher for WooCommerce.
How WooCommerce Geolocation Actually Works
Four steps, in order. Knowing which step you are debugging saves most of the time.
The WooCommerce Geolocation Chain
Two things follow from this that are worth saying plainly. Geolocation gives you a country, not a currency preference, so the mapping in step four is a business decision you make rather than something the database tells you. And every step happens server-side while the page is being built, which is exactly why caching is the most common cause of trouble.
Why WooCommerce Geolocation Shows the Wrong Currency
This is the number one report, and the cause is almost never the GeoIP database. It is page caching.
A full-page cache stores the finished HTML of a page and serves that same copy to the next visitor. Geolocation decides the currency while the page is being built. So the first visitor after a cache purge decides what everyone else sees until the cache expires. If that visitor was in Berlin, your Leeds customer gets euros, and no amount of checking the MaxMind settings will explain it.
How to Confirm It Is Caching in Two Minutes
Load a product page in a private window, note the currency, then load the same URL with a random query string appended, for example
?cb=12345. A query string usually bypasses the cache. If the currency is correct with the cache-buster and wrong without it, you have a caching problem and the geolocation is working perfectly.The fix is not to disable caching, because that trades a currency bug for a speed problem. The fix is to make the cache aware of the currency so that each currency gets its own cached copy of the page. That is what the WooCommerce Cache Handler does, free of charge, for static caching systems including Cloudflare, SiteGround, WP Engine, Flywheel and W3 Total Cache. Without something doing that job, geolocation and caching will keep contradicting each other.
Three related causes worth ruling out while you are in there. A CDN in front of the site may strip or rewrite the visitor IP, so WooCommerce sees the CDN’s address rather than the customer’s. Corporate VPNs place people in the wrong country legitimately, which is not a bug. And a shopper’s manual currency choice must persist across pages; if it resets on navigation, the session is being lost rather than the geolocation failing.
Fixing “Unable to Download the GeoIP Database: Forbidden”
This notice means WooCommerce asked MaxMind for the GeoLite2 database file and MaxMind refused. It is an authentication failure, not a network fault, and it has been common since MaxMind began requiring a licence key for downloads.
Step 1: Create a MaxMind Account
Sign up for a free GeoLite2 account with MaxMind. The free tier is sufficient for country-level lookups, which is all WooCommerce needs.
Step 2: Generate a Licence Key
In your MaxMind account, create a new licence key. Copy it immediately, because it is shown once.
Step 3: Add the Key to WooCommerce
Go to WooCommerce, then Settings, then Integration, then MaxMind Geolocation, and paste the key. Save.
Step 4: Check the File Landed
WooCommerce stores the database under
wp-content/uploads/. If the folder is not writable, the download will fail even with a valid key, so confirm the file exists and has a recent timestamp.If the notice persists after all four steps, the usual culprits are a firewall blocking outbound requests from your server, or a host that disallows remote file downloads. Both are questions for your host rather than for WooCommerce.
Fixing GeoIP Fatal Errors When Two Plugins Clash
A fatal error mentioning the GeoIP or MaxMind library, appearing intermittently and impossible to reproduce on demand, usually has one cause: two plugins are loading the same library, and PHP will not allow the same class to be declared twice.
Geo-blocking and geo-redirect plugins ship their own copy of the MaxMind library, and so does the Aelia Currency Switcher. The Currency Switcher has detected this condition since version 2.3.5.131016 and will stand aside if the library is already present, but that only helps if it loads after the other plugin. If the Currency Switcher loads first, the other plugin tries to load the library again and throws the error.
Plugin load order follows the order plugins were activated, which is why this bug often appears after an unrelated update or a site migration rather than on the day you installed anything. If you run a geo-blocking plugin alongside a currency plugin, test that specific combination on staging before every release.
Geolocation Rules for WooCommerce Subscriptions
Here is the rule that prevents the most expensive version of this problem: geolocation should decide the currency for a new visitor, and never for a renewal.
A renewal is processed by a scheduled task, not by a browser. There is no visitor, no IP address and no country to detect. If the renewal logic falls back to geolocation, or to whatever the store’s default currency happens to be, a customer who signed up in euros can be charged in pounds three months later. They notice, they ask for a refund, and your accounts now carry a currency mismatch against the original order.
The currency must come from the original subscription record. For the Aelia Currency Switcher that is handled by the free Subscriptions Integration add-on, which requires Currency Switcher 3.3.11.140619 or later. Note that with Subscriptions 2.x an update may be needed so that renewals and re-subscriptions resolve the right currency. Test one real renewal on staging before launch, because this failure surfaces a month after go-live rather than on day one. The same principle applies to bookings, which are covered in our WooCommerce checkout localisation checklist.
WooCommerce Geolocation Troubleshooting Checklist
wp-content/uploads/not writableOne more, because it accounts for a surprising share of tickets: two plugins both trying to own the currency. If a currency switcher and a separate price-by-country plugin are both active, they will fight over the same product price and produce intermittent wrong totals with no pattern. Currency belongs to exactly one plugin on any store.
Frequently Asked Questions About WooCommerce Geolocation
How Do I Enable Geolocation in WooCommerce?
Go to WooCommerce, then Settings, then General, and set “Default customer location” to “Geolocate”. If you use full-page caching, choose “Geolocate (with page caching support)” instead, which appends a country code to URLs so cached copies stay separated. You also need a MaxMind licence key under Settings, then Integration, or the lookup database will never download.
Why Is WooCommerce Geolocation Not Working?
In order of likelihood: page caching is serving one visitor’s version to everyone; the MaxMind licence key is missing so the database was never downloaded; a CDN or reverse proxy is masking the visitor IP; or a second plugin is also setting the currency. Test with a cache-busting query string first, because that single check rules in or out the most common cause.
Does WooCommerce Geolocation Need MaxMind?
Yes. Core WooCommerce geolocation uses the MaxMind GeoLite2 country database, and MaxMind requires a free account and a licence key before it will serve the download. Without the key you will see a “forbidden” notice and geolocation will silently do nothing.
Can I Use Geolocation With Page Caching?
Yes, but only if the cache is aware of the currency or country, so that each variant is stored separately. WooCommerce offers a caching-friendly geolocation mode, and for multi-currency stores the free WooCommerce Cache Handler adds per-currency cache variants for static caching systems including Cloudflare, WP Engine and W3 Total Cache. Without one of these, caching and geolocation will contradict each other.
How Accurate Is WooCommerce Geolocation?
Reliable at country level for most residential connections, and that is all WooCommerce asks of it. It will be wrong for VPN users, some mobile networks and corporate connections that route through another country. Treat the detected country as a sensible default the shopper can always override, never as a fact you enforce.
Why Did My Subscription Renew in the Wrong Currency?
Because the renewal did not read the currency from the original order. Renewals run as scheduled tasks with no visitor and no IP address, so if the logic falls back to geolocation or the store default it will pick the wrong currency. With the Aelia Currency Switcher, install the free Subscriptions Integration add-on, which requires Currency Switcher 3.3.11.140619 or later, and test a real renewal on staging.
Get Geolocation and Currency Working Together
Most geolocation problems are really currency problems wearing a disguise, and they are cheaper to prevent than to debug after launch. If you are running multi-currency on a cached store, the combination is what needs testing, not either part on its own.
Aelia Currency Switcher for WooCommerce
£89.00 ex. VAT, annual, single site. Geolocation-aware currency selection, a free cache handler for static caching systems, a single-site licence, a year of updates, direct support from the team that builds the plugin, a 14-day free trial and a 30-day money-back guarantee.
View the Aelia Currency Switcher
Keep Reading on WooCommerce Geolocation and Currency
WooCommerce Dynamic Pricing: Multi-Currency Bulk Discounts
/in BlogQuick verdict
Dynamic Pricing holds its discount rules in your base currency and does not convert them, so on a multi-currency store a fixed discount of 10.00 stays 10.00 whatever currency the customer is in. Aelia publishes a free integration addon that converts those discounts into the active currency automatically. One limitation cannot be fixed from outside: Dynamic Pricing does not let you enter a separate discount per currency, because that would require changes to its own interface. The practical consequence is that percentage-based rules work cleanly across currencies and fixed-amount rules need checking.
Quantity breaks, category discounts and role-based pricing are the standard tools for shifting more units per order, and Dynamic Pricing has been the established WooCommerce option for them for years. On a single-currency store the rules behave exactly as configured.
Add a second currency and one class of rule quietly stops making sense. This review covers what Dynamic Pricing does, precisely where the multi-currency boundary sits, and how the Aelia stack handles it.
What Dynamic Pricing Does
Dynamic Pricing applies automatic price adjustments based on rules rather than coupon codes. It is published by Element Stark and sold through the WooCommerce marketplace, currently at version 3.4.15, priced at £97 per year on the one-year plan.
The mechanism is a rules engine that evaluates the basket and adjusts prices before totals are calculated. Because it works on rules rather than codes, the customer does not have to do anything, and the discount appears as part of the price rather than as a line-item deduction.
It suits a merchant selling in volume where order size is the lever: trade and wholesale accounts, consumables bought in multiples, or a catalogue where category-wide promotions run regularly. The role-based pricing feature also makes it a common choice for stores serving both retail and trade customers from one catalogue.
Key Features
Where Dynamic Pricing Falls Short on International Stores
The gap is multi-currency, and unlike some integrations it splits cleanly along one line: whether your rule is a percentage or a fixed amount.
Percentage rules are currency-agnostic. Ten percent off is ten percent off whether the price is in pounds, euros or yen, so these rules survive a currency switch intact.
Fixed-amount rules are not. A rule that takes 10.00 off is stored as the number 10 in your base currency. Switch the customer to a currency where the base unit is worth considerably less and that same 10 becomes a materially different discount. At best the margin is wrong; at worst a low-value order can be discounted close to nothing or below cost.
As with any third-party pricing plugin, this is a boundary rather than a defect. Dynamic Pricing controls its own discount logic, and multi-currency awareness has to be built by whoever owns that logic. Aelia’s addon reaches what it can from outside, and the following section is explicit about what it cannot.
How Aelia Fits With Dynamic Pricing
Compatibility Status
Two figures worth confirming yourself
Neither point stops the addon working. Both are the kind of documentation drift worth raising with support before you commit a live store to it.
Aelia Currency Switcher
Status: fully tested with Dynamic Pricing.
The Currency Switcher handles pricing and payment in multiple currencies, refreshing rates automatically from providers including Open Exchange Rates and OFX, and storing the applied rate against each order. With the free integration addon active, discounts entered in your base currency are converted into the active currency, which fixes the fixed-amount problem described above. Read more on the Currency Switcher product page, £89.00 ex. VAT.
Aelia Prices by Country
Status: not separately tested. Prices by Country also adjusts product prices, so on a store where Dynamic Pricing controls discounting the two can overlap. Verify the interaction on staging before going live.
As a capability, Prices by Country reads the visitor’s country by geolocation and substitutes a deliberately set regional price rather than a converted one. This is the honest answer to the per-currency discount limitation: rather than trying to vary the discount by market, vary the price by market and keep the discount as a percentage. Because both plugins write to the product price, treat this as a combination to test, not a documented integration. Read more on the Prices by Country product page, £69.00 ex. VAT.
Aelia Tax Display by Country
Status: no known issues. Operates on tax display, a separate layer from Dynamic Pricing.
Tax Display by Country shows prices with or without tax depending on the visitor’s country, resolved by IP geolocation. It matters here because trade customers on role-based pricing usually want ex-VAT figures while consumers expect inclusive ones, and that is a display decision rather than a discount one. It should run alongside Dynamic Pricing without conflict. Read more on the Tax Display by Country product page, £69.00 ex. VAT.
Stack Recommendation
For a store running trade and retail pricing across several currencies, run Dynamic Pricing plus the Currency Switcher plus the free integration addon, keep your rules percentage-based wherever possible, and add Tax Display by Country so trade accounts see ex-VAT pricing.
Setup Notes
Install order matters, because the addon looks for both plugins when it activates.
Three things to check afterwards. First, audit your existing rules and note which are fixed-amount and which are percentage; the fixed ones are the only ones that depend on the addon behaving correctly. Second, confirm your base currency before writing rules, because every fixed amount is expressed in it. Third, test a rule at a tier boundary in a non-base currency, since rounding after conversion can move an order across a quantity threshold in ways a single-currency test never reveals.
Before you go live
What Aelia Customers Say
“This plugin works well and Diego was extremely helpful getting a few bugs fixed within hours. I’m impressed by his level of customer support.”
Bart, Tax Display by Country, 5 stars
Worth knowing because integrations between plugins from different vendors are exactly where turnaround time matters. The free addons do not include support, but the Currency Switcher licence does.
FAQ
Does Dynamic Pricing Work With Multi-Currency Out of the Box?
Partly. Percentage-based rules translate across currencies without any extra work, because a percentage is currency-agnostic. Fixed-amount rules do not: the amount is stored in your base currency and is not converted, so it becomes a different real discount in every other currency. The free Aelia integration addon converts them.
Do I Need the Free Integration Addon?
If you use any fixed-amount discount rules on a multi-currency store, yes. If every rule you run is a percentage, the addon matters less, though installing it is harmless and protects you the first time somebody adds a fixed-amount rule. It is free, needs no configuration, and should be activated after both other plugins.
Can I Set a Different Discount for Each Currency?
No, and this is the one limitation that cannot be worked around externally. Dynamic Pricing’s interface does not provide per-currency discount fields, and adding them would mean modifying the plugin itself. The practical alternative is to keep discounts as percentages and vary the underlying price per market using Prices by Country instead.
Can I Set Different Prices per Country Rather Than Discounts?
Yes, and for international stores it is often the better structure. Our comparison of regional pricing versus multi-currency explains when a chosen per-country price beats a converted one, and how the two layers stack.
What Happens to Tax When the Currency Changes?
Tax is calculated on the discounted, converted price, so the rate applies as normal. Whether that price is shown inclusive or exclusive of tax by country is a separate presentation decision, handled by Tax Display by Country. If you sell into the EU, our guide to WooCommerce EU VAT compliance covers the rules that sit behind it.
Get Dynamic Pricing and Aelia Running Together
Fourteen days, your real rules, your real currencies. The integration addon is free, so the trial covers the Currency Switcher only.
Premium licence, single site, annual, £89.00 ex. VAT.
Updates and support included.
14-day free trial.
30-day money-back guarantee.
Diego personally answers tickets.
For the wider picture, the complete WooCommerce multi-currency guide covers how pricing, tax and currency interact, and our review of the best WooCommerce multi-currency plugins compares the vendors, including where we recommend buying elsewhere.
Compatibility verified 17 August 2026 against: Dynamic Pricing 3.4.15 (Element Stark), Aelia Dynamic Pricing Integration for Currency Switcher 1.1.32.260624, requirements as published: PHP 7.1+, WordPress 4.7+, WooCommerce 2.6.x to 3.6.x, Currency Switcher 4.4.6.170120+, AFC 1.8.3.170202+. Aelia’s compatibility notes cover the Currency Switcher only. Source: Dynamic Pricing Integration addon page.
WooCommerce Checkout Optimisation and Localisation Checklist
/in BlogQuick verdict
A localised checkout is three layers on one foundation. The foundation is country detection, and if it resolves late everything above it is wrong. The layers are currency (what they pay in), language (what they read), and tax display (whether the price includes VAT). Get those right and you also have to match checkout fields to local address formats and offer payment methods people in that market actually use. Most abandoned international carts are not a trust problem, they are one of these six things being visibly wrong.
An international customer arriving at checkout assesses four things, largely without articulating them: whether the price is denominated in their currency, whether the total matches what the catalogue displayed, whether the address fields match the format they expect, and whether their usual payment method is available.
Any one of these failing is sufficient to lose the order. None of them are trust problems in the conventional sense. They are configuration problems, and each one is fixable. This checklist covers them in the order the customer encounters them.
What Checkout Localisation Covers
Localisation is often reduced to translation. Translation is one layer of it, and on a store it is rarely the layer costing you the most money.
The full set, in the order a customer encounters it:
A store can get language perfect and still lose the customer at a price shown in the wrong currency. The reverse is also true, and both are common.
The Foundation: Detecting the Customer’s Country
Everything above depends on resolving the country, and resolving it before the catalogue renders, not at checkout. If a visitor browses in one currency and reaches checkout in another, you have created the exact surprise localisation is meant to prevent.
In practice detection means IP geolocation, with two refinements that matter:
Our walkthrough on how to set a default country for WooCommerce checkout covers both the no-code settings route and the IP-detection route.
Layer One: Currency
Two things get conflated here, and the difference decides which tool you need.
Display conversion shows a converted figure but charges the base currency. The customer sees roughly what they will pay, then their bank applies its own rate and often a cross-border fee. The final statement does not match the checkout total.
Charging in currency means the transaction is denominated in the customer’s currency. The amount on the statement matches the amount at checkout.
The second reduces both abandonment and card declines, and it is what most merchants think they are buying when they install a currency plugin. Our complete WooCommerce multi-currency guide covers the distinction and how gateway support constrains it.
Currency checks worth confirming
Layer Two: Language
Language is the layer most people start with, and the one with the most mature tooling. WPML and Polylang both handle it, and both integrate with the currency layer rather than replacing it.
The parts that get missed are rarely the product pages:
One decision worth making early: language and country are not the same axis. A Belgian customer might want French or Dutch. Treating language as a function of country will eventually produce the wrong result for some customers.
Layer Three: Tax Display
This is the layer stores skip, and it is where the price a customer sees stops matching what they expect.
EU consumers expect VAT-inclusive pricing, and in most member states showing consumers ex-VAT prices is not permitted. A German shopper seeing a figure that grows 19% at checkout will usually leave. A VAT-registered business buyer expects the opposite, because ex-VAT is their real cost.
The same catalogue therefore has to render two ways depending on who is looking, decided before checkout.
Tax display is a presentation job, not a compliance one. Getting VAT filed correctly is separate work, and our guide to WooCommerce EU VAT compliance covers the thresholds, OSS, reverse charge and VIES validation side, including which tools actually handle filing.
“Works like a charm. The support is great, even when things are out of their control. Using this together with the currency switcher to select billing country, currency and tax display with just one click.”
Jimmy, Tax Display by Country, 5 stars
Checkout Fields That Change by Country
WooCommerce already localises address formats for many countries, but the defaults do not fit every market and the gaps present as friction at the final step.
The country codes underneath all of this are worth getting right at the data level. Our guide to WooCommerce country codes covers the ISO 3166-1 alpha-2 codes plus the US and Canadian state codes that cause errors for stores selling both sides of the Atlantic.
Payment Methods by Market
Card coverage is not payment coverage. In several large European markets the dominant method is not a card at all, and its absence reads as the store not being meant for that customer.
Two practical points. First, filtering methods by currency or country keeps the checkout clean rather than showing everyone everything. Second, verify each gateway settles the currency you are charging in, because a method that appears and then declines is worse than one that never appeared.
Subscriptions and Recurring Orders Across Currencies
Subscriptions are where a localised checkout most often breaks quietly, because the failure happens months after the sale and nobody connects it back to configuration.
The rule to hold to is that a subscription created in a currency should keep renewing in that currency, at the terms the customer agreed to. If a renewal re-converts at the current rate, the amount taken drifts from the amount signed up for. Some customers will not notice. Others will treat an unexpected charge as an unauthorised one, and a chargeback costs considerably more than the difference.
What to verify before you offer subscriptions internationally:
The same applies to any deferred transaction: pre-orders, deposits, instalments and partial refunds all depend on the original rate being retrievable rather than recalculated.
Shipping and Delivery Expectations by Market
For physical goods the delivered total and the delivery date are judged together, and both are local questions.
Testing a Localised Checkout Before You Trust It
Localisation fails silently, because everything looks right from your own IP. A short test pass catches most of it.
A ten-minute test pass
The last item is the one to insist on. If the order does not record what the customer was shown, you cannot investigate a dispute, process a fair refund, or reconcile revenue by market later.
“To anyone looking at this plugin, we have found Diego’s support for the two plugins we have purchased, Currency Switcher and Tax Display by Country, to be second to none. There was an issue we had with one of the plugins and he uploaded an update within a few hours.”
Rik, Currency Switcher and Tax Display by Country, 5 stars
Checkout Optimisation: The Conversion Layer
With localisation handled, ordinary checkout optimisation applies, and international traffic is less forgiving of friction than domestic traffic.
The Full Localisation Checklist
The Three Plugins That Cover the Layers
Language aside, which WPML or Polylang handle, the three layers map to three tools:
If you are unsure whether you need the third one, our comparison of regional pricing versus multi-currency sets out which problem each solves.
Frequently Asked Questions
What Is Checkout Localisation?
Adapting the buying experience to the customer’s market: currency, language, tax display, address fields and payment methods, all driven by their detected country. It is broader than translation, and the non-language layers usually cost more in lost conversion.
Does WooCommerce Support Multiple Currencies by Default?
No. Core WooCommerce has one store currency and shows every price in it. Multiple currencies, and charging in them rather than just displaying them, require an extension.
How Do I Detect a Customer’s Country in WooCommerce?
Through IP geolocation, which WooCommerce supports natively for tax and shipping estimates. For it to drive currency and tax display it has to resolve before the catalogue renders, and you should always pair it with a manual override for travellers and VPN users.
Should Prices Include VAT for International Customers?
For EU consumers, yes, and in most member states showing them ex-VAT prices is not permitted. For VAT-registered business buyers the ex-VAT figure is the useful one. That means the same catalogue needs to render both ways depending on the visitor.
Do I Need Local Payment Methods to Sell Internationally?
Not to start, but they matter more than most merchants expect in specific markets. iDEAL in the Netherlands, BLIK in Poland and Klarna across the Nordics carry large shares of consumer e-commerce, and their absence reads as the store not being intended for that customer.
Does Localisation Handle My VAT Returns?
No. Currency, tax display and pricing tools change what the customer sees and pays. Filing returns, OSS reporting and VAT number validation are a separate category of tool. The two are easy to conflate and are worth budgeting for separately.
Start With the Currency Layer
Fourteen days, your real catalogue, your real customers. Currency is the layer with the largest single effect on international conversion, so it is the sensible one to test first.
Premium licence, single site, annual, £89.00 ex. VAT.
Updates and support included.
14-day free trial.
30-day money-back guarantee.
Diego personally answers tickets.