Don’t mix site language and currency in Magento

Recently I have been working on a site that sort of uses Magento’s Store Views for something they are not primely intendant for. Sometimes site owners have a problem with grasping all those features Magento offers.

Magento has pretty great support for locale, translations, currency etc.

Let me try to explain the “issue” in title on practical example. Sometimes site owners have problems with grasping the concept of Store views and they tend to use it for wrong purposes. Using multiple Store View’s to define multiple available currencies is one such example. Lets say you wish to enable Euro and USA dollars as available currencies. Creating a two store views (lets say you call them StoreViewEuro and StoreViewUSADollar) to handle this request is wrong approach. Available currencies can be defined per each Store View level. See the screenshot below.


And here is a screenshot of how valid setup of multiple languages and multiple currencies looks like.


Hope this clarifies a thing or two for some.


You made it all the way down here so you must enjoyed this post! You may also like:

How Inchoo developed Morris 4x4 Center Jan 29, 2018

How we developed a new Morris 4×4 Center store – case study

/ Leave a comment
Jan 18, 2018

Magento 2 Product Quick View

/ Leave a comment
Oct 18, 2017

Solr and Magento – search by department

/ Leave a comment


  1. David is right I think. magento only sends on the base currency to paypal irrespective of what currency was chosen by the shopper. therefore looks like you need a website per currency

  2. If you want different base currencys for each (i.e. you want Euros to be _processed_ in euros and dollars to be _processed_ in dollars) you’d need to use 3 store views, no?

    ps. thanks for all the great posts you’ve made on Magento

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <blockquote cite=""> <code> <del datetime=""> <em> <s> <strike> <strong>. You may use following syntax for source code: <pre><code>$current = "Inchoo";</code></pre>.