Currency Switcher 2.0 is coming, supporting multiple prices

Update: Currency Switcher 2.0 is now available!

Version 2 of Currency Switcher plugin is in development, with the objective of implementing the most requested feature so far, which is the possibility of manually specifying multiple prices for a product (one for each of the enabled currencies).

Due to several key differences between WooCommerce 2.0.x  and 1.6.x, the feature will be implemented in two phases:

  • Phase 1: the feature will be available for WooCommerce 2.0.x only.
  • Phase 2: the feature will be available also for WooCommerce 1.6.x.

More details about the progress, including the planned release date, will be published soon.

Special Thanks

I would like to take the opportunity to thank all the Customers who purchased the plugin for their support and their invaluable feedback, which allowed me to make it the five star product it is today. I will make sure to meet your expectations again, and make good use of all the information you provided.

See you soon with more good news!


9 replies
  1. Nina says:

    So looking forward to this! A question though – will it be possible to show some items in one currency only and another one in a different currency, both with manually set prices?

    Example: Item 1 is listed in euro, item 2 in dollar only (not two currencies each)

    Right now I run two stores via MultiSite to do this and if the new update of your plugin does that I’m in line to buy the second the update is out 🙂

    • diego says:

      Hi Nina,
      Thanks for your interest in the plugin. The feature you are looking for won’t be available in the plugin, because, as practically every other e-commerce solutions, WooCommerce only supports only one currency per order (and, therefore, per payment transaction). Therefore, it won’t be possible to have a shopping cart with one product in Euro and one in Dollars, as it would require a complete rewrite of WooCommerce logic.

      What you are doing now, using multiple sites, is the correct way of handling such type of condition. The purpose of the multi-currency feature will be allowing Shop Administrators to indicate prices which are not necessarily tied to exchange rates (i.e. 10 USD and 10 Euro for the same product). Every product will always have prices in all enable currencies, and Customers will be able to choose which ones they would like to use for their purchase.

      Thank you again for your interest in the plugin.

      • Nina says:

        Thank you for your quick reply. That makes of course perfect sense about not being able to check out with two currencies.

        It is possible to limit which currencies are being displayed, right? Like only allow $ and EUR store wide?

        The setup I have is that custom items are being sold, usually it is just one item, rarely two at the same time but they can be different currencies. So far we’ve just switched the base currency of WooCommerce back and forth between two currencies which of course makes the reports innacurate & the two stores are overkill for the item number. So your plugin-in will definitely help with that aspect, awesome!

        However, just from a tech stand-point: it should be possible to simply not allow 2 products with different currencies to be put in the shopping cart and require two check-out processes…could that work?
        You wouldn’t by any chance be available for (paid, of course!) custom work to implement something like that (if technically possible)?

        • diego says:

          The plugin allows to choose which currencies should be enabled, therefore you would be able to only use Euro and US Dollars, if you like.

          The issue I see in your setup is that you expect to have some products with only dollar prices and some with only Euro prices, while this is not supported by internal WooCommerce logic. What Currency Switcher does is adding extra currencies to the site, and all of the enabled currencies apply to all products. That is, every product will have a price in all currencies, either calculated using a conversion rate (as it happens now) or entered manually (when the feature will be complete). In short, there isn’t a possibility of indicating “Product X only in Euro, Product Y only in Dollars”.

          Implementing “currency exclusion” would be very complicated, especially regarding the base currency, which is a key point of the entire WooCommerce logic, and it would most probably require a heavy rewrite of the e-commerce code. Regarding you other question about preventing Users from creating a mixed currency shopping cart: since there is currently no way of indicating that “Price X is only in Euro”, you cannot prevent Users from adding it to a cart which already contains other products.

          Additionally, even if all the above were possible, the User Experience would be poor:

          • Users don’t like being stopped when they are shopping, especially not due to technical limitations.
          • Product Comparison features would not work, as they rely on the pure value of a price and are not aware that they might be in different currencies
          • Filters would also not work, for the same reason as Product Comparison
          • Browsing the site would become difficult, having different, non-comparable prices listed in the same page

          Personally, I believe that it makes more sense to provide product prices in multiple currencies and allow Users to choose which one they would like to use for payment. If a customer wants to buy Product X and Product Y, and pay the total in Dollars, he can. If he would like to place an order in Euro tomorrow, he can.

          To be quite frank, I don’t see a reason why products should be priced only in one or the other currency. If that has to do with the fact that they are purchased in those currencies (i.e. one Supplier sends product and wants to be paid in Euro, while another expects US Dollars), then the solution is not to reflect the currency during sale, but to calculate sale prices in WooCommerce base currency. Typical example, supermarkets: they buy from suppliers in Euro, GBP, US Dollars and probably a dozen more currencies. However, they only sell in Euro, as any customer would expect.

          Note: even more complex cart solutions, such as the extremely flexible Magento, only support one currency per shop. They provide currency conversion, like the Currency Switcher does, but no more than that. I don’t know of any cart solution that allows mixing product currencies in the same shop, the way you would like to do.

          • Nina says:

            Thank you so much for your long and detailed reply, it definitely all makes sense, especially from the customer standpoint!

            Off to buy the plug-in now and play around with it and then looking forward to the manual price update version.

  2. steveholland says:

    This would be a great feature, I’m definitely looking forward to the completion of Phase 1.

    • diego says:

      Thanks for your feedback, Steve. This will be one of the most complex features of the plugin. Unfortunately, WooCommerce was not designed with multiple currencies in mind, therefore I will have to solve some architectural issues, but I think it’s only a matter of time and hard work.

      • steveholland says:

        An alternative that would work for me would be a custom converstion rate on a per-product basis.

        So on the product page you’d list all the currencies and could specify a custom rate for each of them, to be used just for that product.

        But multiple prices would definitely be easier, but yes I can see how it does complicate things.

        • diego says:

          The main issue is not associating a value with a product, but retrieving it. WooCommerce doesn’t pass a lot of information around when it calculates a product price, and it’s up to the plugin to determine how to convert it. For example, plugin would receive “Product X, price 100”, but WC doesn’t explain where that 100 comes from (variation? Sale price? Discounted price?). Currently, plugin just has to take the value, whatever it is, and apply a mathematical conversion rate to turn it into another currency.

          With multi pricing, plugin has to take a specific currency value, stored somewhere (again variation? Sale price? Discounted price?), by just using the original price as the key. This may lead to incorrect price selection, unless the algorithm is really accurate. handling this condition is what is going to take most of the development time and cost.


Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.