I noticed importing or adding contributions in Serbian dinars (RSD) doesn't work. I tried using API Explorer to create a contribution that way but I get the same error I get when I try to import contributions.
{"sequential":1,"financial_type_id":"Donation","total_amount":100,"contact_id":2,"currency":"RSD"}
"error_message": "Currency not a valid code: "
I then tried to find out are there other currencies that don't work and I tried importing a file with donations in all currencies in the civicrm_currency
table. It turns out that there three more currencies which don't work.
The currencies affected are:
Serbian Dinar (RSD)
Venezuela Bolivar (VEF)
Azerbaijanian Manat (AZN)
Mozambique Metical (MZN)
When I try to add a contribution manually through the form using these currencies, CiviCRM disregards my selection and uses the default currency.
There is a workaround. You can set any of these affected currencies as default, and then leave the field for currencies blank for that currency when importing (or leave default when adding a contribution manually). CiviCRM will then assume you are using a default currency and import or add it correctly. Still there's a problem if you want to use other currency for default (USD for example) and add contributions in affected currencies.
What could be causing this?
I'm using the current version of CiviCRM (4.7.29)