Whilst setting up a new environment I ran into an odd and annoying currency problem.
- Created new environment
- Imported base solution (entities, views, fields, security roles etc) — worked
- Imported processes (workflows, Flows, Plugins, etc)- mostly worked
After the import I saw that 30 workflows were in a draft state (always check for workflows in a draft state, this can be a silent error that causes bugs when parts of the functionality are missing)
I opened one of the workflows and saw a red X and this message
The entity referenced by this process includes a currency value that does not exist in your organisation. Select a different currency and try again
The step was a send email and the currency field on the email!!??! was showing it couldn’t find Pound Sterling
Why am I getting this problem?
I hadn’t seen this problem in the other environments. Dynamics 365 error messages point you in the right direction, This was odd because I was using GBP in all environments with no other currencies and I hadn’t seen this error in any other environment.
Look at the currency values in I went to look at the currency.
Settings →Business →Currency
New environment currency
British Sterling — GBP
Dev — environment currency
Pound Sterling — GBP
So when the currency lookup was trying to match it couldn’t find it.
Out of interest I looked for other GBP and found there is 3 and you can’t add more than one in an environment.
You can change the currency name (phew) to be the same as Dev. Then I could import the process solution and activate the workflows and not have errors.
I don’t understand how the label of the GBP currency was different in this environment than the others. Why doesn’t Microsoft import it’s data with the same guids in each environment. I had a simliar problem where I couldn’t automate the setting of the System Administrator role because it gets created with a different guid in each environment (a bit of me did agree with not making it easy to assign the system admin role).
The question I had was why were was the workflow setting the currency with an email that didn’t send any financial figures?
If you still have problems you can either not set it the currency field because it’s not mandatory or you can look it up Dynamically from another currency field on an entity.