OracleFree referencePDF, Excel, Word exportOracle E-Business SuiteAll Oracle E-Business Suite tools

Oracle EBS Open Interface Tables, Import Programs and Error Tables

A cross-module map of the Oracle EBS 12.1/12.2 open interfaces: which table to load, which concurrent program imports it, which column tells you a row failed and where the error text lands. It covers GL, AP, AR, INV, OM, PO, RCV, BOM, WIP, Cost, FA and Projects.

Download:
ModuleInterface table(s)Import programWhere errors appearStatus column to checkNotes
GL
GL_INTERFACE
Journal Import (GLLEZL)
STATUS column on the failed rows; Journal Import Execution Report
STATUS = 'NEW' on insert; error codes beginning with E are written back on failure
Successfully imported rows are deleted from GL_INTERFACE; GROUP_ID and USER_JE_SOURCE_NAME select what imports; R12 uses LEDGER_ID
GL
GL_DAILY_RATES_INTERFACE
No program: a database trigger processes rows on insert
ERROR_CODE column on rows left in the table
MODE_FLAG (I insert, D delete); rows that remain did not load
Valid rows move to GL_DAILY_RATES immediately, so check for leftover rows after the insert
AP
AP_INVOICES_INTERFACE, AP_INVOICE_LINES_INTERFACE
Payables Open Interface Import (APXIIMPT)
AP_INTERFACE_REJECTIONS (PARENT_TABLE, PARENT_ID, REJECT_LOOKUP_CODE)
AP_INVOICES_INTERFACE.STATUS (PROCESSED, REJECTED)
SOURCE and GROUP_ID select rows; the Payables Open Interface Rejections report lists reasons
AP
AP_SUPPLIERS_INT, AP_SUPPLIER_SITES_INT, AP_SUP_SITE_CONTACT_INT
Supplier Open Interface Import, Supplier Sites Open Interface Import, Supplier Site Contacts Open Interface Import
AP_SUPPLIER_INT_REJECTIONS (PARENT_TABLE, PARENT_ID, REJECT_LOOKUP_CODE)
STATUS column (NEW, PROCESSED, REJECTED)
Run suppliers, then sites, then contacts; suppliers are created in TCA and AP_SUPPLIERS
AR
RA_INTERFACE_LINES_ALL, RA_INTERFACE_DISTRIBUTIONS_ALL, RA_INTERFACE_SALESCREDITS_ALL
AutoInvoice Master Program (RAXMTR), which spawns AutoInvoice Import Program (RAXTRX)
RA_INTERFACE_ERRORS_ALL (INTERFACE_LINE_ID, MESSAGE_TEXT, INVALID_VALUE)
INTERFACE_STATUS and REQUEST_ID on RA_INTERFACE_LINES_ALL
BATCH_SOURCE_NAME selects rows; OM sends lines with INTERFACE_LINE_CONTEXT = 'ORDER ENTRY'; the execution report summarises rejects
AR
AR_PAYMENTS_INTERFACE_ALL
Process Lockboxes
STATUS on AR_PAYMENTS_INTERFACE_ALL and the transmission; Lockbox Execution Report
Validated rows move to AR_INTERIM_CASH_RECEIPTS_ALL and AR_INTERIM_CASH_RCPT_LINES_ALL
Post QuickCash creates the actual receipts from the interim tables; the process can run import, validate and post in one submission
AR (customers)
HZ_IMP_ bulk import tables (for example HZ_IMP_PARTIES_INT, HZ_IMP_ADDRESSES_INT)
TCA bulk import (Import Batch to TCA Registry), or TCA V2 APIs
Batch error tables and the import batch status in Customer Data Librarian / Trading Community Manager
Batch status per import batch
In R12 customers live in TCA; Oracle directs new loads to TCA bulk import or the HZ_ V2 APIs. Confirm support for the legacy RA_CUSTOMERS_INTERFACE_ALL Customer Interface on your release before relying on it
INV
MTL_SYSTEM_ITEMS_INTERFACE (+ MTL_ITEM_REVISIONS_INTERFACE)
Import Items (INCOIN)
MTL_INTERFACE_ERRORS (TRANSACTION_ID, TABLE_NAME, COLUMN_NAME, MESSAGE_NAME, ERROR_MESSAGE)
PROCESS_FLAG: 1 pending, 3 error, 7 imported
Join MTL_INTERFACE_ERRORS.TRANSACTION_ID to the interface TRANSACTION_ID; SET_PROCESS_ID groups a run; TRANSACTION_TYPE CREATE or UPDATE
INV
MTL_TRANSACTIONS_INTERFACE (+ MTL_TRANSACTION_LOTS_INTERFACE, MTL_SERIAL_NUMBERS_INTERFACE)
Process transaction interface (INCTCM), started by the Inventory Transaction Manager or INV_TXN_MANAGER_PUB
ERROR_CODE and ERROR_EXPLANATION columns on the interface row
PROCESS_FLAG: 1 ready, 2 not ready, 3 error; LOCK_FLAG; TRANSACTION_MODE 3 = background
Lots join on TRANSACTION_INTERFACE_ID; serials on TRANSACTION_INTERFACE_ID or SERIAL_TRANSACTION_TEMP_ID for lot and serial items; resubmit from Transaction Open Interface form
OM
OE_HEADERS_IFACE_ALL, OE_LINES_IFACE_ALL (+ OE_PRICE_ADJS_IFACE_ALL, OE_ACTIONS_IFACE_ALL)
Order Import (OEOIMP)
OE_PROCESSING_MSGS + OE_PROCESSING_MSGS_TL
ERROR_FLAG on interface rows; REQUEST_ID
ORDER_SOURCE_ID + ORIG_SYS_DOCUMENT_REF ties rows and messages; fix in the Order Import Corrections form
PO
PO_HEADERS_INTERFACE, PO_LINES_INTERFACE, PO_LINE_LOCATIONS_INTERFACE, PO_DISTRIBUTIONS_INTERFACE
Import Standard Purchase Orders (POXPOPDOI); blankets and catalogs through Import Price Catalogs
PO_INTERFACE_ERRORS with INTERFACE_TYPE = 'PO_DOCS_OPEN_INTERFACE'
PROCESS_CODE (PENDING, ACCEPTED, REJECTED)
BATCH_ID selects rows; Purchasing Interface Errors Report lists messages
PO
PO_REQUISITIONS_INTERFACE_ALL, PO_REQ_DIST_INTERFACE_ALL
Requisition Import (REQIMPORT)
PO_INTERFACE_ERRORS with INTERFACE_TYPE = 'REQIMPORT', INTERFACE_TRANSACTION_ID = TRANSACTION_ID
PROCESS_FLAG = 'ERROR' on failed rows
INTERFACE_SOURCE_CODE and BATCH_ID are import parameters; MRP and Min-Max planning feed this interface too
RCV
RCV_HEADERS_INTERFACE, RCV_TRANSACTIONS_INTERFACE
Receiving Transaction Processor (RVCTP)
PO_INTERFACE_ERRORS (INTERFACE_HEADER_ID, INTERFACE_LINE_ID)
PROCESSING_STATUS_CODE and TRANSACTION_STATUS_CODE (PENDING, RUNNING, ERROR, COMPLETED)
GROUP_ID selects rows in BATCH mode; also visible in the Transaction Status Summary form
BOM
BOM_BILL_OF_MTLS_INTERFACE, BOM_INVENTORY_COMPS_INTERFACE (routings: BOM_OP_ROUTINGS_INTERFACE, BOM_OP_SEQUENCES_INTERFACE)
Bills and Routing Interface (BMCOIN)
MTL_INTERFACE_ERRORS
PROCESS_FLAG: 1 pending, 3 error, 7 imported
Load bills before components; TRANSACTION_TYPE CREATE, UPDATE or DELETE; BATCH_ID in later releases
WIP
WIP_JOB_SCHEDULE_INTERFACE (+ WIP_JOB_DTLS_INTERFACE)
WIP Mass Load (WICMLP)
WIP_INTERFACE_ERRORS (INTERFACE_ID, ERROR_TYPE, ERROR)
PROCESS_PHASE and PROCESS_STATUS (1 pending, 2 running, 3 error, 4 complete, 5 warning)
LOAD_TYPE selects create or update of discrete jobs; GROUP_ID is the Mass Load parameter
WIP
WIP_MOVE_TXN_INTERFACE
WIP Move Transaction Manager (WICTMS)
WIP_TXN_INTERFACE_ERRORS
PROCESS_PHASE and PROCESS_STATUS
Pending moves are visible and resubmittable in the Pending Move Transactions form
CST
CST_ITEM_CST_DTLS_INTERFACE (+ CST_ITEMS_INTERFACE, CST_RESOURCE_COSTS_INTERFACE)
Cost Import Process
ERROR_CODE and ERROR_EXPLANATION columns on the interface rows
PROCESS_FLAG
Imports into a cost type you then copy or update into Frozen with standard cost update; GROUP_ID groups a run
FA
FA_MASS_ADDITIONS
Post Mass Additions
Rows stay in their queue; Post Mass Additions report
POSTING_STATUS and QUEUE_NAME (NEW, ON HOLD, POST, POSTED and others)
Create Mass Additions from Payables or a direct load feeds this table; only rows in POST are posted to assets
PA
PA_TRANSACTION_INTERFACE_ALL
PRC: Transaction Import
TRANSACTION_REJECTION_CODE on the interface row; Transaction Import report
TRANSACTION_STATUS_CODE (P pending, R rejected, and others)
TRANSACTION_SOURCE (PA_TRANSACTION_SOURCES) and BATCH_NAME select rows; use Review Transactions form to fix and resubmit

Scope: EBS 12.1 and 12.2. Short names are shown only where certain; confirm any program on your instance with FND_CONCURRENT_PROGRAMS_TL before scheduling. Status codes vary slightly by release, so read the product's Open Interfaces guide for your version.

Planning a data load into EBS?

Send the objects and volumes you need to load and your EBS release. We will map each to its interface or API and list the validation traps for your setup.

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

Was this tool useful?

What an open interface is in Oracle EBS

An open interface is a staging table Oracle supports for loading transactions or master data, plus a concurrent program that validates the rows with the same rules as the forms and creates the base records. You insert rows with SQL*Loader, PL/SQL or an integration tool, then run the import program with parameters that pick a batch (GROUP_ID, BATCH_ID, SOURCE or similar). Valid rows are created and either deleted or marked processed; invalid rows stay with a status flag and an error message. This is the supported route: inserting directly into base tables such as OE_ORDER_HEADERS_ALL or AP_INVOICES_ALL bypasses validation and accounting and is not supported. Where Oracle provides a public API instead, as for TCA customers, use the API.

  • Load a small test batch first and read the errors
  • Keep your own staging table with source keys so reloads are idempotent
  • Always populate WHO columns and the org or ledger column

How to read the status and error columns

Each interface signals failure differently, which is the main source of confusion. Inventory and BOM use a numeric PROCESS_FLAG (3 = error) and write messages to MTL_INTERFACE_ERRORS keyed by TRANSACTION_ID. The Inventory transaction interface keeps the error on the row itself in ERROR_CODE and ERROR_EXPLANATION. Purchasing, Requisition Import and Receiving share PO_INTERFACE_ERRORS, separated by INTERFACE_TYPE. Payables uses AP_INTERFACE_REJECTIONS with PARENT_TABLE telling you whether the header or line failed. AutoInvoice writes RA_INTERFACE_ERRORS_ALL per INTERFACE_LINE_ID. Order Import writes OE_PROCESSING_MSGS. GL Journal Import writes an error code back into GL_INTERFACE.STATUS. Start every investigation from the import program's output report, then query the error table for detail.

Worked example: AutoInvoice rejects

After AutoInvoice runs for batch source 'ORDER ENTRY', some order lines did not invoice. Query: SELECT l.interface_line_attribute1 AS order_no, l.interface_line_attribute6 AS line_id, e.message_text, e.invalid_value FROM ra_interface_lines_all l JOIN ra_interface_errors_all e ON e.interface_line_id = l.interface_line_id WHERE l.batch_source_name = 'ORDER ENTRY' AND l.org_id = 204. Typical messages are a closed GL period for the GL date, a missing or invalid revenue account built by AutoAccounting, or a missing bill-to site. Fix the setup or the row and rerun the AutoInvoice Master Program; rows that pass are deleted from the interface and appear in RA_CUSTOMER_TRX_ALL. Do not delete rejected OM rows without understanding why, because the order line will never invoice.

Version notes and gotchas

R12 changed several interfaces. Suppliers moved to TCA, so the supplier interfaces (AP_SUPPLIERS_INT and related) replace direct PO_VENDORS loads. Customer loads should use TCA bulk import or the HZ_ V2 APIs. PDOI gained PO_LINE_LOCATIONS_INTERFACE for multiple shipments. Journal Import identifies the target by LEDGER_ID instead of SET_OF_BOOKS_ID. Multi-Org matters everywhere: populate ORG_ID on _ALL interface tables and run the import from a responsibility with access to that operating unit, or the program silently skips the rows. Many imports need a manager to be running (Inventory Transaction Manager, Receiving Transaction Processor in batch mode) or a scheduled program; a row that never changes status usually means nothing picked it up rather than a validation error.

Frequently Asked Questions

What are interfaces in Oracle EBS?

Interfaces are Oracle-supported staging tables and import programs for bringing data into EBS. You load rows into a table such as AP_INVOICES_INTERFACE, run the import program, and Oracle validates and creates the base records with the same rules as the user forms. Rows that fail stay in the interface with an error status and message.

What is the AR interface error table in R12?

RA_INTERFACE_ERRORS_ALL holds AutoInvoice errors, one or more rows per failed RA_INTERFACE_LINES_ALL row, joined on INTERFACE_LINE_ID, with MESSAGE_TEXT and INVALID_VALUE. Lockbox errors are different: check the status on AR_PAYMENTS_INTERFACE_ALL and the Lockbox Execution Report. Customer loads in R12 go through TCA, which has its own batch error reporting.

What is the Projects expenditure interface table?

PA_TRANSACTION_INTERFACE_ALL, imported by the concurrent program PRC: Transaction Import for a transaction source and batch. Rejected rows keep a TRANSACTION_STATUS_CODE of R and a TRANSACTION_REJECTION_CODE explaining why. The Review Transactions form in Projects lets users correct and resubmit rejected rows.

What are the GL interface tables in R12?

GL_INTERFACE for journals, imported by Journal Import (GLLEZL) with USER_JE_SOURCE_NAME and optional GROUP_ID, and GL_DAILY_RATES_INTERFACE for exchange rates, which a database trigger processes on insert. Journal Import deletes rows it imports and writes error codes into STATUS for rows that fail; the Journal Import Execution Report explains them.

If you want integration errors from these interfaces summarised and explained in plain English on your own servers, we can add a private AI layer that reads them read-only.

ArchRay builder
Design the on-prem AI stack for Oracle E-Business Suite: model, GPUs, RAG pipeline, guardrails
See memory, speed and cost as you swap parts, then export the diagram. Free, in your browser.
Open the builder

Keep exploring

Free tools

ERP fixes and how-tos

Runs with your ERP

AI on your ERP

Integrations

Software