HZ_CUST_ACCOUNTS
Schema: ARmasterThe customer account — the commercial relationship layered over a party, and the id order headers actually carry as SOLD_TO_ORG_ID; one party, many accounts
Accounts are global, not operating-unit striped — a vestigial nullable ORG_ID column exists in the 12.2.2 dictionary but is not a striping column and is not cataloged here. The OU striping starts one layer down, on account sites.
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
13 fields · 1 key
13 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | CUST_ACCOUNT_ID | Surrogate key of the account — the id order headers carry as SOLD_TO_ORG_ID | NUMBER | Primary-key field |
| 2 | PARTY_ID | The party behind the account — one party can hold several accounts | NUMBER | |
| 3 | ACCOUNT_NUMBER | The account number users see | VARCHAR2 | |
| 4 | ACCOUNT_NAME | Account description | VARCHAR2 | |
| 5 | STATUS | A = active, I = inactive (the CODE_STATUS lookup, per the data dictionary's comment) | VARCHAR2 | |
| 6 | CUSTOMER_TYPE | External vs internal customer | VARCHAR2 | |
| 7 | CUSTOMER_CLASS_CODE | Customer classification | VARCHAR2 | |
| 8 | SALES_CHANNEL_CODE | Sales channel of the account | VARCHAR2 | |
| 9 | ACCOUNT_ESTABLISHED_DATE | When the account was opened — the lifecycle analysis date | DATE | The table's primary analysis date — a real DATE column, no conversion needed |
| 10 | ACCOUNT_ACTIVATION_DATE | When the account was activated | DATE | |
| 11 | ACCOUNT_TERMINATION_DATE | When the account was closed — NULL while active | DATE | |
| 12 | STATUS_UPDATE_DATE | When the status last changed | DATE | |
| 13 | ORIG_SYSTEM_REFERENCE | The legacy/source-system key | VARCHAR2 |
Field provenance: hand-curated. 1 key field.
Boilerplate SQL
Starting point for reading HZ_CUST_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>, <CUST_ACCOUNT_ID>, <DATE_FROM>, <DATE_TO>, <watermark>
-- ============================================================
-- Table : HZ_CUST_ACCOUNTS — The customer account — the commercial relationship layered over a party, and the id order headers actually carry as SOLD_TO_ORG_ID; one party, many accounts
-- Purpose: Column-selected read of HZ_CUST_ACCOUNTS — auto-generated from field metadata
-- Grain : One row per CUST_ACCOUNT_ID
-- 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.CUST_ACCOUNT_ID AS "Surrogate key of the account — the id order headers carry as SOLD_TO_ORG_ID",
t.PARTY_ID AS "The party behind the account — one party can hold several accounts",
t.ACCOUNT_NUMBER AS "The account number users see",
t.ACCOUNT_NAME AS "Account description",
t.STATUS AS "A = active, I = inactive (the CODE_STATUS lookup, per the data dictionary's comment)",
t.CUSTOMER_TYPE AS "External vs internal customer",
t.CUSTOMER_CLASS_CODE AS "Customer classification",
t.SALES_CHANNEL_CODE AS "Sales channel of the account",
t.ACCOUNT_ESTABLISHED_DATE AS "When the account was opened — the lifecycle analysis date",
t.ACCOUNT_ACTIVATION_DATE AS "When the account was activated",
t.ACCOUNT_TERMINATION_DATE AS "When the account was closed — NULL while active",
t.STATUS_UPDATE_DATE AS "When the status last changed",
t.ORIG_SYSTEM_REFERENCE AS "The legacy/source-system key"
FROM <catalog>.<schema>.HZ_CUST_ACCOUNTS t
WHERE
1 = 1 -- no partition column on this table; the filters below are optional
-- AND t.CUST_ACCOUNT_ID = <CUST_ACCOUNT_ID>
-- AND t.ACCOUNT_ESTABLISHED_DATE >= DATE '<DATE_FROM>'
-- AND t.ACCOUNT_ESTABLISHED_DATE <= DATE '<DATE_TO>'
-- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>' -- WHO watermark, bulk-stamped by batch jobs; see quirks guide #who-columns
ORDER BY t.CUST_ACCOUNT_ID;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 OE_ORDER_HEADERS_ALL.SOLD_TO_ORG_ID = HZ_CUST_ACCOUNTS.CUST_ACCOUNT_IDON WSH_DELIVERY_DETAILS.CUSTOMER_ID = HZ_CUST_ACCOUNTS.CUST_ACCOUNT_IDON WSH_NEW_DELIVERIES.CUSTOMER_ID = HZ_CUST_ACCOUNTS.CUST_ACCOUNT_IDON HZ_CUST_ACCOUNTS.PARTY_ID = HZ_PARTIES.PARTY_IDON HZ_CUST_ACCT_SITES_ALL.CUST_ACCOUNT_ID = HZ_CUST_ACCOUNTS.CUST_ACCOUNT_IDON RA_CUSTOMER_TRX_ALL.BILL_TO_CUSTOMER_ID = HZ_CUST_ACCOUNTS.CUST_ACCOUNT_IDON AR_PAYMENT_SCHEDULES_ALL.CUSTOMER_ID = HZ_CUST_ACCOUNTS.CUST_ACCOUNT_IDON AR_CASH_RECEIPTS_ALL.PAY_FROM_CUSTOMER = HZ_CUST_ACCOUNTS.CUST_ACCOUNT_ID
More Customers (TCA) tables
- HZ_CUST_ACCT_SITES_ALLCustomer account sites — one row binding an account to a party site (address) within one operating unit, with the bill-to/ship-to capability flags
- HZ_CUST_SITE_USES_ALLSite business purposes — one row per use (ship-to, bill-to, statements…) of an account site per operating unit; the SITE_USE_ID here is what order headers carry as SHIP_TO_ORG_ID and INVOICE_TO_ORG_ID
- HZ_LOCATIONSThe physical address master — pure address rows with no party context; one location can serve many parties, customer sites, and supplier sites
- HZ_PARTIESThe trading-community party master — one row per person, organization, or group before any commercial context; customers AND suppliers resolve back to a party here
- HZ_PARTY_SITESParty sites — the reusable link from a party to a location, carrying the site number and the identifying-address flag; both customer account sites and supplier sites resolve their address through here