Wednesday, February 10, 2010

Dynamics GP Multi-currency ISO Code

By Steve Endow

If you have ever setup Multi-Currency in Dynamics GP, you may have noticed a field called "ISO Code".

It is located on the Currency Setup window, and is a required field. So any time you create a new currency ID, you have to enter an ISO Code. Values are defined by the International Organization for Standards (ISO), and are typically three letter values, like USD, CAD, AUD, etc.

It looks like the ISO organization charges for their standards document, but Wikipedia appears to have a decent listing.

The GP Help file explains that the field is a three letter code, but in typical frustrating fashion, offers no explanation as to where or when the field value might be used.

Well, I recently had a crash course on the topic, and learned of two areas where it is used.

First, it is apparently used by FRx. In this particular situation, a client had transactions for the same currency in GP using two different Currency ID values (long story). Rather than try and convert the data so that all of the Currency ID values matched, Microsoft support offered a workaround for FRx reporting: Set the ISO codes for both currency IDs to the same value. So if Currency ID USD and Z-US$ have the same ISO code, FRx will think that the transactions / data use the same currency.

Okay, so that workaround may have solved that problem, but then we uncovered a second place where the currency ISO code is used: GP Web Services.

I've never had to do a multi-currency integration using Web Services, so I never looked at the currency fields. But if you check the help file, you will notice that GP Web Services asks for an ISO Code, and not a Currency ID for integrated transactions.

So what happens when you have two currency IDs setup in GP that have the same value for the ISO code? Flip a coin!

It appears that Web Services grabs one of the two (either randomly or based on a table index or some sort order). Needless to say this isn't a good thing. In this case, it grabbed the one currency record that did not have rate tables setup, so the web service import failed with an error explaining that it could not find a current rate.

So if you are working with Multi-Currency, you now know at least two places where the ISO code matters.

I'm sure there is plenty of history behind the addition of the ISO Code field, but at this point the documentation is minimal and the inconsistent use of currency ID vs. ISO code makes for some fun times.

Steve Endow is a Dynamics GP Certified Trainer and Dynamics GP Certified IT Professional in Los Angeles.  He is also the owner of Precipio Services, which provides Dynamics GP integrations, customizations, and automation solutions.

You can also find him on Google+ and Twitter

No comments: