Saturday, 6 October 2012

MS Dynamics GP 2013 Inventory Reason Codes

Inventory Adjustments, Transfers, Variances, and Bin Transfers all allows Warehouse managers to manage inventory efficienctly. Problem arises when they realaly want to know the reasons of transcactions like,

  • Inventory Lost
  • Inventory Spoiled
  • Inventory Damaged by Accidents
  • Inventory Expired
  • Inventory Movement Due to Space Issues
  • Inventory Movement Due to wrong placements
  • And so on.
In previous versions of MS Dynamics GP, these could places as Notes or using description,  but users faced too much trouble when sorting or finding the number of transaction for specific users. Thanks to Microsoft that they have introduced reason codes in newer version of MS Dynamics GP 2013.

All administrators are required to set the reason codes and its access to transactions, for example Inventory Movement due to Space issue could only be used in Inventory Transfer Transactions and Inventory Damaged by Accidents could only be used for Negative Adjustments in Inventory Transactions.

To setup the reason codes navigate to Inventory > Setup > Reason Code Setup

Enter the Reason Code, its description  Mark appropriate options like whether it should only be allowed to be used for Adjustment Entries and that must be negative only. User may also enter the default offset account. These Offset account could be modified during the normal transaction.

Microsoft has modifed Item Transaction. Item Transfer, Item In-Transit Transfer and Item Bin Transfer windows to allow users to select reason code for transactions. Also note that its available on line level not on header level, that is it could be much better if user could have select default reason code for entire transaction, though may be it will be available in future releases.

In case of wrong selection of reason code, user shall be prompted for the following kinds of informative messages.


  1. how do you pull a report for these?

  2. My user gets stuck on reason code field saying he does not have privileges, I have added the reason code to the task set up and the task to the role and the role to user. The only place I could find reason code was in Windows/Company for tasks.