Tips, Tricks & Thoughts on Microsoft Dynamics GP
eConnect, GL Transactions & Multicurrency
What I'm posting today is hopefully of use to someone out there who runs into this same problem. Admittedly it's rare but it took me a while to find the answer.
In this case, "I" didn't find the answer, I found it buried in a community forums post from Sivakumar, one of the Microsoft Dynamics GP MVPs.
I was attempting to import General Ledger transactions using eConnect via SmartConnect. My client had multicurrency enabled and there was a default currency in place already (CAD). When you manually keyed in a journal entry, the currency ID defaults to CAD (in this customer's case), you don't have to select a currency.
When I was running the integration, the transactions were successfully created but the Currency ID field was blank. Since it's a required field, that meant manually updating them each time - not a long term solution.
Thanks to Sivakumar, for the resolution. It turns out that eConnect for whatever reason cannot check to see if Multicurrency is enabled, therefore it checks the CM00100 (Chequebook Master) table instead, to see if MC is enabled. Strange but true. What that meant was in order for it to determine what it needs to, at least one chequebook must be configured.
In this client's case, we were importing transactions for a holding company where they don't use A/P or A/R at all, so they had never set up a chequebook for it. In the past, pre-SmartConnect, Integration Manager had imported things just fine but it was slow and time for something more robust - eConnect and SmartConnect was the answer.
So we simply configured a dummy chequebook for this holding company, and from then on, the transactions imported with a proper default currency ID!
The alternative would have been to hard-code the currency ID but in this case, it was nice to find the actual cause and fix it, instead of hard-coding a value that could change.
(Update: include link to Sivakumar's blog)