Skip to content
Fusion Reference

INV_MATERIAL_TXNS

Product: INVtransactionPer inventory org

The material transaction ledger — one row per inventory movement or cost update, classified by transaction type, action, and source type, with quantity, date, and the document reference that caused it; the reconciliation backbone for every stock question

Identity
Module: InventoryInventory-org partitioned (ORGANIZATION_ID)
Notes

Inter-org transfers write two rows (issue and receipt) linked through TRANSFER_TRANSACTION_ID; TRANSFER_ORGANIZATION_ID carries the counterpart org. Unlike EBS's MMT, there are NO lot or serial columns here — that detail lives entirely in child tables. TRANSACTION_ACTION_ID is a VARCHAR2 code in the Fusion dictionary, not a number.

What the badges mean
Product: EGP
Product: the Oracle product family that owns the object — the short code Oracle's Tables and Views documentation lists as the object owner. Fusion is SaaS, so this isn't a database schema; there's no SQL path to the tables at all (see the quirks guide).
master
Data class: what the table holds — master data, transaction documents, control/configuration, interface/staging, or a documented view.

Structural facts — how the table is partitioned, not a trap by itself

BU-striped (ORG_ID)
Rows are scoped to a business unit. The column is still named ORG_ID, but in Fusion it means business unit, not the EBS operating unit — treat any migrated “operating unit” filter as suspect (see the quirks guide).
Per inventory org
Rows are scoped to an inventory organization via ORGANIZATION_ID — always pair it with INVENTORY_ITEM_ID on item-level joins (see the quirks guide).
Set / ledger / named-BU striped
Some tables stripe by a named column instead of ORG_ID: reference data set (SET_ID — see the quirks guide), ledger (LEDGER_ID on the GL journal tables), or a named business-unit column (PRC_BU_ID / REQ_BU_ID in procurement). The table page’s partition line names the column, and the generated SQL anchors on it — never treat these tables as unpartitioned.
Language-striped
The table carries a LANGUAGE column (a _TL translation table or FND_LOOKUP_VALUES) — one row per language. Filter to one LANGUAGE or a join multiplies rows.

Join & extract hazards — verify before you rely on this

Date-effective
This is an _F table — one row per entity per effectivity window, with EFFECTIVE_START_DATE and EFFECTIVE_END_DATE part of the key. Join without a window filter and every fact multiplies by history (see the quirks guide).
View
This is a documented convenience view, not a physical table. Extract through the BICC data store that fronts its base objects instead of assuming the view lands as-is.
In field listings, the Key chip marks a key field — a member of the documented primary key or of a documented unique index.

Extract access

The delivered surfaces that reach this table — the BICC extract data store (PVO) for bulk extraction and the OTBI subject areas for real-time queries. There is no SQL path to the SaaS database.

  • FscmTopModelAM.ScmExtractAM.InvBiccExtractAM.InventoryTransactionDetailExtractPVO
    OTBI: Inventory - Inventory Transactions Real Time

    Keyed on TransactionId. Lot and serial detail for transactions ride the companion InvTransactionLotDetailExtractPVO / InvTransactionSerialDetailExtractPVO stores.

    Oracle data-store documentation (opens in new tab)

Fields

18 fields · 1 key

18 fields.

Table fields: position, field name, description, data type, and flags. 18 fields.
#FieldDescriptionTypeFlags
1TRANSACTION_IDSurrogate key of the movementNUMBER
Key
2INVENTORY_ITEM_IDItem transactedNUMBER
3ORGANIZATION_IDInventory org where the transaction happenedNUMBER
4SUBINVENTORY_CODESubinventory transacted againstVARCHAR2
5LOCATOR_IDStock locatorNUMBER
6TRANSACTION_TYPE_IDTransaction type (miscellaneous issue, PO receipt…)NUMBER
7TRANSACTION_ACTION_IDUnderlying action (issue, receipt, transfer) — a VARCHAR2 code in the Fusion dictionary, unlike EBSVARCHAR2
8TRANSACTION_SOURCE_TYPE_IDClass of source document driving the transactionNUMBER
9TRANSACTION_SOURCE_IDId of the specific source recordNUMBER
10TRX_SOURCE_LINE_IDSource document line idNUMBER
11TRANSACTION_QUANTITYSigned quantity in the entered UOMNUMBER
12TRANSACTION_UOMEntered unit of measureVARCHAR2
13PRIMARY_QUANTITYSigned quantity converted to the item's primary UOM — the column to SUMNUMBER
14TRANSACTION_DATEWhen the transaction was processedDATE
Filter date
15TRANSFER_ORGANIZATION_IDCounterpart org on transfersNUMBER
16TRANSFER_TRANSACTION_IDLinks the paired row of a two-row transferNUMBER
17ACTUAL_COSTCosted actual cost of the transactionNUMBER
18REASON_IDTransaction reason code idNUMBER

Field provenance: hand-curated. 1 key field.

Boilerplate SQL

Starting point for reading the BICC-landed copy of INV_MATERIAL_TXNS on Databricks — real DATE columns need no conversion, and the org anchor and the LAST_UPDATE_DATE watermark (the column incremental BICC extracts key on) are already in place. Set your Unity Catalog location, schema, and org values below; they’re substituted into the SQL and the copy button.

Query parameters

7 parameters not filled: <catalog>, <schema>, <inventory_org_id>, <TRANSACTION_ID>, <DATE_FROM>, <DATE_TO>, <watermark>

-- ============================================================
-- Table  : INV_MATERIAL_TXNS — The material transaction ledger — one row per inventory movement or cost update, classified by transaction type, action, and source type, with quantity, date, and the document reference that caused it; the reconciliation backbone for every stock question
-- Purpose: Column-selected read of INV_MATERIAL_TXNS — auto-generated from field metadata
-- Grain  : One row per inventory org (ORGANIZATION_ID) + TRANSACTION_ID
-- Notes  : Auto-generated skeleton for Oracle Fusion Cloud data landed in your lakehouse by a BICC extract — there is no SQL path to the SaaS database. Column names follow Oracle's table documentation — if your landed data still carries PVO attribute headers, map names first; see quirks #pvo-drift. Dates are real DATE/TIMESTAMP columns — no conversion needed. WHO audit columns omitted (see the quirks guide); the optional LAST_UPDATE_DATE watermark filter supports incremental extracts.
-- ============================================================
SELECT
  t.TRANSACTION_ID AS "Surrogate key of the movement",
  t.INVENTORY_ITEM_ID AS "Item transacted",
  t.ORGANIZATION_ID AS "Inventory org where the transaction happened",
  t.SUBINVENTORY_CODE AS "Subinventory transacted against",
  t.LOCATOR_ID AS "Stock locator",
  t.TRANSACTION_TYPE_ID AS "Transaction type (miscellaneous issue, PO receipt…)",
  t.TRANSACTION_ACTION_ID AS "Underlying action (issue, receipt, transfer) — a VARCHAR2 code in the Fusion dictionary, unlike EBS",
  t.TRANSACTION_SOURCE_TYPE_ID AS "Class of source document driving the transaction",
  t.TRANSACTION_SOURCE_ID AS "Id of the specific source record",
  t.TRX_SOURCE_LINE_ID AS "Source document line id",
  t.TRANSACTION_QUANTITY AS "Signed quantity in the entered UOM",
  t.TRANSACTION_UOM AS "Entered unit of measure",
  t.PRIMARY_QUANTITY AS "Signed quantity converted to the item's primary UOM — the column to SUM",
  t.TRANSACTION_DATE AS "When the transaction was processed",
  t.TRANSFER_ORGANIZATION_ID AS "Counterpart org on transfers",
  t.TRANSFER_TRANSACTION_ID AS "Links the paired row of a two-row transfer",
  t.ACTUAL_COST AS "Costed actual cost of the transaction",
  t.REASON_ID AS "Transaction reason code id"
FROM <catalog>.<schema>.INV_MATERIAL_TXNS t
WHERE
  t.ORGANIZATION_ID = <inventory_org_id>  -- inventory org, NOT the business unit — see quirks guide #item-org-striping
  -- AND t.TRANSACTION_ID = <TRANSACTION_ID>
  -- AND t.TRANSACTION_DATE >= DATE '<DATE_FROM>'
  -- AND t.TRANSACTION_DATE <= DATE '<DATE_TO>'
  -- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>'  -- the column incremental BICC extracts key on
ORDER BY t.TRANSACTION_ID;

Verified September 2026 · docs release 26C

Column names differ in BICC extracts — see PVO header drift.

Relationships

Diagram of 1-hop neighbors — join details below. FND lookup decode and translation edges are highlighted; they’re the joins newcomers most often get wrong.

Join details

  • INV_MATERIAL_TXNSEGP_SYSTEM_ITEMS_Bforeign key · N:1
    ON INV_MATERIAL_TXNS.INVENTORY_ITEM_ID = EGP_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND INV_MATERIAL_TXNS.ORGANIZATION_ID = EGP_SYSTEM_ITEMS_B.ORGANIZATION_ID
  • INV_MATERIAL_TXNSINV_TRANSACTION_TYPES_Bforeign key · N:1
    ON INV_MATERIAL_TXNS.TRANSACTION_TYPE_ID = INV_TRANSACTION_TYPES_B.TRANSACTION_TYPE_ID
  • INV_MATERIAL_TXNSINV_SECONDARY_INVENTORIESforeign key · N:1
    ON INV_MATERIAL_TXNS.SUBINVENTORY_CODE = INV_SECONDARY_INVENTORIES.SECONDARY_INVENTORY_NAME AND INV_MATERIAL_TXNS.ORGANIZATION_ID = INV_SECONDARY_INVENTORIES.ORGANIZATION_ID
  • INV_MATERIAL_TXNSINV_ITEM_LOCATIONSforeign key · N:1
    ON INV_MATERIAL_TXNS.LOCATOR_ID = INV_ITEM_LOCATIONS.INVENTORY_LOCATION_ID AND INV_MATERIAL_TXNS.ORGANIZATION_ID = INV_ITEM_LOCATIONS.ORGANIZATION_ID
  • INV_MATERIAL_TXNSINV_ORG_PARAMETERSforeign key · N:1
    ON INV_MATERIAL_TXNS.ORGANIZATION_ID = INV_ORG_PARAMETERS.ORGANIZATION_ID
  • INV_MATERIAL_TXNSINV_ORG_PARAMETERSforeign key · N:1
    ON INV_MATERIAL_TXNS.TRANSFER_ORGANIZATION_ID = INV_ORG_PARAMETERS.ORGANIZATION_ID
  • WIE_OPERATION_TRANSACTIONSINV_MATERIAL_TXNSforeign key · N:1
    ON WIE_OPERATION_TRANSACTIONS.INV_TRANSACTION_ID = INV_MATERIAL_TXNS.TRANSACTION_ID AND WIE_OPERATION_TRANSACTIONS.ORGANIZATION_ID = INV_MATERIAL_TXNS.ORGANIZATION_ID

Browse more Inventory tables

More Inventory tables

Maintained by Summit Analytics, a supply chain analytics practice. The tools and references are free — the consulting is selective.

Part of the Summit Analytics reference library.

Work with the practice

Not affiliated with or endorsed by Oracle. Oracle and Oracle Fusion Cloud Applications are registered trademarks of Oracle and/or its affiliates.