Skip to main content
Question

Clarification on Inventory Transaction Tables and Data Requirements in Acumatica

  • March 30, 2026
  • 2 replies
  • 26 views

I would like to get a clarification regarding inventory transaction data in Acumatica.

 

We are currently trying to identify whether there is a single table or a recommended data source that can be used to retrieve all types of inventory transactions, such as inventory issues, receipts, transfers, and adjustments, in a unified manner.

From our understanding, tables like INTranINRegister, and INTranSplit are involved in storing inventory-related data. However, we would like to confirm the following:

  • Is INTran the correct and complete source to capture all inventory movements (issues, receipts, transfers, adjustments)?
  • Are there any additional tables or views that should be considered to ensure no transactions are missed?
  • Is there a recommended approach (or standard Generic Inquiry structure) to retrieve all inventory transactions accurately for reporting purposes?
  • Are there any specific conditions, flags, or transaction types we should consider when filtering this data?

Additionally, we have a few specific data requirements:

  • We need to include Lot/Serial Number details along with the transactions. Is INTranSplit the correct table to join for this requirement?
  • We need to capture the exact unit cost for each transaction. Could you please advise which field/table should be used to get the most accurate cost (e.g., unit cost vs. valuation cost)?
  • For date-based reporting, we need the exact transaction date/time (date stamp). Which field would be most appropriate to use (e.g., TranDate, CreatedDateTime, etc.)?

It would be very helpful if you could guide us on the best practice for extracting complete and accurate inventory transaction details, including the above requirements.

Thanks.

2 replies

Forum|alt.badge.img+9
  • Captain II
  • March 30, 2026

@IHussain05 

 

Picture any Inventory transaction screen (Adjustments, Receipts, Transfers etc.) the header section is INRegister which can be seen as the ‘Parent’ record of the whole transaction.

 

INTran contains the details of the transaction i.e. the lines within the details grid. They are ‘Children’ records to the INRegister record and ‘Parent’ records to the INTranSplit records.

 

INTranSplit contains the details of the details of the transaction. They are the ‘Children’ records to the INTran record.

 

Each child has a many-to-one relationship with the parent and vice versa, the parent has a one-to-many relationship with the children records.

 

Your generic inquiry should start with

INRegister INNER JOIN INTran ON DocType = DocType & RefNbr = RefNbr

INTran INNER JOIN INTranSplit ON DocType = DocType & RefNbr = RefNbr & LineNbr=LineNbr

 

Your filters will completely depend on what data you are trying to get out of the GI.

For lot/serial nbr reporting, this can differ between INTran & INTranSplit so include both of these.

For cost reporting, you should use unit cost.

For date reporting, it depends on whether you backdate transactions or not. INRegister.TranDate should be your default though.

 

 

Let me know if you have any other questions!


  • Author
  • Freshman I
  • March 31, 2026

@IHussain05 

 

Picture any Inventory transaction screen (Adjustments, Receipts, Transfers etc.) the header section is INRegister which can be seen as the ‘Parent’ record of the whole transaction.

 

INTran contains the details of the transaction i.e. the lines within the details grid. They are ‘Children’ records to the INRegister record and ‘Parent’ records to the INTranSplit records.

 

INTranSplit contains the details of the details of the transaction. They are the ‘Children’ records to the INTran record.

 

Each child has a many-to-one relationship with the parent and vice versa, the parent has a one-to-many relationship with the children records.

 

Your generic inquiry should start with

INRegister INNER JOIN INTran ON DocType = DocType & RefNbr = RefNbr

INTran INNER JOIN INTranSplit ON DocType = DocType & RefNbr = RefNbr & LineNbr=LineNbr

 

Your filters will completely depend on what data you are trying to get out of the GI.

For lot/serial nbr reporting, this can differ between INTran & INTranSplit so include both of these.

For cost reporting, you should use unit cost.

For date reporting, it depends on whether you backdate transactions or not. INRegister.TranDate should be your default though.

 

 

Let me know if you have any other questions!

Thank you so much.