Digging up the dirt. Inside the InventTrans (Part 1)

I thought about naming this post ‘InventTrans for Dummies’, but we have to consider the source. We all know that the beating heart of the AX in- and outbound process is the inventtrans table. In essence this table is a ledger of any and all inventory movements and as such it is the ultimate source for answers to inevitable questions about changes to inventory cost, inventory value and inventory levels.

The table itself is no great mystery, but considering how crucial it is for the working of your organization and AX in general, it is a shame and a petty that there is no decent documentation for it to be found.

The InventTrans has undergone some significant changes from AX 2012 up. I won’t go into that, but be aware that the following does not apply to older versions of AX.

Ledger

The InventTrans is in essence a ledger. It keeps track of all movements to, from and within your warehouse(s). Incoming lines (e.g. purchase order lines) have a positive quantity. Outgoing lines (e.g. sales order lines) have a negative quantity. Movements within a warehouse or between your warehouses will have two entries, one negative and one positive. Exactly like how you would make a ledger correction.

Incoming lines have a receipt status (field StatusReceipt), while outgoing lines have an issue status (Field StatusIssue). Personally I see this as a design flaw (why not have one field called status?), but I trust it is done for good reason.

Receipt statuses

There are six possible receipt statuses. The below table gives a brief clarification of their meanings. In proper order:

StatusDescription
OrderedPurchase order line is created
ArrivedOnly applies when pallet transport is used. Items have arrived but are not yet physically available (i.e. waiting to be transported in the warehouse).
RegisteredComplicated status. Items are available onhand, but not yet received in the physical ledger. It’s receipt foreplay.
ReceivedProduct receipt posted
PurchasedInvoice posted
Quotation receiptSupposedly this is used for negative quotation lines. Frankly, I don’t know why anyone would use a negative quotation. Anyway, it is not allowed to use a negative quantity on the quotation line in standard AX.

Be aware that a negative sales order (or return order) is effectively a purchase order as well. Creating a negative sales line will therefore also register an ‘Ordered’ receipt status, etcetera.

Issue statuses

StatusDescription
On orderSales order line created.
Reserved orderedReservation of ordered inventory (expected to be received)
Reserved physicalReservation of physical (onhand) inventory.
PickedPicking line registered.
DeductedPacking slip posted.
SoldInvoice posted.
Quotation issueQuotation line created (i.e. expected sales).

Notice that the statuses on the incoming and the outgoing side are not mirrored 1:1. Arrived does not have an outgoing equivalent, just like there is no incoming equivalent for reservations (although I have seen negative reservations in AX2012…but that’s a different subject all together).

Modifying inventTrans data

Let’s start by laying down some ground rules for messing with data in the InventTrans:

  1. Don’t!
  2. Don’t! But if you do, never-ever-ever-ever-EVER delete a line in InventTrans (unless you are absolutely sure what you are doing)
  3. Don’t! But when you do, always recalculate InventSum after you make changes to inventTrans
  4. Don’t! So before you do, try to recreate the data from normal AX functionality. For example, cancel the deliver remainder on a sales order, then change it back to the original value. This will ‘reset’ your inventtrans for that line.

Having said all that, there are times when the only path to salvation leads through the inventTrans. Mind you though, more often than not an imbalance in the inventTrans ledger is an indication of a problem somewhere else in the event chain, and most likely caused by modifications. InventTrans discrepancies in standard AX exist, but are extremely rare in my experience. I suspect they are caused by system outages rather than software flaws.

Troubleshooting

Primarily the inventTrans (often easily accessible from the menu: Inventory>Transactions) is a great source for troubleshooting. It is however not always self-evident how to interpret the information. The inventTrans contains different processes, all mixed together and sometimes hard to distinguish. It helps to simply go through each process and see what the effect is on the inventTrans.

In this article I will take you in detail through the purchase order process from an inventTrans perspective. Other processes that affect the inventTrans are:

  • Sales order
  • Sales quotation
  • Return order
  • Transport order
  • Pallet transport
  • Movement journal

Be aware that no two processes are exactly identical, but that the same basic principle applies to all of these.

To be continued

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.