Guides / Reference
Reference

Oracle Fusion Tables Reference: Complete Guide to the Oracle Fusion Data Model

July 16, 2026 44 min read
Back to Guides
Foundation Series — Comprehensive Reference Guide

A practical map of how Oracle Fusion organizes data: naming clues, temporal versions, translation layers, organizational scope, security, recurring relationship shapes, and more than fifty high-value tables and views across HCM, Financials, Procurement, Inventory, Projects, and Security.

In This GuideYou'll Learn
Naming conventionsHow to use suffixes as clues without treating them as universal rules
Temporal dataHow _F/_M objects, updates, corrections, future rows, and same-day changes actually behave
TranslationsWhen to use base, translation, and session-language views
SecurityWhy OTBI security and BI Publisher physical SQL are not the same thing
Relationship patternsHow to recognize person→assignment, header→line→distribution, TCA, SLA, and hierarchy paths
Module referenceWhich object to start with for common HCM, Finance, Procurement, Inventory, and Projects questions

Scope

This is a reporting/developer reference, not an assertion that every physical table is a supported public integration contract. Oracle's Tables and Views documentation is the source of truth for current object metadata; REST, OTBI, BICC/replicated extraction, and other supported interfaces have their own contracts and security behavior.

Why This Reference Exists

Writing SQL is rarely the first difficult step in Oracle Fusion. The harder question is usually: which object represents the business grain I actually need?

An “employee” is not one database row. Person identity, name, work relationship, assignment, manager, job, position, location, and organization all have separate lifecycles. A purchase order is not one row either: header, line, schedule, distribution, receipt, invoice matching, and accounting each live at different grains. A supplier name is a TCA party attribute, while supplier operational attributes belong to Procurement.

This reference is designed to make those distinctions visible before you write the join.

Why Oracle Fusion's Data Model Is Hard to Learn

Fusion combines several architectural concerns in the same schema: application business objects, date effectivity, translation, enterprise partitioning, business-unit or inventory-organization scope, accounting grain, and data security. Those concerns do not map one-to-one to suffixes.

The useful skill is therefore not “memorize every suffix.” It is: use the name as a hypothesis, then verify the actual object's columns, keys, foreign keys, view definition, and security semantics.

What Makes This Reference Different

Oracle's object documentation is excellent for answering “does this column exist?” This guide focuses on the next questions: what is the row grain, which neighboring object completes the business concept, which join silently multiplies rows, and which familiar-looking name comes from an older Oracle Applications model rather than current Fusion.

The four questions to ask for any object

  • Grain: what does one physical row represent?
  • Time: is the row date-effective, date-enabled, sequenced, or non-date-tracked?
  • Scope: person, work relationship, BU, ledger, inventory organization, project BU, or another organizational axis?
  • Security: does this object itself enforce end-user data security, or are you looking at an unsecured physical table?

How This Reference Complements the SQL Guide

Where This Guide Stops — and the Other Two Begin

GuidePrimary questionWhat belongs thereWhat does not belong there
Tables Reference — this guideWhere is the data physically stored, and what does one row mean?Tables/views, grain, PK/FK, suffixes, scope columns, translations, flexfield storage, audit/interface layers, TCA/XLA lineage.Long executable SQL examples; functional implementation philosophy.
SQL Queries GuideHow do I retrieve or reconcile the data?Working SQL, joins, parameters, filters, aggregates, date predicates, query patterns.A full physical object catalog.
Mental ModelsWhy is Fusion designed this way, and how should a functional consultant reason about it?Ownership, enterprise structure, setup vs. transaction, process handoffs, functional architecture.Table names, database joins, SQL implementation.

The Oracle Fusion SQL Guide answers “how do I query this?” This reference answers “where does this live, what is its grain, and what should it join to?” Use the reference to choose the right objects; use the SQL guide for worked query patterns.

  • XLA_TRANSACTION_ENTITIES gives the source transaction an XLA entity identity.
  • XLA_EVENTS records accounting events, keyed within an application.
  • XLA_AE_HEADERS and XLA_AE_LINES contain subledger journal headers and lines.
  • XLA_AE_LINES.GL_SL_LINK_ID and the link-table discriminator support subledger-to-GL drillback.
  • GL_IMPORT_REFERENCES is populated for journal sources configured to maintain import references; it is not guaranteed to contain every possible feeder transaction.

Physical lineage

Source transactionXLA_TRANSACTION_ENTITIESXLA_EVENTSXLA_AE_HEADERSXLA_AE_LINESGL_IMPORT_REFERENCESGL_JE_LINES

The Mental Models guide explains accounting conceptually. At the physical layer, Subledger Accounting introduces a separate identity and journal hierarchy between the source transaction and General Ledger.

The XLA Accounting Data Layer: From Source Transaction to GL

Supplier-side identity chain

POZ_SUPPLIERS.PARTY_IDHZ_PARTIES.PARTY_ID

The supplier operational record and the TCA party identity are related but not interchangeable. Supplier number, party number, supplier site, party site and payment site are different identities with different keys.

Customer-side identity chain

HZ_PARTIESHZ_CUST_ACCOUNTSHZ_CUST_ACCT_SITES_ALLHZ_CUST_SITE_USES_ALL

HZ_LOCATIONS and party-site objects provide the location/site layer. One party can have multiple customer accounts; one account can have multiple sites; one site can have multiple business purposes such as Bill-To or Ship-To.

Trading Community Architecture (TCA) is the identity layer behind many customer and supplier relationships. The physical model separates who the party is from what commercial relationship it has and where/how a site is used.

TCA Party Identity Layer: Party, Account, Site and Business Use

A Useful Physical Distinction

Interface row → validation/import process → production header/line/distribution rows.

The interface can contain rejected, incomplete, duplicated, or still-unprocessed data. For “what exists in Fusion as a business transaction?” use the production object. For “why did this inbound load fail?” the interface/error layer may be exactly where you need to look.

Interface tables are processing surfaces, not alternate copies of production transactions. GL_INTERFACE holds journal-import data waiting to become GL journals. PO_HEADERS_INTERFACE participates in Purchasing Document Open Interface processing before a valid purchase order is created.

Interface & Staging Tables: Data Before It Becomes a Transaction

Do not infer a universal audit convention solely from the name. Oracle explicitly documents trailing-underscore audit variants in several product families, but the object must still be verified individually.

Column / patternMeaningWhy it matters
CREATED_BY / CREATION_DATEWho created the row and whenOperational provenance, not necessarily the business initiator
LAST_UPDATED_BY / LAST_UPDATE_DATELast database-level updater and timestampChange/reconciliation clue; not a full audit trail by itself
LAST_UPDATE_LOGINSession/login provenance where populatedAdditional Who-column context
OBJECT_VERSION_NUMBEROptimistic-locking version counterExplains REST/UI concurrency checks; it is not a business version number
REQUEST_IDESS request that created/updated a row where the object records itUseful for tracing batch-originated changes
Trailing underscore audit objectAudit representation on many audited Fusion objects where documentedDifferent purpose and often different PK from the operational table

Technical Metadata Every Fusion Developer Should Recognize

This means two rows with the same business code can legitimately exist in different sets. Treat SET_ID as part of the data grain whenever the object is reference-data-set enabled.

The Mental Models guide explains why reference data sharing exists. At the schema layer, the important fact is that many shareable reference objects carry a SET_ID. FND_SETID_SETS stores reference-data sets, while FND_SETID_ASSIGNMENTS maps a reference group and determinant to the set that applies.

Reference Data Sets: The Physical SET_ID Layer

  • FND_DF_SEGMENTS_B — DFF segment metadata, including context, database column and value-set references.
  • FND_KF_SEGMENTS_B — KFF segment metadata, including structure, sequence, column and default value set.
  • FND_VS_VALUE_SETS — value-set definitions.
  • FND_VS_VALUES_B — values belonging to a value set.

Metadata Objects Worth Knowing

Flexfield typePhysical patternWhat to look for
Descriptive Flexfield (DFF)Additional columns on the owning object, often ATTRIBUTE* plus a context/category columnContext + segment metadata; the same ATTRIBUTE column can mean different things in different contexts
Extensible Flexfield (EFF)Separate extension table, often one-to-many from the base objectContext code, extension row ID, parent key; multiple contexts may coexist
Key Flexfield (KFF)Structured multi-segment key whose segments form a business code combinationStructure/segment metadata and the resulting combination ID; GL_CODE_COMBINATIONS is the canonical example

Flexfields are one of the biggest reasons two Fusion customers can use the same base object very differently. The physical storage model differs by flexfield type, so “where is my custom field?” has three different answers.

Flexfields & Extension Storage: DFF, EFF, KFF and Value Sets

The physical lesson is simple: a stored status code is not necessarily the text a user sees. Resolve codes through the documented lookup/value layer when the report needs a display meaning, and preserve the code when the integration or reconciliation depends on stable machine-readable values.

Fusion transactional tables often store a compact code while the user interface displays a translated meaning. FND_LOOKUP_VALUES exposes the familiar lookup dimensions: lookup type, lookup code, meaning, description, language, enabled status, active dates, and—where applicable—reference-data set context.

Lookups: Codes, Meanings & Display Values

Date patternMeaningExamples
EFFECTIVE_START_DATE / EFFECTIVE_END_DATEWhich version of a date-effective entity is valid as of a datePeople, assignments, jobs, positions
START_DATE_ACTIVE / END_DATE_ACTIVEWhether a reference/configuration value is enabled for useLookups, value-set values
Transaction dateWhen the business event occurredInvoice date, receipt date, transaction date
Accounting / GL dateWhen the event belongs in accountingSubledger distributions, cash receipt history, journals
Who-column timestampsWhen the database row was created or last changedCREATION_DATE, LAST_UPDATE_DATE

Not every pair of dates is an effective-date model. Fusion uses several different date semantics, and confusing them produces subtle reporting errors.

Date Semantics Beyond Effective Dating

RoleTypical shapeExamplesWhat it is not
Master / identityOne durable identity, referenced by transactionsHZ_PARTIES, POZ_SUPPLIERS, FA_ADDITIONS_BA transaction history
HeaderOne business document or event headerPO_HEADERS_ALL, AP_INVOICES_ALL, GL_JE_HEADERSThe lowest accounting/detail grain
LineOne detail row under a headerPO_LINES_ALL, AP_INVOICE_LINES_ALL, GL_JE_LINESA header total
ScheduleFulfilment/timing split below a linePO_LINE_LOCATIONS_ALL, payment schedulesA generic line synonym
DistributionAccounting, requester, project, or allocation splitPO_DISTRIBUTIONS_ALL, AP_INVOICE_DISTRIBUTIONS_ALL, RA_CUST_TRX_LINE_GL_DIST_ALLFinal SLA accounting by definition
Bridge / associationConnects two many-sided business objectsAP_INVOICE_PAYMENTS_ALL, AR_RECEIVABLE_APPLICATIONS_ALL, PJB_CNTRCT_PROJ_LINKSOptional decoration
Lifecycle / historyOne row per state transition or historical eventAR_CASH_RECEIPT_HISTORY_ALL, effective-dated HCM objectsA single current snapshot
Interface / stagingRows waiting for validation/importGL_INTERFACE, PO_HEADERS_INTERFACEThe final transaction of record
AuditChange-history representation for audited objectsTrailing-underscore audit variants where documentedThe operational base object

Suffixes are useful, but the object's role is often even more useful. Most Fusion data structures fall into a small set of physical roles.

Physical Table Roles: What Kind of Object Are You Looking At?

Not every object's practical uniqueness is a single ID. A balance can depend on ledger, period, currency, code combination, and balance type. An assignment version depends on assignment identity plus effective dating and same-day sequence state. A customer site use belongs to an account site and a business purpose. Always preserve the dimensions that define the business grain, not just the easiest numeric key to join.

Composite Grain Matters

Fusion commonly separates an internal numeric identifier from the number users recognize. PO_HEADERS_ALL.PO_HEADER_ID is the system key; SEGMENT1 is the displayed PO number. RA_CUSTOMER_TRX_ALL.CUSTOMER_TRX_ID is the transaction key; the user-facing transaction number is a different attribute. The same distinction appears across Projects, HCM, AP, and SCM.

Surrogate IDs vs. Business Numbers

A table name tells you roughly what the object is. The key tells you what one row actually represents. Before using a table, identify its grain in one sentence. “One purchase order header,” “one AP invoice line,” “one assignment version,” and “one subledger journal line” are different grains even when they share related IDs.

Keys, Grain & Cardinality: The Real Foundation of Fusion SQL

Five Fields That Answer Most Schema Questions

MetadataWhat it tells youQuestion to ask
Object TypeTABLE, VIEW, audit/interface object, etc.Am I looking at stored data or a derived layer?
Primary KeyThe documented physical uniquenessWhat makes one row one row?
Foreign KeysDocumented relationship pathsWhat can I join without inventing a bridge?
Column commentsBusiness/technical meaning and often scopeIs this ID a person, BU, ledger, party, schedule, distribution, event, or something else?
IndexesFrequently accessed combinations and sometimes hidden grain cluesWhich column combinations recur together?

Oracle's Tables and Views pages are most useful when you treat them as a physical metadata dictionary, not as a ready-made reporting contract. For each object, read five things in order: object type, primary key, column descriptions, foreign keys, and indexes. Together they tell you what the object stores, what makes a row unique, and which relationships Oracle itself documents.

How to Read Oracle Fusion Table Documentation

Table Naming Conventions: A Safer Decoder

Suffixes are valuable, but they are conventions, not contracts. Do not derive a required predicate solely from a suffix. Confirm the actual object definition.

PatternUsually IndicatesWhat to Verify
_BBase/structural object in many product familiesWhether a paired translation object exists; some base objects also carry display text
_TLTranslation rowsActual key, effective-date columns if any, and LANGUAGE/SOURCE_LANG behavior
_VLLanguage-aware viewView definition; often joins base+TL and filters to session language
_FDate-effective object in many HCM/Foundation areasEffective start/end columns and full PK
_MA versioned/date-effective object in some newer modelsDo not assume _F semantics only; inspect sequence/latest-change columns
_ALLA shared physical table name used widelyActual organizational/scoping columns; there is no universal _ALL predicate
_ALL_MCombined naming clues on some objectsInspect both temporal columns and real BU/org columns; don't infer “two mandatory predicates” from the name alone

_B, _TL, and _VL

A common pattern is language-independent structure plus translated text. In HCM jobs, for example, the current objects are PER_JOBS_F, PER_JOBS_F_TL, and PER_JOBS_F_VL. The _VL view resolves the translated name using the session language.

Do not hard-code LANGUAGE='US' and describe it as “the user's session language.” US is an English language code. When querying translation tables directly, use the language required by the report; when a suitable _VL exists, it is often the simpler session-language option.

_F — Date-Effective Clue

An _F object often contains physical rows bounded by EFFECTIVE_START_DATE and EFFECTIVE_END_DATE. A current or as-of query must resolve the row for the intended date. But not every time-aware object ends in _F, and not every object with dates implements the same date-effectivity behavior.

_M — Inspect the Actual Versioning Model

PER_ALL_ASSIGNMENTS_M is the critical example. It supports multiple changes on the same day. Its key includes effective dates, EFFECTIVE_LATEST_CHANGE, and EFFECTIVE_SEQUENCE. For a normal current/as-of final-state assignment snapshot, date filtering alone is incomplete; EFFECTIVE_LATEST_CHANGE='Y' is normally part of the grain. For a same-day audit timeline, preserve the sequence instead of filtering those rows away.

_ALL — Do Not Decode It as a Universal Business-Unit Rule

Many Financials and Procurement _ALL tables contain rows across organizational scopes, but the relevant column varies by object. AP_INVOICES_ALL uses ORG_ID for the associated business unit. PO_HEADERS_ALL exposes procurement and requisitioning BU concepts such as PRC_BU_ID and REQ_BU_ID. Other modules use completely different organizational axes.

The safe rule is: identify the business scope from the object's documented columns, not from the suffix.

Module Prefixes — Useful Starting Clues

PrefixTypical AreaExample
PER / HRGlobal Human ResourcesPER_ALL_ASSIGNMENTS_M
PAYPayrollPAY_RUN_RESULTS
GLGeneral LedgerGL_JE_HEADERS
XLASubledger AccountingXLA_AE_HEADERS
APPayablesAP_INVOICES_ALL
AR / RAReceivablesRA_CUSTOMER_TRX_ALL
HZTrading Community Architecture / partiesHZ_PARTIES
PO / POR / POZPurchasing / requisitions / suppliersPO_HEADERS_ALL / POR_REQUISITION_HEADERS_ALL / POZ_SUPPLIERS
RCVReceivingRCV_TRANSACTIONS
EGP / INVProduct/item and inventoryEGP_SYSTEM_ITEMS_B / INV_MATERIAL_TXNS
PJF / PJCProjects / Project CostingPJF_PROJECTS_ALL_B / PJC_EXP_ITEMS_ALL
FNDApplication foundation / data securityFND_GRANTS

Understanding the Data Model: Business Objects vs. Tables vs. Views

A business object is the functional concept. A table is a physical storage object. A view is a database-defined projection or join. An OTBI subject area is a semantic analytics layer. These layers should not be treated as interchangeable.

The Worker Business Concept, Assembled

PieceObjectWhat It Contributes
Person identityPER_ALL_PEOPLE_FPerson number and date-effective person row
Person attributesPER_PERSONSNon-date-tracked parent including DATE_OF_BIRTH
NamePER_PERSON_NAMES_FGlobal/local display names
Work relationshipPER_PERIODS_OF_SERVICELegal-employer relationship and start/termination
AssignmentPER_ALL_ASSIGNMENTS_MDepartment, job, grade, position, location, assignment status
ManagerPER_ASSIGNMENT_SUPERVISORS_FAssignment-level supervisory relationship
Job namePER_JOBS_F_VLSession-language job name

Notice what is not true: PER_ALL_PEOPLE_F does not contain every personal attribute, and the assignment does not itself contain the manager relationship as a generic MANAGER_ID field for reporting.

Effective-Dated Tables: The Complete Model

Date effectivity represents one logical object with one or more physical rows over time. Past, current, and future physical rows can coexist.

Update vs. Correction
Update can insert/split a physical record in history and adjust neighboring effective dates. Correction edits an existing physical record and does not create a separate physical record simply to preserve the correction as another history version.

That distinction matters because the common statement “Fusion never updates a row; every change creates another row” is false. Date-effective behavior depends on the operation.

DATE '4712-12-31' is commonly used as an end-of-time/open-ended sentinel. It means “no later effective end is currently defined,” not “this row is definitely current today.” A future-dated physical row can also be open-ended.

Current/as-of pattern

-- Generic date-effective row
:p_as_of_date BETWEEN effective_start_date AND effective_end_date

-- PER_ALL_ASSIGNMENTS_M final state for that effective date
:p_as_of_date BETWEEN effective_start_date AND effective_end_date
AND effective_latest_change = 'Y'

Translation Tables & Multi-Language Design

Translation objects separate language-specific labels from the underlying business identity. The exact shape varies, so verify the object definition rather than assuming every _TL has identical keys.

For HCM jobs, PER_JOBS_F_VL is a concrete example: Oracle's view joins PER_JOBS_F and PER_JOBS_F_TL on job ID and effective dates, then filters the translation row to the session language.

Common Mistake

Joining a translation table without a language predicate can multiply rows. The inverse mistake is assuming every installed language has a populated translation for every record.

Data Visibility & Security in Oracle Fusion

This guide treats security only as a data-access layer in the physical model. Functional roles, ownership, and security-design philosophy belong in the Mental Models guide.

Secured Views vs. Base Tables

In HCM, Oracle documents secured list views such as PER_PERSON_SECURED_LIST_V, PER_ASSIGNMENT_SECURED_LIST_V, PER_POSITION_SECURED_LIST_V, and CMP_SALARY_SECURED_LIST_V. These are designed to apply HCM data-security scope for the logged-in user.

A BI Publisher physical SQL query against a base table does not automatically become equivalent to OTBI or the application UI merely because the user launched the report. Oracle explicitly distinguishes base-table physical SQL from secured-list-view access in HCM.

Physical Security Object Families

LayerExamplesWhat it represents
IdentityPER_USERSApplication user/person relationship
Security configurationPER_SECURITY_PROFILESHCM security-profile definitions
Data security grantsFND_GRANTSData-security grant records in the application foundation
Secured reporting viewsPER_*_SECURED_LIST_V, CMP_SALARY_SECURED_LIST_VRow populations resolved through HCM security rules
Database policy protectionProduct-specific protected/PII objectsAdditional database-level policies where Oracle applies them

At the schema layer, organizational scope is expressed through different identifiers on different objects. Do not decode a table's organizational meaning from the _ALL suffix alone.

Scope columnTypical meaningExample families
ORG_IDBusiness-unit / operating-unit style transaction scope in many Financials objectsAP, AR
PRC_BU_IDProcurement Business UnitPurchase Orders, supplier sites
REQ_BU_IDRequisitioning Business UnitPurchasing/requisition-related objects
LEGAL_ENTITY_IDLegal-entity referenceAssignments, Financials transactions, payments
LEDGER_IDAccounting ledgerGL, XLA and subledger accounting objects
ORGANIZATION_IDContext-specific organization; in Inventory commonly inventory organizationInventory, SCM
SET_IDReference-data sharing scopeJobs and other set-enabled reference data

These columns are not synonyms. A transaction can legitimately carry several of them because operational scope, legal ownership, accounting ledger and reference-data context answer different physical relationship questions.

Relationship Archetypes

PatternTypical PathWhy It Matters
Person → Work Relationship → AssignmentPER_ALL_PEOPLE_F → PER_PERIODS_OF_SERVICE → PER_ALL_ASSIGNMENTS_MPERSON_ID alone is not sufficient for work-relationship-specific facts.
Assignment → SupervisorPER_ALL_ASSIGNMENTS_M → PER_ASSIGNMENT_SUPERVISORS_FManager resolution is assignment-level.
Base → Translation/ViewPER_JOBS_F → PER_JOBS_F_TL / PER_JOBS_F_VLKeep identity separate from display language.
Header → Line → DistributionAP invoice or PO hierarchyAmounts repeat if a header total is summed after a 1:N join.
Party → AccountHZ_PARTIES → HZ_CUST_ACCOUNTS or POZ_SUPPLIERS → HZ_PARTIESOperational customer/supplier IDs and party identity are different grains.
Subledger → SLA → GLSource transaction → XLA transaction entity/AE lines → GL import references/journalA shared account ID is not a transaction trace.
Master → Current State → Transaction HistoryEGP item → on-hand detail → material transactionsCurrent stock and movement history answer different questions.
Project → Task → ExpenditurePJF project → PJF project element → PJC_EXP_ITEMS_ALLProject cost grain is expenditure item, not project header.

HCM

Start by separating person, work relationship, assignment, and supervisor. Most HCM reporting mistakes come from collapsing those grains into one.

Business ConceptCurrent Object(s)Key / JoinReporting Note
Person identityPER_ALL_PEOPLE_F + PER_PERSONSPERSON_IDPER_ALL_PEOPLE_F is date-effective; PER_PERSONS holds non-date-tracked person attributes such as DATE_OF_BIRTH.
NamePER_PERSON_NAMES_FPERSON_ID / PERSON_NAME_IDChoose NAME_TYPE and apply the as-of date.
Work relationshipPER_PERIODS_OF_SERVICEPERIOD_OF_SERVICE_IDJoin from assignment by PERIOD_OF_SERVICE_ID; a person can have multiple work relationships.
AssignmentPER_ALL_ASSIGNMENTS_MASSIGNMENT_IDCurrent/as-of final state normally needs effective date + EFFECTIVE_LATEST_CHANGE='Y'.
ManagerPER_ASSIGNMENT_SUPERVISORS_FASSIGNMENT_IDManager relationship lives here, not in a generic MANAGER_ID column on the assignment.
Job / gradePER_JOBS_F_VL / PER_GRADES_F_VLJOB_ID / GRADE_IDUse language-aware views when a display name is needed.
DepartmentHR_ALL_ORGANIZATION_UNITS_F + HR_ORGANIZATION_UNITS_F_TLORGANIZATION_IDBase row and translated name are separate; resolve both as of the same date for historical reporting.
PositionHR_ALL_POSITIONS_F_VLPOSITION_IDLanguage-aware date-effective position.
LocationHR_LOCATIONS_ALL_F_VLLOCATION_IDLanguage-aware date-effective location and address.

HCM Rule

For normal current/as-of assignment state, date-filter PER_ALL_ASSIGNMENTS_M and use EFFECTIVE_LATEST_CHANGE='Y'. Decide separately whether the business question requires PRIMARY_FLAG='Y'.

Financials: General Ledger, Accounts Payable, Accounts Receivable

Business ConceptCurrent Object / PathGrain / KeyReporting Note
JournalGL_JE_HEADERS → GL_JE_LINESJE_HEADER_IDHeader-to-line relationship.
AccountGL_CODE_COMBINATIONSCODE_COMBINATION_IDAccounting flexfield combination used across subledgers and GL.
BalanceGL_BALANCESledger + CCID + currency + period + ACTUAL_FLAGContains actual, budget and encumbrance balances; preserve full balance grain.
CalendarGL_PERIODSperiod set + period nameDefines period dates and calendar attributes; not period open/close status.
Period statusGL_PERIOD_STATUSESapplication + ledger + periodStores O/F/C/P/N closing status.
AP invoiceAP_INVOICES_ALL → AP_INVOICE_LINES_ALL → AP_INVOICE_DISTRIBUTIONS_ALLinvoice → line → distributionDistribution account is operational AP distribution grain, not automatically final posted SLA-to-GL trace.
AP paymentAP_INVOICES_ALL → AP_INVOICE_PAYMENTS_ALL → AP_CHECKS_ALLINVOICE_ID / CHECK_IDUse bridge table; don't join invoice and check only by supplier.
SupplierPOZ_SUPPLIERS → HZ_PARTIESVENDOR_ID / PARTY_IDSupplier number is POZ; display party name comes from TCA.
Supplier sitePOZ_SUPPLIER_SITES_ALL_MVENDOR_SITE_IDEffective-dated and procurement-BU scoped; supports same-day effective sequence.
AR customerRA_CUSTOMER_TRX_ALL → HZ_CUST_ACCOUNTS → HZ_PARTIESBILL_TO_CUSTOMER_ID / CUST_ACCOUNT_ID / PARTY_IDSeparate transaction, customer account and party identity grains.

GL Balance Grain

GL_BALANCES isn't uniquely described by account + period + currency alone. Preserve ledger and ACTUAL_FLAG, and account for budget/encumbrance/translation attributes where relevant. Oracle stores period activity and beginning balances separately.

Distribution Account ≠ Final Accounting Trace

AP_INVOICE_DISTRIBUTIONS_ALL.DIST_CODE_COMBINATION_ID can describe the AP distribution charge account, but final subledger accounting and transferred GL journal tracing belongs through SLA/XLA and the GL link references.

Procurement & Inventory/SCM

Business ConceptCurrent Object / PathGrain / KeyReporting Note
RequisitionPOR_REQUISITION_HEADERS_ALL → POR_REQUISITION_LINES_ALL → POR_REQ_DISTRIBUTIONS_ALLheader → line → distributionRequisition accounting distribution is the reliable bridge toward a sourced PO distribution.
Purchase orderPO_HEADERS_ALL → PO_LINES_ALL → PO_LINE_LOCATIONS_ALL → PO_DISTRIBUTIONS_ALLheader → line → schedule → distributionChoose the lowest common grain required by the report.
ReceiptRCV_TRANSACTIONSTRANSACTION_IDCarries PO header/line/schedule/distribution references for receiving events.
ItemEGP_SYSTEM_ITEMS_BINVENTORY_ITEM_ID + ORGANIZATION_IDItem attributes are organization-specific.
On handINV_ONHAND_QUANTITIES_DETAILONHAND_QUANTITIES_IDReceipt-layer stack; calculate on-hand by summing TRANSACTION_QUANTITY at the requested control/location grain.
Inventory movementINV_MATERIAL_TXNSTRANSACTION_IDTransaction history; distinct from current on-hand state.

For PO-to-invoice or PO-to-receipt analysis, prefer the deepest documented common key available: schedule, distribution, or receipt transaction. A header-level join can be valid for document existence, but it is too coarse for matching and quantity/value reconciliation.

Projects & Security

Business ConceptCurrent ObjectKey / GrainReporting Note
ProjectPJF_PROJECTS_ALL_B / PJF_PROJECTS_ALL_VLPROJECT_IDUse VL for session-language project name/description.
Task / elementPJF_PROJ_ELEMENTS_B / PJF_PROJ_ELEMENTS_VLPROJ_ELEMENT_IDTask/WBS structural element and translated text.
Project costPJC_EXP_ITEMS_ALLEXPENDITURE_ITEM_IDSmallest expenditure unit charged to project/task; current Fusion object name.
UserPER_USERSUSER_IDHCM user/account mapping; not a complete authorization model.
Data grantFND_GRANTSGRANT_GUIDStores Data Security Grants, not merely UI/function access grants.
HCM security profilePER_SECURITY_PROFILESSECURITY_PROFILE_IDDefines an HCM security profile; actual reporting security also uses roles/privileges and secured views.

The current Project Costing expenditure table is PJC_EXP_ITEMS_ALL. The older-looking name PJC_EXPENDITURE_ITEMS_ALL should not be used as the current Fusion object in this guide.

FamilyKey objectsPurpose
LookupsFND_LOOKUP_VALUESCode → translated meaning/description with enabled/date/set context
Reference data setsFND_SETID_SETS, FND_SETID_ASSIGNMENTSSET_ID definitions and determinant-to-set assignments
Value setsFND_VS_VALUE_SETS, FND_VS_VALUES_BValue-set definitions and values
DFF metadataFND_DF_SEGMENTS_BDescriptive-flexfield segment-to-column/value-set metadata
KFF metadataFND_KF_SEGMENTS_BKey-flexfield structure/segment metadata

Foundation Metadata, Lookups, Flexfields & Reference Data

FamilyKey objectsPhysical relationship
Project/task structurePJF_PROJECTS_ALL_B, PJF_PROJ_ELEMENTS_BProject identity → workplan/task elements
Project costPJC_EXP_ITEMS_ALLExpenditure/cost item references project and task
Contract-project bridgePJB_CNTRCT_PROJ_LINKSAssociates project/task scope with contract/header/line scope
Billing eventsPJB_BILLING_EVENTSProject/task/contract-related revenue or billing events

Projects & Billing

FamilyKey objectsPhysical relationship
Purchasing documentPO_HEADERS_ALL, PO_LINES_ALL, PO_LINE_LOCATIONS_ALL, PO_DISTRIBUTIONS_ALLHeader → line → schedule → distribution
Requisition conversionPOR_REQUISITION_HEADERS_ALL, POR_REQUISITION_LINES_ALL, POR_REQ_DISTRIBUTIONS_ALLRequisition document → line → distribution; distribution bridges to PO distribution
Inventory organization/locationINV_ORG_PARAMETERS, INV_SECONDARY_INVENTORIES, INV_ITEM_LOCATIONSInventory organization → subinventory → stock locator
Inventory quantity/historyINV_ONHAND_QUANTITIES_DETAIL, INV_MATERIAL_TXNSOn-hand receipt layers/current quantity basis vs material transaction history
Order ManagementDOO_HEADERS_ALL, DOO_LINES_ALL, DOO_FULFILL_LINES_ALLOrchestration order → orchestration line → fulfillment line
ShippingWSH_NEW_DELIVERIES, delivery-detail viewsDelivery identity/status and the detailed lines assigned to shipment execution

Procurement, Product, Inventory, Order Management & Shipping

FamilyKey objectsPhysical relationship
Subledger AccountingXLA_TRANSACTION_ENTITIES, XLA_EVENTS, XLA_AE_HEADERS, XLA_AE_LINES, GL_IMPORT_REFERENCESSource identity → event → subledger journal → GL drillback
AR receiptsAR_CASH_RECEIPTS_ALL, AR_CASH_RECEIPT_HISTORY_ALL, AR_RECEIVABLE_APPLICATIONS_ALLReceipt → lifecycle states → applications to invoices/schedules
AR accounting distributionRA_CUST_TRX_LINE_GL_DIST_ALLReceivables transaction-line accounting distribution
Oracle Payments / CashIBY_PAYMENTS_ALL, CE_BANK_ACCOUNTS, CE_STATEMENT_HEADERSPayment transaction → internal bank account → bank-statement header
Fixed AssetsFA_ADDITIONS_B, FA_BOOKS, FA_TRANSACTION_HEADERSAsset identity → book/depreciation context → asset transaction history
TaxZX_LINESTax lines keyed back to product-specific transaction/entity identifiers

Financials: SLA, Receipts, Payments, Cash, Assets & Tax

FamilyKey objectsPhysical relationship
Core person/employmentPER_ALL_PEOPLE_F, PER_PERSONS, PER_ALL_ASSIGNMENTS_M, PER_PERIODS_OF_SERVICEPerson identity → work relationship → assignment versions
CompensationCMP_SALARYSalary rows reference assignment and use DATE_FROM/DATE_TO
AbsenceANC_PER_ABS_ENTRIES, ANC_ABSENCE_TYPES_FPerson absence transaction → date-effective absence type
Payroll setup/inputPAY_ELEMENT_TYPES_F, PAY_INPUT_VALUES_F, PAY_ELEMENT_ENTRIES_F, PAY_ELEMENT_ENTRY_VALUES_FElement definition → input definition → assignment/person element entry → entered value
Payroll processing/resultPAY_PAYROLL_REL_ACTIONS, PAY_RUN_RESULTS, PAY_RUN_RESULT_VALUESProcessed payroll relationship → element result → input-value result
BenefitsBEN_PL_F, BEN_PRTT_ENRT_RSLTDate-effective plan definition → participant enrollment result

HCM, Compensation, Absence, Payroll & Benefits

The module sections above introduce the core objects. This layer goes one step deeper: not into functional process design and not into SQL, but into the physical subfamilies that repeatedly appear when you trace a record through the database.

Extended Module Data Families

Quick Reference Index — 117 Key Tables & Views

This index is intentionally broader than a “top 50” list. It contains 117 current, high-value tables and views used to orient yourself in the physical model. Inclusion here means “important to understand,” not “Oracle recommends this object as an analytics or extraction contract.”

AreaObjectRoleGrain / key cue
HCM — Core HR
HCMPER_ALL_PEOPLE_FDate-effective person rowPERSON_ID + effective dates
HCMPER_PERSONSPerson parent / DOB and durable person attributesPERSON_ID
HCMPER_PERSON_NAMES_FDate-effective person namesPERSON_NAME_ID + dates
HCMPER_ALL_ASSIGNMENTS_MAssignment versions; supports same-day changesASSIGNMENT_ID + dates + ELC + sequence
HCMPER_PERIODS_OF_SERVICEWork relationshipPERIOD_OF_SERVICE_ID
HCMPER_ASSIGNMENT_SUPERVISORS_FAssignment-manager relationshipASSIGNMENT_SUPERVISOR_ID + dates
HCMPER_EMAIL_ADDRESSESPerson email addressesEMAIL_ADDRESS_ID
HCMPER_PHONESPerson phone recordsPHONE_ID
HCMPER_ADDRESSES_FDate-effective addressesADDRESS_ID + dates
HCMPER_PERSON_ADDR_USAGES_FPerson-to-address usagePERSON_ADDR_USAGE_ID + dates
HCMPER_NATIONAL_IDENTIFIERSNational identifier recordsNATIONAL_IDENTIFIER_ID
HCMPER_JOBS_FDate-effective job definitionJOB_ID + dates
HCMPER_JOBS_F_VLLanguage-aware job viewJOB_ID + dates
HCMPER_GRADES_FDate-effective grade definitionGRADE_ID + dates
HCMPER_GRADES_F_VLLanguage-aware grade viewGRADE_ID + dates
HCMHR_ALL_ORGANIZATION_UNITS_FDate-effective organization definitionORGANIZATION_ID + dates
HCMHR_ORGANIZATION_UNITS_F_TLOrganization translationORGANIZATION_ID + language + dates
HCMHR_ALL_POSITIONS_FDate-effective position definitionPOSITION_ID + dates
HCMHR_ALL_POSITIONS_F_VLLanguage-aware position viewPOSITION_ID + dates
HCMHR_LOCATIONS_ALL_F_VLLanguage-aware location viewLOCATION_ID + dates
HCM — Compensation / Absence
HCMCMP_SALARYSalary rows by assignmentSALARY_ID; DATE_FROM/DATE_TO
HCMANC_PER_ABS_ENTRIESPerson absence entriesPER_ABSENCE_ENTRY_ID + enterprise
HCMANC_ABSENCE_TYPES_FDate-effective absence typeABSENCE_TYPE_ID + dates
HCM — Payroll / Benefits
HCMPAY_ELEMENT_TYPES_FDate-effective payroll element definitionELEMENT_TYPE_ID + dates
HCMPAY_INPUT_VALUES_FDate-effective element input valuesINPUT_VALUE_ID + dates
HCMPAY_ELEMENT_ENTRIES_FElement entry instanceELEMENT_ENTRY_ID + dates
HCMPAY_ELEMENT_ENTRY_VALUES_FActual entered element-input valuesELEMENT_ENTRY_VALUE_ID + dates
HCMPAY_PAYROLL_REL_ACTIONSIndividuals processed in a payroll processPAYROLL_REL_ACTION_ID
HCMPAY_RUN_RESULTSPayroll run result for an elementRUN_RESULT_ID
HCMPAY_RUN_RESULT_VALUESResult value by run result and input valueRUN_RESULT_ID + INPUT_VALUE_ID
HCMBEN_PL_FDate-effective benefits planPL_ID + dates
HCMBEN_PRTT_ENRT_RSLTParticipant enrollment resultPRTT_ENRT_RSLT_ID
Financials — GL / SLA
FinancialsGL_JE_HEADERSGL journal headerJE_HEADER_ID
FinancialsGL_JE_LINESGL journal lineJE_HEADER_ID + JE_LINE_NUM
FinancialsGL_CODE_COMBINATIONSAccounting flexfield combinationCODE_COMBINATION_ID
FinancialsGL_BALANCESLedger/period/account/currency/balance-type balancesComposite accounting grain
FinancialsGL_PERIODSAccounting calendar periodsPERIOD_SET_NAME + PERIOD_NAME
FinancialsGL_PERIOD_STATUSESApplication/ledger period statusAPPLICATION_ID + LEDGER_ID + PERIOD_NAME
FinancialsGL_LEDGERSLedger definitionsLEDGER_ID
FinancialsGL_DAILY_RATESCurrency conversion ratesFrom/to currency + date + type
FinancialsGL_IMPORT_REFERENCESSubledger/feeder references for imported GL linesIMPORT_REFERENCE_ID; JE header/line + GL/SL link
FinancialsXLA_TRANSACTION_ENTITIESSubledger transaction identityENTITY_ID + APPLICATION_ID
FinancialsXLA_EVENTSAccounting eventEVENT_ID + APPLICATION_ID
FinancialsXLA_AE_HEADERSSubledger accounting journal headerAE_HEADER_ID + APPLICATION_ID
FinancialsXLA_AE_LINESSubledger accounting journal lineAE_HEADER_ID + AE_LINE_NUM + APPLICATION_ID
Financials — Payables / Payments
FinancialsAP_INVOICES_ALLAP invoice headerINVOICE_ID
FinancialsAP_INVOICE_LINES_ALLAP invoice lineINVOICE_ID + LINE_NUMBER
FinancialsAP_INVOICE_DISTRIBUTIONS_ALLAP invoice accounting/distribution rowINVOICE_DISTRIBUTION_ID
FinancialsAP_PAYMENT_SCHEDULES_ALLAP payment schedule/installmentPAYMENT_SCHEDULE_ID
FinancialsAP_INVOICE_PAYMENTS_ALLInvoice-to-payment bridgeINVOICE_PAYMENT_ID
FinancialsAP_CHECKS_ALLPayables payment/check recordCHECK_ID
FinancialsIBY_PAYMENTS_ALLOracle Payments payment transactionPAYMENT_ID
Financials — Receivables / TCA
FinancialsRA_CUSTOMER_TRX_ALLAR transaction headerCUSTOMER_TRX_ID
FinancialsRA_CUSTOMER_TRX_LINES_ALLAR transaction lineCUSTOMER_TRX_LINE_ID
FinancialsRA_CUST_TRX_LINE_GL_DIST_ALLAR transaction-line accounting distributionCUST_TRX_LINE_GL_DIST_ID
FinancialsAR_PAYMENT_SCHEDULES_ALLAR payment schedule / open-balance installmentPAYMENT_SCHEDULE_ID
FinancialsAR_CASH_RECEIPTS_ALLCash receiptCASH_RECEIPT_ID
FinancialsAR_CASH_RECEIPT_HISTORY_ALLReceipt lifecycle stepCASH_RECEIPT_HISTORY_ID
FinancialsAR_RECEIVABLE_APPLICATIONS_ALLReceipt/credit application bridgeRECEIVABLE_APPLICATION_ID
FinancialsHZ_PARTIESTCA party identityPARTY_ID
FinancialsHZ_CUST_ACCOUNTSCustomer account relationship to a partyCUST_ACCOUNT_ID
FinancialsHZ_CUST_ACCT_SITES_ALLCustomer account siteCUST_ACCT_SITE_ID
FinancialsHZ_CUST_SITE_USES_ALLCustomer account-site business purposeSITE_USE_ID
FinancialsHZ_LOCATIONSPostal/physical locationLOCATION_ID
FinancialsHZ_PARTY_SITE_USESParty-site business purposePARTY_SITE_USE_ID
Financials — Cash / Assets / Tax
FinancialsCE_BANK_ACCOUNTSInternal bank-account masterBANK_ACCOUNT_ID
FinancialsCE_STATEMENT_HEADERSBank statement headerSTATEMENT_HEADER_ID
FinancialsFA_ADDITIONS_BAsset identity/masterASSET_ID
FinancialsFA_BOOKSAsset book/depreciation context and historyASSET_ID + BOOK_TYPE_CODE + lifecycle context
FinancialsFA_TRANSACTION_HEADERSAsset transaction headerTRANSACTION_HEADER_ID
FinancialsZX_LINESTax detail line across product event classesTAX_LINE_ID / transaction references
Procurement / Supplier / Receiving
Procurement / Supplier / ReceivingPOZ_SUPPLIERSSupplier operational masterVENDOR_ID
Procurement / Supplier / ReceivingPOZ_SUPPLIER_SITES_ALL_MEffective supplier site by Procurement BUVENDOR_SITE_ID + effective versioning
Procurement / Supplier / ReceivingPOR_REQUISITION_HEADERS_ALLRequisition headerREQUISITION_HEADER_ID
Procurement / Supplier / ReceivingPOR_REQUISITION_LINES_ALLRequisition lineREQUISITION_LINE_ID
Procurement / Supplier / ReceivingPOR_REQ_DISTRIBUTIONS_ALLRequisition distributionDISTRIBUTION_ID
Procurement / Supplier / ReceivingPO_HEADERS_ALLPurchase order headerPO_HEADER_ID
Procurement / Supplier / ReceivingPO_LINES_ALLPurchase order linePO_LINE_ID
Procurement / Supplier / ReceivingPO_LINE_LOCATIONS_ALLPO schedule/shipmentLINE_LOCATION_ID
Procurement / Supplier / ReceivingPO_DISTRIBUTIONS_ALLPO distributionPO_DISTRIBUTION_ID
Procurement / Supplier / ReceivingRCV_TRANSACTIONSReceiving transactionTRANSACTION_ID
Product / Inventory / Order Management / Shipping
Product / Inventory / Order Management / ShippingEGP_SYSTEM_ITEMS_BItem definition by organizationINVENTORY_ITEM_ID + ORGANIZATION_ID
Product / Inventory / Order Management / ShippingEGP_ITEM_CAT_ASSIGNMENTSItem-category assignmentItem/category/catalog relationship
Product / Inventory / Order Management / ShippingINV_ORG_PARAMETERSInventory organization parametersORGANIZATION_ID
Product / Inventory / Order Management / ShippingINV_SECONDARY_INVENTORIESSubinventory definitionSECONDARY_INVENTORY_NAME + ORGANIZATION_ID
Product / Inventory / Order Management / ShippingINV_ITEM_LOCATIONSStock locator definition / locator KFFINVENTORY_LOCATION_ID
Product / Inventory / Order Management / ShippingINV_ONHAND_QUANTITIES_DETAILOn-hand receipt layers / quantity detailItem + org + subinventory/locator/lot receipt layer
Product / Inventory / Order Management / ShippingINV_MATERIAL_TXNSMaterial transaction historyTRANSACTION_ID
Product / Inventory / Order Management / ShippingDOO_HEADERS_ALLOrder orchestration headerHEADER_ID
Product / Inventory / Order Management / ShippingDOO_LINES_ALLOrder orchestration lineLINE_ID
Product / Inventory / Order Management / ShippingDOO_FULFILL_LINES_ALLOrder fulfillment lineFULFILL_LINE_ID
Product / Inventory / Order Management / ShippingWSH_NEW_DELIVERIESShipping deliveryDELIVERY_ID
Product / Inventory / Order Management / ShippingWSH_DELIVERY_DETAILS_VShipping delivery-detail viewDelivery-detail identity / source line context
Projects
ProjectsPJF_PROJECTS_ALL_BProject base identityPROJECT_ID
ProjectsPJF_PROJECTS_ALL_VLLanguage-aware project viewPROJECT_ID
ProjectsPJF_PROJ_ELEMENTS_BProject/task element basePROJ_ELEMENT_ID
ProjectsPJF_PROJ_ELEMENTS_VLLanguage-aware project/task element viewPROJ_ELEMENT_ID
ProjectsPJC_EXP_ITEMS_ALLProject expenditure/cost itemEXPENDITURE_ITEM_ID
ProjectsPJB_CNTRCT_PROJ_LINKSContract-to-project/task associationContract/project linkage
ProjectsPJB_BILLING_EVENTSProject/contract billing or revenue eventEVENT_ID
Foundation / Flexfields / Reference Data / Security
Foundation / Flexfields / Reference Data / SecurityFND_LOOKUP_VALUESLookup codes and translated meaningsLOOKUP_TYPE + LOOKUP_CODE + language/set context
Foundation / Flexfields / Reference Data / SecurityFND_SETID_SETSReference data set definitionSET_ID
Foundation / Flexfields / Reference Data / SecurityFND_SETID_ASSIGNMENTSDeterminant/reference-group to SET_ID mappingAssignment composite key
Foundation / Flexfields / Reference Data / SecurityFND_VS_VALUE_SETSValue-set definitionVALUE_SET_ID
Foundation / Flexfields / Reference Data / SecurityFND_VS_VALUES_BValue-set valueVALUE_ID / VALUE_SET_ID context
Foundation / Flexfields / Reference Data / SecurityFND_DF_SEGMENTS_BDescriptive flexfield segment metadataDFF/context/segment key
Foundation / Flexfields / Reference Data / SecurityFND_KF_SEGMENTS_BKey flexfield segment metadataStructure/segment key
Foundation / Flexfields / Reference Data / SecurityPER_USERSHCM application user/person relationshipUSER_ID
Foundation / Flexfields / Reference Data / SecurityFND_GRANTSApplication data-security grantsGRANT_ID
Foundation / Flexfields / Reference Data / SecurityPER_SECURITY_PROFILESHCM security-profile definitionSECURITY_PROFILE_ID
Foundation / Flexfields / Reference Data / SecurityPER_PERSON_SECURED_LIST_VSecured HCM person list viewSecurity-resolved person grain
Foundation / Flexfields / Reference Data / SecurityPER_ASSIGNMENT_SECURED_LIST_VSecured HCM assignment list viewSecurity-resolved assignment grain
Foundation / Flexfields / Reference Data / SecurityCMP_SALARY_SECURED_LIST_VSecured salary list viewSecurity-resolved salary grain
Interfaces / Diagnostics
Interfaces / DiagnosticsGL_INTERFACEJournal Import staging/interfaceInterface row; not final journal
Interfaces / DiagnosticsPO_HEADERS_INTERFACEPurchasing document import headerInterface/import row
Interfaces / DiagnosticsAP_INVOICES_ALL_Documented AP invoice audit variantAudit row
Interfaces / DiagnosticsAP_INVOICE_LINES_ALL_Documented AP invoice-line audit variantAudit row

Common Join Paths

1. Employee Directory

PER_ALL_PEOPLE_F → PER_PERSON_NAMES_F → PER_ALL_ASSIGNMENTS_M → PER_JOBS_F_VL

For department display text, resolve the organization translation at the same as-of date. For a current-only shortcut, use the appropriate current/language-aware organization view only if its built-in date behavior matches the report.

2. Employee → Manager

PER_ALL_ASSIGNMENTS_M → PER_ASSIGNMENT_SUPERVISORS_F → PER_PERSON_NAMES_F

Filter the supervisor relationship intentionally (for example the primary supervisor relationship required by your business rule) and date-filter both assignment and supervisor rows.

3. AP Invoice → Charge Distribution

AP_INVOICES_ALL → AP_INVOICE_LINES_ALL → AP_INVOICE_DISTRIBUTIONS_ALL → GL_CODE_COMBINATIONS

This is invoice/distribution analysis. It is not a substitute for SLA-to-GL accounting trace.

4. AP Invoice → Payment

AP_INVOICES_ALL → AP_INVOICE_PAYMENTS_ALL → AP_CHECKS_ALL

5. Purchase Order → Receipt

PO_HEADERS_ALL → PO_LINES_ALL → PO_LINE_LOCATIONS_ALL → PO_DISTRIBUTIONS_ALL → RCV_TRANSACTIONS

Use the deepest common key required for the reconciliation; receipt rows can reference PO header, line, schedule, and distribution.

6. Requisition → Purchase Order

POR_REQUISITION_LINES_ALL → POR_REQ_DISTRIBUTIONS_ALL → PO_DISTRIBUTIONS_ALL

PO_DISTRIBUTIONS_ALL.REQ_DISTRIBUTION_ID is the strong sourcing bridge when a PO distribution was autocreated from a requisition distribution.

7. Customer Account → Party Name

HZ_CUST_ACCOUNTS.PARTY_ID → HZ_PARTIES.PARTY_ID

8. Journal → Account

GL_JE_HEADERS → GL_JE_LINES → GL_CODE_COMBINATIONS

9. Item → On-Hand

EGP_SYSTEM_ITEMS_B → INV_ONHAND_QUANTITIES_DETAIL by item and organization.

Do not count on-hand rows. The detail table is maintained as receipt layers. Sum TRANSACTION_QUANTITY for rows matching the desired item/organization/subinventory/locator/lot control grain.

10. Project → Task → Cost

PJF_PROJECTS_ALL_B → PJF_PROJ_ELEMENTS_B → PJC_EXP_ITEMS_ALL

Use PJF_PROJECTS_ALL_VL / PJF_PROJ_ELEMENTS_VL when the report needs session-language names.

Common Mistakes About the Schema Itself

MistakeWhy It's WrongBetter Rule
Assuming EBS table names carry over unchangedSome familiar objects were renamed or remodeled in Fusion.Verify the current Oracle Fusion object before coding.
Treating suffixes as a grammar with guaranteed semantics_M and _ALL are not universal contracts.Inspect columns, keys, view definition, and module context.
Using PER_JOBS_VL / PER_GRADES_VLCurrent HCM docs expose PER_JOBS_F_VL / PER_GRADES_F_VL.Use current language-aware objects.
Using PER_ALL_WORK_RELATIONSHIPS_FCurrent work-relationship business object is based on PER_PERIODS_OF_SERVICE.Join assignment to PERIOD_OF_SERVICE_ID.
Using AP_SUPPLIER_SITES_ALL as the current supplier-site modelCurrent Procurement supplier sites are POZ_SUPPLIER_SITES_ALL_M.Use POZ supplier model and TCA party identity.
Calling GL_PERIODS the period-status tableGL_PERIODS defines calendar periods.Use GL_PERIOD_STATUSES for open/closed/future-enterable status.
Calling PJC_EXPENDITURE_ITEMS_ALL the current Project Costing tableCurrent documented object is PJC_EXP_ITEMS_ALL.Use the current PJC object name.
Assuming HR_ALL_ORGANIZATION_UNITS_F has NAMEThe base master table doesn't expose translated NAME.Use the translation/current language layer appropriate to the report date.
Assuming PER_ALL_PEOPLE_F holds DOB and national IDDOB is on PER_PERSONS; national identifiers have their own table.Keep person sub-objects separate.
Treating physical BI Publisher SQL as automatically data-securedOracle explicitly says direct table SQL isn't automatically subject to HCM data-security restrictions.Use secured list views when end-user security must be enforced.

FAQ

Do I need to memorize all of these objects?

No. Memorize the business grains and relationship shapes. The table name becomes much easier to locate once you know whether the question belongs to person, assignment, work relationship, PO schedule, PO distribution, party, balance, or project expenditure grain.

Does _ALL mean “filter by ORG_ID”?

No. Many _ALL objects are shared across organizational scopes, but the scoping column and semantics are object-specific. AP uses ORG_ID in many transaction tables; Procurement can use PRC_BU_ID/REQ_BU_ID; Inventory uses inventory organization concepts.

Is _M just another spelling of _F?

No. Both can be date-effective, but you must inspect the actual model. PER_ALL_ASSIGNMENTS_M supports multiple changes per day through effective sequence/latest-change metadata.

Should I always use _VL?

Use it when its session-language/current or date-effective behavior matches your report. For historical translation joins, confirm that the view preserves the effective dates you need.

Does a correct physical join automatically reproduce Fusion security?

No. In HCM BI Publisher, Oracle explicitly distinguishes direct physical-table SQL from SQL joined to secured list views. Security must be designed deliberately.

Is this table list complete?

No table list can sensibly be “complete” for all Fusion products and releases. This guide intentionally focuses on the high-value objects and patterns that help you navigate the rest of Oracle's metadata reference.

Conclusion

This reference is now deliberately a physical-model field manual: it explains how to read Oracle's schema metadata, how to reason about row grain and keys, and how the major storage layers—effective dating, translations, flexfields, reference data, audit/interface tables, TCA and XLA—fit together. The SQL Guide turns those objects into working queries; the Mental Models guide explains the functional architecture above them.

Once those ideas are explicit, unfamiliar Oracle Fusion objects stop being guesses. They become candidates you can verify quickly against Oracle's metadata.

Explore the Fusion Data Model with FusionLens SQL

Browse Oracle Fusion tables and columns, inspect metadata, understand join candidates, and run BI Publisher-style SQL against your own Fusion connection without switching constantly between the editor and documentation.

Schema Navigator

Inspect tables, views, columns, descriptions, and data types.

Relationship Context

Move from business question to the right reporting grain faster.

Live SQL Validation

Validate joins and row counts against your own Fusion environment.

You Now Understand How Oracle Fusion Organizes Its Data

Continue Learning — Foundation Series
Next: put the model into working SQL