I spoke with a customer today who discovered an extremely unusual problem with one of their Dynamics GP batches. I think it rises to the top of my list to be the most baffling problem I've ever seen.
The client has two company databases--one is for a US company, and the other is for a Canadian company. While reviewing some of their posted transactions, they found that a batch from the Canadian company had "posted" to their US company.
You read that right. A batch from Company A ended up posting to Company B. And this isn't an intercompany transaction.
What does that even look like?
This is a screen shot from the US Company. Notice that the customer Name field is blank and the Currency ID is CAD.
The customer number 131654 doesn't even exist in the US company, and the US company doesn't process Canadian Dollar transactions.
In the Distribution window, there are no distributions.
And like the transaction window, the customer Name is blank.
Making it more fun is that the
distributions posted to the GL in the Canadian company!
So the transaction posted to the subledger in one company, and the GL was affected in another company.
This is the case for all transactions (dozens) in a single batch.
Anyone who understands how GP is designed, how it works, how it posts transactions, and how the underlying company databases are setup would, I believe, say that such a situation is
impossible.
I would have previously agreed, but now that I've seen the screen shots and stopped stuttering in disbelief, I can't dispute that it happened; however, I also can't begin to rationally explain how it could have possibly happened.
Like many puzzling situations, there are a few clues, although none directly explains what happened.
First, this batch was imported into GP--it was not manually entered. So perhaps, maybe, somehow, something in the data that was imported could have resulted in some highly unlikely posting fluke. But, I'm told the batch was imported using eConnect. eConnect is pretty rigorous with its validation, so it's unlikely that any transaction data elements could have possibly caused this. And even if we say that something was odd about this particular imported batch, I can't imagine any scenario that could possibly cause a batch to be posted to two different companies simultaneously. Imported into the wrong company, maybe, but not two different companies.
Second, the batch was posted automatically using an ISV solution. The logs from that batch posting solution show that the batch was detected and posted in the Canadian company. So that is presumably where the posting occurred. But even if something went wrong or there was a posting error or problem, how could that possibly explain what happened? The batch posting solution simply logs into the GP company, selects the batch, and then posts it, all within the GP client application. It isn't doing anything behind the scenes, calling stored procedures, or otherwise attempting to simulate the posting process outside of GP--it's all native GP functionality.
The client has been importing these batches for several months, and automatically posting them with the ISV batch posting solution for months. So this batch was, in theory, no different than any other batch. But obviously something went wrong.
I'm only left with one tenuous, and perhaps unprovable theory. My wild guess is that when the automatic batch posting solution switched GP companies and logged into the Canadian company, something in GP stayed "connect to" or "logged into" the US company. When the post command was issued for the batch in the Canadian company, somehow GP posted the subledger transactions in the US company, but posted the distributions in the Canadian company.
Or perhaps it's simpler than that. Perhaps the transactions all "posted" in the Canadian company, but when GP moved the transactions from the Work to Open tables, the subledger transactions were moved from the Canadian company to the US company. That's probably the best guess I can come up with, simply because it is the simplest technical explanation I can imagine--although even saying something like about Dynamics GP that sounds like complete crazy talk. Unless it can be reproduced, which I'm guessing it can't, nobody is going to believe it.
This was only recently discovered, so the research is still ongoing and it will likely require a support case to resolve.
But I am pretty confident that it is a contender for one of the most unusual GP support issues.
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.
http://www.precipioservices.com