On multiple occasions I have had questions or seen confusion surrounding the usage of Post Inventory in conjunction with Calculate Statement and Post Statement for keeping inventory up-to-date and posting sales transaction.
Let’s first define the purpose of each process:
When running the Post Inventory, this looks for all unposted transactions that have been synced from POS to AX using the P-job. This will reserve inventory as needed for each item in the transactions. Normally this will update the “Physical reserved” if there is a quantity available in Physical Inventory. If there is not enough available inventory, then the “On Order” will be updated. To keep your on-hand inventory accurate, you should run this batch job frequently throughout the day. NOTE: This does NOT need to be ran prior to a statement posting, this is only ran throughout the day to keep inventory numbers current.
This will find any unposted transactions based on the statement’s Setup settings and assigns them to the current statement ID. Calculating the statement does not have any additional effect on the Inventory Posting that was performed. If the Post Inventory was not performed or some items missed the last Post inventory prior to the Calculate statement, then the On order will be updated based on the quantity of items in the statement’s transactions.
The Post statement process will reverse the Post Inventory reservations and officially create sales orders in AX based on the statements transactions. This will normally update the Physical Inventory quantities, even going negative if allowed by the Item model group. If the Calculate Statement captured any items outside of the Post inventory, which could normally be the case at the very end of the day just prior to posting the statement, it performs a similar check by moving any of the related On order items to Physical Inventory during the sales order creation.
Below are two basic examples using AX 2012 R3 on how inventory was affected when the above 3 processes were used to post a POS transaction. The first one has available quantities to cover the items sold at the POS, the second one does not.
NOTE: Click on the pictures to view them at a larger size.
Posting Inventory and then Posting the statement when an item has available quantities.
Starting on-hand inventory quantities for item 0008 are set at 45
A cash and carry transaction is performed at the POS for a quantity of 1 for item 0008. The P-job is ran to bring the transaction into AX. Note that the quantities have not been affected yet.
Run the “Post inventory” operation for that store. There is now 1 in Physical Reserved and the Available Physical has been deducted by 1.
Create and calculate a statement for this store. Once again, no change.
Post the statement. The Physical Inventory is now updated to 44 from the 1 in Physical Reserved as a sales order was created in AX.
Posting Inventory and then Posting the statement when an item does NOT have available quantity, a movement journal is performed to make it available.
Starting on-hand inventory quantities for item 0008 is at 5.
A cash and carry transaction is performed at the POS for a quantity of 6 for item 0008. The P-job is ran to bring the transaction into AX. Note that the quantities have not yet been affected.
Run the “Post inventory” operation for that store. There are now 6 in On order.
Perform an Item Movement of 10 to add an available quantity. The Physical inventory and Available physical are updated to 15, but the On order is still at 6.
Calculate and post the statement with this transaction. The Physical inventory and Available physical are now updated to 9.