Author Topic: Currency exchange rate is wrong  (Read 4051 times)


  • Global Moderator
  • Sr. Member
  • *
  • Posts: 2739
    • Kreativ Fotografi
  • VirtueMart Version: 3.4.x
Re: Currency exchange rate is wrong
« Reply #15 on: February 24, 2018, 23:32:16 pm »
What is this for an answer ?  Please tell how to solve it, EGP is not on the list, therefore You get a weird exchange rate. Do not know how VM it gets the rate, because there is none in the look up table from ECB. My proposed solution seems to work, is that the correct way to do it or not ?

There are only 32 currencies on the list, so this ECB lookup is not a universal solution. You need to add Your own exchange rates.


Jörgen @ Kreativ Fotografi
Joomla 3.9.18
Virtuemart 3.4.x
Olympiantheme Hera (customized)


  • Global Moderator
  • Sr. Member
  • *
  • Posts: 3643
  • using Matomo instead of Google Analytics
Re: Currency exchange rate is wrong
« Reply #16 on: February 25, 2018, 20:10:05 pm »
What is this for an answer ?
Was just meant to explain the numbers VM displays. ;)

The currency exchange rates pulled from the ECB (European Centreal Bank) are using EUR as the base currency. So their data includes for example
1€=1324.37 KRW
1€=4.8135 MYR

When a different currency is used as the shop (base) currency, then you might have to reverse the exchange rate calculation.
Example 1: In the case of 63 MYR (without discount applied) you will need to enter 0.20775 (1 divided by 4.8135) as the EUR exchange rate into the EUR 'Currency Details' if you want to display the price in EUR.
Example 2: If the currency is not listed in the ECB, you would get a division by 1, resulting into an EUR value followed by the unlisted currency symbol.
Example 3: The ECB does not provide cross rates and therefore VM doesn't calculate for example EGP from a MYR price entered into VM. So to convert 1 MYR (in VM) into EGP you will have to enter the a value of 4.52317 (yesterdays exchange rate from as the EGP exchange rate into the EGP 'Currency Details'. This currently displays a (rounded) price of EGP 285 (MYR 63).

Note that the calculation might also be affected by other configuration settings like rounding and other calculation rules which can lead to different wrong results. So check the results carefully if you want to offer payment in different currencies.
Non-English Shops: Are your language files up to date?