Thursday, January 23, 2014

Inventory transaction "Reason Code" field in GP 2013

By Steve Endow

I admit, I am not enough of a Dynamics GP geek to thoroughly review all of the new features and enhancements that come out with each new version (okay, that can actually mean that I'm lazy).   I typically glance at the GP team's features of the day blog posts, but that's about it.

Normally this doesn't pose much of an issue, but the other day I needed to solve a problem, and I was at a disadvantage since I didn't know about a new enhancement in GP 2013 that will meet the requirements quite nicely.

The issue was that a customer was importing inventory adjustments from another system to maintain inventory quantities in Dynamics GP.  When a receipt is submitted to their operational system, an inventory transaction is integrated into GP.  There is a lot of background to the story, but I'll skip the gory details.

This integration works great, and the inventory transactions work fine for the client, but they wanted a way to differentiate these imported inventory transactions from any other inventory adjustment that they enter manually into GP.  I thought that would be tough, since there is no description field on the Item Transaction Entry window or lines.  Fortunately, I called in my colleague Gina and ran the idea by her, and she asked somewhat quizzically, "Why don't you just use the new Reason Code field?".  Uh, ya, sure, that's what I was thinking...

The majority of my customers still use GP 2010 (or GP 10!), so I actually haven't spent as much time with GP 2013 as I should, and I honestly probably hadn't even opened the GP 2013 Item Transaction Entry window until this week.  And there it is, the new Reason Code field that allows you to specify different reasons for each line item on an inventory transaction.

The Reason Codes must be pre-defined, which is a good thing.  Each reason code can have a description, and you can control which transaction types the reason code can be used with.  So some reason codes can be used for Adjustment and Variance transactions, while others might only be used for different types of transfers.

But I found one issue.  As far as I can tell, the new Reason Code field is not available in the Inventory Transaction SmartList.  So my client that wants to see a list of their transactions and differentiate between imported transactions and manually entered transactions will have to build a custom SmartList.  Fortunately they own SmartList Builder, but for customers who don't own SLB, you'll have to come up with some type of workaround.  

Anyway, I thought I would share that little nugget of wisdom in case there is somebody else out there who hasn't scoured the GP 2013 new features list...

Additional Note:  I forgot to check the eConnect 2013 documentation for the new field.  Fortunately, the Reason Code field is available for the taIVTransactionLineInsert and taIVTransferLineInsert, so that is good news.

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


Kody Kiefer said...

Hi Steve,

Can you share how the SmartList was set up in SmartList Builder? We have SmartList Builder but I have never used it before. Thanks.

Steve Endow said...

Hi Kody,

There are quite a few posts and tutorials available on SmartList builder.

Just Google Dynamics GP Smart List Builder.

For example, here is a tutorial video:

Beat BUCHER said...

Hi Steve,
We upgraded to 2013R2 3 weeks ago and user from the production floor just called me with the obvious question about the 'Reason Code' and if they can use it.. I said yes of course, but the point is they could neither create a new code, nor lookup an existing one... And if the code they type in doesn't exist, the system throw the usual question about 'Doesn't exist, do you wanna add id ?'... which of course fails, because that window has no security assigned to it... so except the POWERUSER role, no one can access this form. Do you happened to know which role in GP should have received that ? or was it simply forgotten by Microsoft ?..

Steve Endow said...

Hi Beat,

Sorry, I typically don't touch GP security as I'm almost always developing and testing using 'sa', so I haven't looked at security for the Reason Code related windows.

You could use the Support Debug Tool Security Profiler feature to see if the window is a member of any tasks or roles.


Barbara Conneely said...

Hi Steve,
Thank you for this post. How did you link the reason code to the transaction in Smartlist builder. I am trying to add this column to an existing smartlist I built that shows inventory transfers.

Steve Endow said...

Hi Barbara,

Sorry, I didn't actually handle the creation of the custom SmartList.

But I see the "Reason_Code" field is in the IV10001 table and the IV30300 table.

You should be able to pull them onto your SmartList from those tables.