MTL_TRANSACTION_ACCOUNTS
Schema: INVtransactionPer inventory orgAccounting distributions for material transactions — the debit and credit lines behind each material transaction, valued and pointed at a GL account combination
Many rows per TRANSACTION_ID (debits and credits that sum to zero) — never treat the transaction id as unique here
No enforced unique key: the grain is the individual accounting line, and a transaction's lines net to zero by design. REFERENCE_ACCOUNT is the GL code combination id.
What the badges mean
- Schema: INV
- Schema: the Oracle product schema that owns the table (INV, ONT, WSH, PO, BOM, WIP, MRP, MSC, AR, AP, GL, HR, APPLSYS) — tells you which product family the object belongs to, not who can query it.
- master
- Data class: what the table holds — master data, transaction documents, control/configuration, interface/staging, or an APPS-schema view.
- OU-striped (ORG_ID)
- Rows are scoped to an operating unit. A landed extract carries every operating unit’s rows — filter or join on
ORG_ID, and don’t confuse it withORGANIZATION_ID(see the quirks guide). - Per inventory org
- Rows are scoped to an inventory organization (plant or warehouse) via
ORGANIZATION_ID— a different partition from OU-striped tables (see the quirks guide). - Language-striped
- The table carries a
LANGUAGEcolumn (a _TL translation table or FND_LOOKUP_VALUES) — one row per language. Filter to oneLANGUAGEor a join multiplies rows (see the quirks guide). - View
- This is an APPS-schema convenience view, not a physical table. Extract the base tables it joins instead — views can be slow at scale and aren't guaranteed stable across patches.
Structural facts — how the table is partitioned, not a trap by itself
Join & extract hazards — verify before you rely on this
Fields
11 fields
11 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | TRANSACTION_ID | The material transaction these lines account for — many rows per id, summing to zero | NUMBER | |
| 2 | ORGANIZATION_ID | Inventory organization | NUMBER | |
| 3 | INVENTORY_ITEM_ID | Item id | NUMBER | |
| 4 | REFERENCE_ACCOUNT | The GL account combination (CCID) the line posts to | NUMBER | |
| 5 | TRANSACTION_DATE | Accounting date of the line | DATE | The table's primary analysis date — a real DATE column, no conversion needed |
| 6 | ACCOUNTING_LINE_TYPE | What the line represents (inventory valuation, offset, variance…) | NUMBER | |
| 7 | BASE_TRANSACTION_VALUE | Signed value of the line in the ledger currency | NUMBER | |
| 8 | PRIMARY_QUANTITY | Quantity behind the line in the primary UOM | NUMBER | |
| 9 | GL_BATCH_ID | The GL transfer batch that swept the line to the ledger | NUMBER | |
| 10 | COST_ELEMENT_ID | Cost element (material, overhead, resource…) the value belongs to | NUMBER | |
| 11 | INV_SUB_LEDGER_ID | Subledger accounting link (R12 SLA) | NUMBER |
Field provenance: hand-curated.
Boilerplate SQL
Starting point for reading MTL_TRANSACTION_ACCOUNTS on Databricks — real DATE columns need no conversion, and the org anchor is already in place. The optional LAST_UPDATE_DATE watermark is included. Set your Unity Catalog location, schema, and org values below; they’re substituted into the SQL and the copy button.
6 parameters not filled: <catalog>, <schema>, <inventory_org_id>, <DATE_FROM>, <DATE_TO>, <watermark>
-- ============================================================
-- Table : MTL_TRANSACTION_ACCOUNTS — Accounting distributions for material transactions — the debit and credit lines behind each material transaction, valued and pointed at a GL account combination
-- Purpose: Column-selected read of MTL_TRANSACTION_ACCOUNTS — auto-generated from field metadata
-- Grain : One row per inventory org (ORGANIZATION_ID) — see the Fields section for the full key
-- Caution: Many rows per TRANSACTION_ID (debits and credits that sum to zero) — never treat the transaction id as unique here
-- Notes : Auto-generated skeleton for Oracle EBS R12 data landed in your lakehouse. 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 "The material transaction these lines account for — many rows per id, summing to zero",
t.ORGANIZATION_ID AS "Inventory organization",
t.INVENTORY_ITEM_ID AS "Item id",
t.REFERENCE_ACCOUNT AS "The GL account combination (CCID) the line posts to",
t.TRANSACTION_DATE AS "Accounting date of the line",
t.ACCOUNTING_LINE_TYPE AS "What the line represents (inventory valuation, offset, variance…)",
t.BASE_TRANSACTION_VALUE AS "Signed value of the line in the ledger currency",
t.PRIMARY_QUANTITY AS "Quantity behind the line in the primary UOM",
t.GL_BATCH_ID AS "The GL transfer batch that swept the line to the ledger",
t.COST_ELEMENT_ID AS "Cost element (material, overhead, resource…) the value belongs to",
t.INV_SUB_LEDGER_ID AS "Subledger accounting link (R12 SLA)"
FROM <catalog>.<schema>.MTL_TRANSACTION_ACCOUNTS t
WHERE
t.ORGANIZATION_ID = <inventory_org_id> -- inventory org, NOT the operating unit — see quirks guide #two-orgs
-- AND t.TRANSACTION_DATE >= DATE '<DATE_FROM>'
-- AND t.TRANSACTION_DATE <= DATE '<DATE_TO>'
-- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>' -- WHO watermark, bulk-stamped by batch jobs; see quirks guide #who-columns
;Verified September 2026
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
ON MTL_TRANSACTION_ACCOUNTS.TRANSACTION_ID = MTL_MATERIAL_TRANSACTIONS.TRANSACTION_ID AND MTL_TRANSACTION_ACCOUNTS.ORGANIZATION_ID = MTL_MATERIAL_TRANSACTIONS.ORGANIZATION_IDON MTL_TRANSACTION_ACCOUNTS.REFERENCE_ACCOUNT = GL_CODE_COMBINATIONS.CODE_COMBINATION_ID
More Inventory tables
- MTL_TRANSACTION_LOT_NUMBERSLot-level detail for material transactions — one row per lot consumed or received per material transaction, with the lot's share of the quantity
- MTL_TRANSACTION_TYPESThe transaction type list — seeded and user-defined types, each mapping to the transaction action and source type that together classify material transactions
- MTL_TXN_REQUEST_HEADERSMove order headers — the user-visible move order number, type, status, and required date for requests to move material within an organization
- MTL_TXN_REQUEST_LINESMove order lines — each row requests moving a quantity of an item from a source to a destination subinventory, individually statused, allocated (quantity detailed), and transacted (quantity delivered)
- MTL_DEMANDThe legacy demand picture used by ATP and planning — summary demand, open demand, and pre-R12 reservation rows for an item in an org, keyed to the order document that generated them
- MTL_ITEM_LOCATIONSThe stock locator master — the physical bin/row/rack positions inside a subinventory, with the locator name held as SEGMENTn flexfield columns