Oracle EBS Query for a Vendor Extract Report
oracle ebs query for vendor extract report
Also searched as
- oracle ebs supplier sql query ap_suppliers
- oracle r12 vendor sites contacts bank account query
- ap_supplier_sites_all query
- oracle ebs supplier extract
Short answer
In EBS R12 the supplier header is AP_SUPPLIERS, supplier sites are AP_SUPPLIER_SITES_ALL (org-specific, so filter by ORG_ID), contacts link through AP_SUPPLIER_CONTACTS and HZ_PARTIES, and bank accounts live in the Payments tables (IBY_EXTERNAL_PAYEES_ALL, IBY_PMT_INSTR_USES_ALL, IBY_EXT_BANK_ACCOUNTS). Join them with VENDOR_ID and the party and payee keys.
Applies to: Oracle E-Business Suite R12.1 and 12.2 with Payables and Trading Community Architecture. Verify columns in your release before production use.
How to build the supplier extract
- 1Start from AP_SUPPLIERS (alias aps) and select VENDOR_ID, SEGMENT1 (supplier number), VENDOR_NAME, VENDOR_TYPE_LOOKUP_CODE, ENABLED_FLAG and END_DATE_ACTIVE.
- 2Join AP_SUPPLIER_SITES_ALL on VENDOR_ID for site code, address, pay group, inactive date and ORG_ID. Filter by ORG_ID for the operating unit you want.
- 3Add contacts by joining AP_SUPPLIER_CONTACTS to the site and to HZ_PARTIES on PER_PARTY_ID for the contact name.
- 4For bank accounts, join IBY_EXTERNAL_PAYEES_ALL on supplier site, then IBY_PMT_INSTR_USES_ALL on the payee, then IBY_EXT_BANK_ACCOUNTS for the account.
- 5Use outer joins for contacts and banks so suppliers without them still appear.
- 6Exclude or mask bank account numbers unless the report is approved for them.
- 7Run it from SQL Developer on a reporting copy, or wrap it in a concurrent program with a BI Publisher template.
- 8Check row counts against the Suppliers summary screen to confirm the joins did not multiply rows.
Core supplier and site query
Suppliers are global across operating units, but sites are specific to an operating unit, which is why the site table is the _ALL table with ORG_ID. Reading it through the multi-org view AP_SUPPLIER_SITES (which depends on the session policy context) gives different results from a raw SQL session, so for extracts use the _ALL table and filter ORG_ID explicitly.
Be aware that a supplier with five sites returns five rows. If the report should be one row per supplier, aggregate or reduce to the primary pay site.
SELECT aps.segment1 supplier_num, aps.vendor_name,
aps.vendor_type_lookup_code, aps.enabled_flag, aps.end_date_active,
apss.vendor_site_code, apss.org_id, apss.address_line1,
apss.city, apss.country, apss.pay_group_lookup_code,
apss.inactive_date
FROM ap_suppliers aps
LEFT JOIN ap_supplier_sites_all apss
ON apss.vendor_id = aps.vendor_id
WHERE apss.org_id = :org_id
ORDER BY aps.vendor_name, apss.vendor_site_codeContacts and bank accounts
In R12 the contact record is a party relationship in the Trading Community Architecture, with AP_SUPPLIER_CONTACTS holding the supplier-specific link. Join it to HZ_PARTIES on PER_PARTY_ID for the person name, and use the contact point tables (HZ_CONTACT_POINTS) for email and phone.
Bank accounts moved to the Payments module. Payee records in IBY_EXTERNAL_PAYEES_ALL point to a supplier site, instrument assignments are in IBY_PMT_INSTR_USES_ALL, and the account details are in IBY_EXT_BANK_ACCOUNTS. Account numbers may be encrypted or masked depending on your security setup.
SELECT aps.vendor_name, apss.vendor_site_code,
eba.bank_account_name, eba.currency_code
FROM ap_suppliers aps
JOIN ap_supplier_sites_all apss ON apss.vendor_id = aps.vendor_id
JOIN iby_external_payees_all ep
ON ep.supplier_site_id = apss.vendor_site_id
JOIN iby_pmt_instr_uses_all iu
ON iu.ext_pmt_party_id = ep.ext_payee_id
AND iu.instrument_type = 'BANKACCOUNT'
JOIN iby_ext_bank_accounts eba
ON eba.ext_bank_account_id = iu.instrument_id
WHERE apss.org_id = :org_idSecurity and data handling
Supplier bank details are among the most sensitive data in the ERP and a common fraud target. Limit the extract to what the recipient needs, mask account numbers, log who runs it, and avoid emailing the file. If the extract feeds a migration or an AI tool, strip or tokenise banking fields first.
For repeated use, a BI Publisher report on a data model gives access control and scheduling, in line with the BI Publisher report page on this site.
Try it here, free
Oracle EBS Customer and Supplier Tables Reference
Searchable list of the Trading Community Architecture customer tables and the supplier tables in Oracle EBS, with keys, join columns and where to confirm in the eTRM.
Common pitfalls
- !Using the wrong site view and getting different results in SQL Developer than in the application.
- !Forgetting the ORG_ID filter and mixing operating units.
- !Inner joining contacts and bank accounts and dropping suppliers that have none.
- !Exporting full bank account numbers into spreadsheets with no controls.
- !Relying on pre-R12 column names such as the old PO_VENDORS tables for new work.
How an ERP-grounded AI assistant handles this
An assistant grounded in your EBS schema (ERPray with read-only access, showing the SQL it generated) can build and explain this kind of join when a buyer asks for inactive suppliers with open POs or sites missing a pay group. For EBS running on-premises, the model can be hosted on local hardware, which matters when the question touches supplier banking data. Treat generated SQL as something a DBA reviews, and keep banking columns excluded by default.
Frequently asked questions
What table stores suppliers in Oracle EBS R12?
AP_SUPPLIERS holds the supplier header (it replaced PO_VENDORS in R12). Sites are in AP_SUPPLIER_SITES_ALL, and contacts reference HZ_PARTIES. The supplier is also registered as a party in the Trading Community.
How do I get supplier bank accounts in R12?
Join the supplier site to IBY_EXTERNAL_PAYEES_ALL, then to IBY_PMT_INSTR_USES_ALL and IBY_EXT_BANK_ACCOUNTS. Banks and branches are held as parties. Mask the account number in any extract that is not strictly approved.
Why does my supplier query return duplicate suppliers?
Because each supplier has multiple sites, contacts or bank accounts, and joining them multiplies rows. Aggregate, filter to primary sites, or produce separate extracts for each level.
Can I use this query in Fusion Cloud?
No. Fusion Cloud does not give direct table access, and its supplier tables differ. Use the Suppliers REST resource or a BI Publisher report with Oracle's supplier data model.
Related
How to Create a BI Publisher Report in Oracle EBS
An EBS BI Publisher report has three parts: a data model that produces XML data (usually a SQL-based data template), a Data Definition registered in the XML Publisher Administrator responsibility, and an RTF or Excel template built with the BI Publisher desktop tools and uploaded against that definition. A concurrent program then ties them together and runs the same way any standard EBS report does.
How-toSQL to Find Responsibilities Assigned to a User in Oracle EBS
Join FND_USER to FND_USER_RESP_GROUPS on USER_ID, then to FND_RESPONSIBILITY_TL on RESPONSIBILITY_ID and APPLICATION_ID to get the responsibility name, filtering the END_DATE columns to show only currently active assignments. This is the standard query DBAs and support teams use instead of clicking through System Administrator > Security > User > Define for every user.
How-toHow to Import AP Invoices in Oracle EBS with Payables Open Interface Import
Load invoice header and line data into AP_INVOICES_INTERFACE and AP_INVOICE_LINES_INTERFACE, then run the Payables Open Interface Import concurrent program to create standard invoices in Oracle Payables. Rows that fail validation land in AP_INTERFACE_REJECTIONS with a specific reject reason you can query directly, without opening the Invoice Workbench.
How-toOracle EBS REST API: Integrated SOA Gateway and PL/SQL APIs
Oracle E-Business Suite exposes APIs through the Integration Repository, which catalogs PL/SQL public APIs, open interfaces, business events and web services. Integrated SOA Gateway (ISG) can deploy selected interface definitions as REST or SOAP services. You find the API, deploy it, grant a user access, and call it over HTTPS with the right application context.
Error fixFix FRM-40735: WHEN-VALIDATE-RECORD Trigger Raised Unhandled Exception ORA-06508
FRM-40735 with ORA-06508 almost always means a PL/SQL package used by the form was recompiled while your session still held the old cached state, or the trigger's own exception handling does not trap a real data error. Exit the form completely and re-enter it; if the error repeats for all users, recompile invalid objects on the database and check for a bad custom trigger.
Error fixOracle EBS Concurrent Manager Will Not Start: How to Fix It
A concurrent manager that will not start in Oracle EBS is almost always one of three things: the node registered in FND_NODES no longer matches the actual hostname (common after cloning), stale OS processes are blocking a fresh start, or the database and listener the manager connects to are unreachable. Check the internal manager log, verify the node name, clear stale processes, and restart with adcmctl.sh.
AI for ERPAI for Oracle E-Business Suite, Without Leaving On-Prem
Hosting 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 ERPA Private LLM Grounded on Your ERP Data
How a private LLM answers questions on your ERP data: RAG plus text-to-SQL, role-based permissions inherited from the ERP, and where each fits.
Stuck on Oracle E-Business Suite?
Talk to engineers who work inside Oracle E-Business Suite every week, and who build private AI that answers these questions from your own ERP data.
Keep exploring
Free tools
- Oracle EBS Customer and Supplier Tables ReferenceSearchable list of the Trading Community Architecture customer tables and the supplier tables in Oracle EBS, with keys, join columns and where to confirm in the eTRM.
- Oracle EBS AP Supplier Onboarding Form TemplateA supplier set-up request for Oracle Payables with legal, tax, site, banking and payment term fields plus verification and approval steps.
- Oracle EBS AP Invoice Interface TemplateFill in header and line values to get insert statements for the Payables open interface tables, ready to adapt for your conversion or integration.
ERP fixes and how-tos
- How to Import AP Invoices in Oracle EBS with Payables Open Interface ImportStep-by-step guide to importing AP invoices into Oracle EBS Payables using the AP_INVOICES_INTERFACE tables and the Payables Open Interface Import program.
- How to create suppliers in Oracle Fusion (profile, sites, banking and FBDI)Step by step: create a supplier in Oracle Fusion, add addresses, sites, contacts and bank accounts, then bulk load suppliers using the FBDI supplier import.
- Oracle EBS Month-End Close Checklist: GL, AP, ARStep-by-step Oracle EBS month-end close order: finish sub-ledger transactions, close AP and AR periods, transfer to GL, reconcile, then close GL. Menu paths included.
Runs with your ERP
- MarkView for Accounts Payable and Oracle E-Business SuiteHow Tungsten (Kofax) MarkView automates AP invoice capture and discrepancy workflow inside Oracle EBS: integration, data flows, setup, pitfalls and AI.
- 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.
- Vertex Tax Connectors with JD Edwards EnterpriseOneHow Vertex calculates sales, use and VAT tax for JD Edwards EnterpriseOne and World, plus Oracle EBS and Cloud ERP: integration model, flows, setup, pitfalls.
AI on your ERP
- AI for Oracle E-Business Suite Procure to Pay, From Requisition to PaymentAdd grounded AI to Oracle E-Business Suite procure to pay: requisitions, POs, receiving and Payables invoices, with on-prem models and read-only access.
- 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.
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 connect Claude to Oracle E-Business SuiteConnect Claude to Oracle E-Business Suite via MCP, the Anthropic API, AWS Bedrock or Vertex, and know when an on-prem open-weight model is the better fit.