OracleFree referencePDF, Excel, Word exportOracle E-Business Suite

Customer Table in Oracle EBS: TCA (HZ) and Supplier (AP_SUPPLIERS) Table Reference

In Oracle EBS there is no single customer table. Customers are stored in the Trading Community Architecture (TCA) HZ tables, and suppliers in AP_SUPPLIERS and AP_SUPPLIER_SITES_ALL. This reference shows each table, its key and how they connect.

Download:
TableModuleWhat it storesKey columnJoins toNote
HZ_PARTIES
TCA
Every party: organization, person or group
PARTY_ID
HZ_CUST_ACCOUNTS.PARTY_ID, AP_SUPPLIERS.PARTY_ID
Shared by customers, suppliers and contacts
HZ_CUST_ACCOUNTS
TCA
Customer account (the commercial relationship)
CUST_ACCOUNT_ID
HZ_PARTIES via PARTY_ID
ACCOUNT_NUMBER is the customer number users see
HZ_CUST_ACCT_SITES_ALL
TCA
Account site, one per address per operating unit
CUST_ACCT_SITE_ID
HZ_CUST_ACCOUNTS via CUST_ACCOUNT_ID; HZ_PARTY_SITES via PARTY_SITE_ID
Filter ORG_ID
HZ_CUST_SITE_USES_ALL
TCA
Business purpose of a site, such as BILL_TO or SHIP_TO
SITE_USE_ID
HZ_CUST_ACCT_SITES_ALL via CUST_ACCT_SITE_ID
SITE_USE_CODE holds the purpose; order and invoice headers store SITE_USE_ID
HZ_PARTY_SITES
TCA
Party's address linkage
PARTY_SITE_ID
HZ_PARTIES via PARTY_ID; HZ_LOCATIONS via LOCATION_ID
Used for both customers and suppliers
HZ_LOCATIONS
TCA
Physical address
LOCATION_ID
HZ_PARTY_SITES via LOCATION_ID
ADDRESS1 to ADDRESS4, CITY, STATE, COUNTRY, POSTAL_CODE
HZ_CONTACT_POINTS
TCA
Phone, email, web and other contact methods
CONTACT_POINT_ID
OWNER_TABLE_ID with OWNER_TABLE_NAME
Owner may be a party or a party site
HZ_CUST_ACCOUNT_ROLES
TCA
Contact roles at account or site level
CUST_ACCOUNT_ROLE_ID
HZ_CUST_ACCOUNTS, HZ_RELATIONSHIPS via PARTY_ID
Customer contact assignments
HZ_RELATIONSHIPS
TCA
Relationships between parties
RELATIONSHIP_ID
SUBJECT_ID and OBJECT_ID to HZ_PARTIES
Person contact of an organization
HZ_ORGANIZATION_PROFILES
TCA
Organization details, dated versions
ORGANIZATION_PROFILE_ID
HZ_PARTIES via PARTY_ID
Filter on effective dates for current row
HZ_PERSON_PROFILES
TCA
Person details, dated versions
PERSON_PROFILE_ID
HZ_PARTIES via PARTY_ID
Filter on effective dates for current row
HZ_CUSTOMER_PROFILES
AR
Credit and collection profile per account or site
CUST_ACCOUNT_PROFILE_ID
HZ_CUST_ACCOUNTS via CUST_ACCOUNT_ID
SITE_USE_ID null means account-level profile
HZ_CUST_PROFILE_AMTS
AR
Credit limits by currency
CUST_ACCT_PROFILE_AMT_ID
HZ_CUSTOMER_PROFILES via CUST_ACCOUNT_PROFILE_ID
OVERALL_CREDIT_LIMIT, TRX_CREDIT_LIMIT
AR_CUSTOMERS
AR
Compatibility view combining party and account
CUSTOMER_ID
Equivalent to CUST_ACCOUNT_ID
Obsolete view; prefer HZ tables for new work
AP_SUPPLIERS
AP
Supplier header
VENDOR_ID
HZ_PARTIES via PARTY_ID
SEGMENT1 is the supplier number, VENDOR_NAME the name; replaced PO_VENDORS
AP_SUPPLIER_SITES_ALL
AP
Supplier site by operating unit
VENDOR_SITE_ID
AP_SUPPLIERS via VENDOR_ID; HZ_PARTY_SITES via PARTY_SITE_ID
VENDOR_SITE_CODE; purchasing, pay and RFQ flags
AP_SUPPLIER_CONTACTS
AP
Supplier contacts
VENDOR_CONTACT_ID
AP_SUPPLIER_SITES_ALL via ORG_PARTY_SITE_ID; HZ_PARTIES via PER_PARTY_ID
Names come from the TCA party record
IBY_EXTERNAL_PAYEES_ALL
Payments
Payee setup for suppliers
EXT_PAYEE_ID
PAYEE_PARTY_ID, SUPPLIER_SITE_ID
Payment method and delivery channel defaults
IBY_EXT_BANK_ACCOUNTS
Payments
External bank accounts
EXT_BANK_ACCOUNT_ID
IBY_PMT_INSTR_USES_ALL via INSTRUMENT_ID
Account numbers may be masked or encrypted
IBY_PMT_INSTR_USES_ALL
Payments
Assignment of bank account to payee
INSTRUMENT_PAYMENT_USE_ID
IBY_EXTERNAL_PAYEES_ALL via EXT_PMT_PARTY_ID
Primary account flag
HZ_CUST_ACCOUNTS
Order Management
Sold-to customer on OE_ORDER_HEADERS_ALL
CUST_ACCOUNT_ID
OE_ORDER_HEADERS_ALL.SOLD_TO_ORG_ID
SOLD_TO_ORG_ID is a CUST_ACCOUNT_ID, not a site use
HZ_CUST_SITE_USES_ALL
Order Management
Ship-to and invoice-to on the order
SITE_USE_ID
OE_ORDER_HEADERS_ALL.SHIP_TO_ORG_ID and INVOICE_TO_ORG_ID
Despite the name, ORG_ID columns hold site use IDs

Confirm every table and column in the Oracle eTRM (Electronic Technical Reference Manual) for your release. Column names here reflect 12.1 and 12.2 and the Trading Community model.

Customer and supplier lookups without hand-written joins

Optional: a private AI layer over your EBS database, read-only and on your servers.

Optional. The tool and every export work without this. No spam.

How to use this reference

Search by table name or by what you need to find, such as bill-to, credit limit or bank account. Each row lists the key column and the tables it joins to, so you can build the join chain for a customer address or a supplier site without opening the eTRM for every step. Export to Excel to keep a data-mapping sheet for a migration or interface project.

The customer model in one chain

A customer is a party (HZ_PARTIES) with an account (HZ_CUST_ACCOUNTS). The account has sites (HZ_CUST_ACCT_SITES_ALL) that point to a party site (HZ_PARTY_SITES) and a physical address (HZ_LOCATIONS). Each site has uses (HZ_CUST_SITE_USES_ALL) such as BILL_TO and SHIP_TO. Orders and invoices store the site use ID. Following PARTY_ID, CUST_ACCOUNT_ID, CUST_ACCT_SITE_ID, SITE_USE_ID and LOCATION_ID gets you from name to address.

  • Customer name: HZ_PARTIES.PARTY_NAME
  • Customer number: HZ_CUST_ACCOUNTS.ACCOUNT_NUMBER
  • Address: HZ_LOCATIONS through HZ_PARTY_SITES
  • Bill-to and ship-to: HZ_CUST_SITE_USES_ALL.SITE_USE_CODE

The supplier model and the link to TCA

Suppliers are stored in AP_SUPPLIERS (formerly PO_VENDORS in 11i) and sites in AP_SUPPLIER_SITES_ALL. Since release 12 the supplier is also a TCA party, so AP_SUPPLIERS.PARTY_ID points to HZ_PARTIES and supplier site addresses come from HZ_PARTY_SITES and HZ_LOCATIONS through PARTY_SITE_ID. The same party can be both a customer and a supplier, which is how you identify trading partners in both directions.

Finding table documentation and common mistakes

Oracle documents every standard table in the eTRM, available from My Oracle Support for your release. You can also query ALL_TAB_COLUMNS and the FND_TABLES and FND_COLUMNS dictionary tables. Common errors: using old view names like AR_CUSTOMERS in new code, forgetting ORG_ID on _ALL tables, joining orders to HZ_CUST_ACCOUNTS through the wrong column (ship-to is a site use, not an account), and not filtering the dated profile tables to the current row.

Frequently Asked Questions

What is the customer table in Oracle EBS?

There is no single one. The main table is HZ_CUST_ACCOUNTS for the account, linked to HZ_PARTIES for the name, and to HZ_CUST_ACCT_SITES_ALL and HZ_LOCATIONS for addresses. These are part of the Trading Community Architecture.

What is the supplier table in Oracle EBS?

AP_SUPPLIERS holds supplier headers and AP_SUPPLIER_SITES_ALL holds sites. In 11i the header table was PO_VENDORS. In release 12 the supplier is also a TCA party linked through PARTY_ID.

Where is Oracle EBS table documentation?

The Electronic Technical Reference Manual (eTRM) on My Oracle Support documents tables, columns, indexes and foreign keys per release. The Oracle Applications dictionary tables FND_TABLES and FND_COLUMNS list registered objects in your own instance.

How do I get a customer's bill-to address?

Join HZ_CUST_ACCOUNTS to HZ_CUST_ACCT_SITES_ALL, then to HZ_CUST_SITE_USES_ALL with SITE_USE_CODE = 'BILL_TO', then through HZ_PARTY_SITES to HZ_LOCATIONS. Filter on ORG_ID and status flags to keep only active records.

If you want customer and supplier questions answered without writing joins, we can add a private natural-language layer over your EBS database that runs on your own infrastructure.

Keep exploring

Free tools

ERP fixes and how-tos

Runs with your ERP

AI on your ERP

Integrations

Software