Skip to content
Fusion Reference

CST_TRANSACTION_COSTS

Product: CSTtransaction

The actual cost attached to each costing transaction — one row per transaction, cost element, and expense pool per effective date; a complete cost history including every adjustment

Identity
Module: Cost ManagementNot org-partitioned
Grain note

Adjustments rewrite the FULL cost as fresh rows — take the latest EFF_DATE per transaction + element + pool or costs overstate

Notes

No item column — join up to the costing transaction spine for the item. COST_SOURCE says where the cost came from (PO, AP…); VALID_COST_FLAG gates use in inventory valuation.

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.CstBiccExtractAM.CstTransactionCostsExtractPVO
    OTBI: Costing - Transaction Cost Real Time

    Transaction Costs data store — keyed on TransactionCostId; the complete adjustment history rides along, so dedupe to the latest effective date after landing.

    Oracle data-store documentation (opens in new tab)

Fields

14 fields · 1 key

14 fields.

Table fields: position, field name, description, data type, and flags. 14 fields.
#FieldDescriptionTypeFlags
1TRANSACTION_COST_IDSurrogate key of the cost rowNUMBER
Key
2TRANSACTION_IDThe costing transaction — join up for the item; there is no item column hereNUMBER
3COST_ELEMENT_IDCost element of this sliceNUMBER
4EXPENSE_POOL_IDExpense pool of the sliceNUMBER
5COST_ORG_IDCost organizationNUMBER
6COST_BOOK_IDCost bookNUMBER
7UNIT_COSTUnit cost for this element in the costing currencyNUMBER
8CURRENCY_CODECosting currencyVARCHAR2
9EFF_DATEWhen this cost became effective — take the latest per transaction + element + poolTIMESTAMP
10COST_DATECost dateTIMESTAMP
11COST_SOURCEWhere the cost came from (PO, AP…)VARCHAR2
12COSTED_QTYQuantity costedNUMBER
13POSTED_FLAGWhether the cost propagated to the layer/average tablesVARCHAR2
14VALID_COST_FLAGUsable for inventory valuationVARCHAR2

Field provenance: hand-curated. 1 key field.

Boilerplate SQL

Starting point for reading the BICC-landed copy of CST_TRANSACTION_COSTS 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

4 parameters not filled: <catalog>, <schema>, <TRANSACTION_COST_ID>, <watermark>

-- ============================================================
-- Table  : CST_TRANSACTION_COSTS — The actual cost attached to each costing transaction — one row per transaction, cost element, and expense pool per effective date; a complete cost history including every adjustment
-- Purpose: Column-selected read of CST_TRANSACTION_COSTS — auto-generated from field metadata
-- Grain  : One row per TRANSACTION_COST_ID
-- Caution: Adjustments rewrite the FULL cost as fresh rows — take the latest EFF_DATE per transaction + element + pool or costs overstate
-- 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_COST_ID AS "Surrogate key of the cost row",
  t.TRANSACTION_ID AS "The costing transaction — join up for the item; there is no item column here",
  t.COST_ELEMENT_ID AS "Cost element of this slice",
  t.EXPENSE_POOL_ID AS "Expense pool of the slice",
  t.COST_ORG_ID AS "Cost organization",
  t.COST_BOOK_ID AS "Cost book",
  t.UNIT_COST AS "Unit cost for this element in the costing currency",
  t.CURRENCY_CODE AS "Costing currency",
  t.EFF_DATE AS "When this cost became effective — take the latest per transaction + element + pool",
  t.COST_DATE AS "Cost date",
  t.COST_SOURCE AS "Where the cost came from (PO, AP…)",
  t.COSTED_QTY AS "Quantity costed",
  t.POSTED_FLAG AS "Whether the cost propagated to the layer/average tables",
  t.VALID_COST_FLAG AS "Usable for inventory valuation"
FROM <catalog>.<schema>.CST_TRANSACTION_COSTS t
WHERE
  1 = 1  -- no automatic partition anchor on this table; the filters below are optional
  -- AND t.TRANSACTION_COST_ID = <TRANSACTION_COST_ID>
  -- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>'  -- the column incremental BICC extracts key on
ORDER BY t.TRANSACTION_COST_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.

Loading relationship diagram…

Join details

  • CST_COST_DISTRIBUTION_LINESCST_TRANSACTION_COSTSforeign key · N:1
    ON CST_COST_DISTRIBUTION_LINES.TRANSACTION_COST_ID = CST_TRANSACTION_COSTS.TRANSACTION_COST_ID
  • CST_TRANSACTION_COSTSCST_TRANSACTIONSforeign key · N:1
    ON CST_TRANSACTION_COSTS.TRANSACTION_ID = CST_TRANSACTIONS.TRANSACTION_ID
  • CST_TRANSACTION_COSTSCST_COST_ELEMENTS_Bforeign key · N:1
    ON CST_TRANSACTION_COSTS.COST_ELEMENT_ID = CST_COST_ELEMENTS_B.COST_ELEMENT_ID

Browse more Cost Management tables

More Cost Management 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.