How to Troubleshoot Multi-currency Management Errors

Troubleshooting Multi-currency Management errors in GP usually isn’t too difficult – normally, the error messages are straightforward and give you a good idea of exactly what needs to be fixed. For instance, if you get,

“A functional currency does not exist for this company. Transactions cannot be entered,” you would know that a functional currency probably needs to be assigned to the company in the Multicurrency Setup window (Tools>Setup>Financials>Multicurrency.) Once in a while though, an error comes along that seems straightforward but isn’t quite as easy as it looks.

Recently, I had a client email in about an error they were receiving while trying to do a return in SOP. They had just enabled Multicurrency functionality the week before. From the start, I was fairly certain this would be a setup issue that somehow got overlooked. The error was as follows (the customer ID has been changed to protect the client):

"A valid exchange rate is not found for the return date of this customer: CUSTOMER123."

Despite the error, the return and the invoice were both in Z-US$, which was the functional currency of the company. I looked at the Exchange Rate Table Setup window (Tools>Setup>, and ascertained that there was, in fact, no exchange rate table set up for the date of the transaction. However, because the transactions were both being recorded in the functional currency, provided all transactions had been assigned to the correct currency.

And therein lie the rub. Further digging in the RM20101 and the SOP30200 tables revealed that while there was a currency index of 1007 on the transaction header records, there was no currency ID. Further investigation yielded results showing that this same issue had occurred across multiple modules, including SOP, Receivables Management, Payables Management, and more. Further questioning revealed that when the client had run the Check Links procedure, there had been other users in the system, and so they had to cancel it without completing.

For this client, we were able to re-run Check Links on the Multicurrency Setup after business hours to complete the assignment of the currency ID to the transactions. Alternatively, had this not worked, it would have been possible to run an update statement against all of the Work, Open, and History tables for each module affected to update the currency ID to match the currency index. This is a riskier option, however, as there’s a greater margin of error when manually updating the database.

When setting up Multi-currency Management, it’s important that you have a test environment and not just a test company. This is because the Check Links procedure on Multicurrency Management will affect ALL companies on the database.

If you have any questions about setting up Multicurrency Management in your system, or if you’d like to talk further about whether Dynamics GP could be a good fit for your business, please don’t hesitate to reach out to me at jnorberg@ktlsolutions.com.


JOHN NORBERG | Business Software Consultant

After working a variety of jobs through college, from dishwasher at an Italian café to gravedigger and caretaker at a cemetery, John graduated from North Dakota State University and Minnesota State Community Technical College with degrees in Philosophy and Information Technology. In 2014, John began working as a Support Engineer at Microsoft in Fargo, ND, the birthplace of Dynamics GP. He discovered a passion for delivering excellent customer service, and he often lead the team in cases resolved and positive feedback. After two years working Technical Support for GP, John accepted a position at KTL Solutions as a Business Software consultant.  Unlike his previous position which had afforded few personal meetings, the deep interaction with clients at KTL Solutions has allowed John to identify and analyze their problems, leading to the implementation of solutions suited to their individual needs.