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.
| Table | Module | What it stores | Key column | Joins to | Note |
|---|---|---|---|---|---|
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.
Related Tools
Oracle EBS ER Diagram: Key Table Relationships
Parent and child table pairs with the exact join columns for the Oracle EBS purchasing, WIP, BOM, routing and inventory data models.
OracleOracle EBS Finance Tables Reference (GL, AP, AR, FA)
Lookup of the base tables behind General Ledger, Payables, Receivables, Fixed Assets, Subledger Accounting and Purchasing, with the columns you join on.
OracleOracle EBS AP Supplier Onboarding Form Template
A supplier set-up request for Oracle Payables with legal, tax, site, banking and payment term fields plus verification and approval steps.
OracleOracle EBS HRMS Employee Table Query Generator
Generates a current-employee query over PER_ALL_PEOPLE_F, PER_ALL_ASSIGNMENTS_F, organizations, jobs and supervisors with the date-track filters done right.
More Oracle tools
See all- Oracle EBS Inventory Tables Reference
- Oracle EBS WIP Tables Reference
- Oracle EBS Cycle Count Workload Calculator
- Oracle EBS Discrete Manufacturing Go-Live Checklist
- Oracle EBS Inventory Accuracy Readiness Assessment
- Oracle EBS Concurrent Request Phase and Status Reference
- Oracle EBS Responsibility Design Worksheet
- Oracle EBS GL Period Close Checklist
- Oracle EBS AP Invoice Interface Template
Keep exploring
Free tools
- Oracle EBS Inventory Tables ReferenceSearchable lookup of the core Oracle EBS Inventory and Cost Management tables with purpose and key columns, for report writers and technical consultants.
- Oracle EBS Cost Management Tables ReferenceA lookup of the Oracle EBS tables behind item cost, WIP jobs, BOM, routing and inventory transactions used in manufacturing costing.
- Oracle EBS WIP Tables ReferenceLookup of Oracle EBS Work in Process tables with purpose and key columns, covering discrete jobs, operations, requirements, resources and interfaces.
ERP fixes and how-tos
- Oracle EBS Query for a Vendor Extract ReportSQL for an Oracle EBS R12 supplier extract: AP_SUPPLIERS, AP_SUPPLIER_SITES_ALL, contacts and bank accounts via IBY tables, with joins and security notes.
- Oracle Work Order Tables: WIP_ENTITIES, WIP_DISCRETE_JOBS and the REST RouteOracle work order tables explained: WIP_ENTITIES, WIP_DISCRETE_JOBS, operations and requirements, with a join query for EBS and the Fusion REST route.
- Data Conversion in Oracle EBS: Interface Tables, Open Interfaces and ReconciliationHow data conversion works in Oracle EBS: extract, stage, validate, load through interface tables and APIs, then reconcile. Practical steps and common failures.
Runs with your ERP
- Esker Order Management and Oracle E-Business SuiteHow Esker captures customer POs from email, fax and PDF and creates sales orders in Oracle EBS: integration, data flows, setup, pitfalls and a private AI layer.
- Cloud Inventory (DSI) with Oracle E-Business Suite: Mobile Barcode InventoryCloud Inventory, formerly DSI, adds offline mobile barcode inventory to Oracle E-Business Suite and JD Edwards. Data flows, setup steps, pitfalls and AI notes.
- BarTender and Oracle E-Business Suite: Label Printing from OracleHow BarTender prints labels from Oracle EBS using Oracle XML print requests and Integration Builder: methods, data flows, setup steps, pitfalls and AI help.
AI on your ERP
- AI for Oracle E-Business Suite, Without Leaving On-PremHosting Oracle EBS 12.2 on-prem or in a private cloud? Add a private LLM over concurrent programs, interface tables and AP/PO data without moving to Fusion.
- AI for Oracle EBS in Industrial Manufacturing: WIP, MRP, and BOM Questions Answered DirectlyAI for Oracle E-Business Suite in industrial manufacturing: WIP jobs, BOMs, MRP, inventory and purchasing answered in plain English, private and read-only.
Integrations
- How to use ChatGPT with Oracle E-Business SuiteUsing ChatGPT with Oracle E-Business Suite: export vs live access, custom GPT actions over ISG REST, enterprise data controls and when to keep data on-prem.
- How to add WhatsApp to Oracle E-Business SuiteHow to connect WhatsApp Business to Oracle E-Business Suite 12.1 and 12.2: ISG REST, Workflow business events, template messages and two-way replies into EBS.