# Fix Oracle EBS Requisition Import Errors in PO_INTERFACE_ERRORS

> Source: https://netray.co/erp-help/ebs-requisition-import-po-interface-errors-fix
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## Short answer

When Requisition Import (REQIMPORT) rejects rows, it leaves them in PO_REQUISITIONS_INTERFACE_ALL with PROCESS_FLAG = 'ERROR' and writes a reason per row to PO_INTERFACE_ERRORS. Read the Requisition Import Exceptions Report or query the error table, correct the source data, reset the rows and run the import again with the right Import Source and Batch ID.

## Kind

error

## System

oracle-ebs

## Erp

Oracle E-Business Suite

## Module

Purchasing / Requisition Import

## Query

EBS Requisition Import rejected records PO_INTERFACE_ERRORS

## Alternate Queries

- Oracle Purchasing Requisition Import errors how to fix
- PO_REQUISITIONS_INTERFACE_ALL process_flag error
- Requisition Import Exceptions Report EBS
- REQIMPORT concurrent program failed requisitions not created

## Applies To

Oracle E-Business Suite R12.1 and R12.2 Purchasing and iProcurement; also 11i with minor column differences. Applies to requisitions created from MRP, Inventory min-max, WIP, and custom feeds

## Steps

### How to find the rejection reasons and rerun the import

**Items:**

- Find the failed request in Concurrent > Requests. Open the Requisition Import output and the Requisition Import Exceptions Report for the same request ID.
- Query the interface table: SELECT transaction_id, interface_source_code, batch_id, process_flag, item_id, destination_organization_id FROM po_requisitions_interface_all WHERE process_flag = 'ERROR'.
- Join to PO_INTERFACE_ERRORS on INTERFACE_TRANSACTION_ID to read ERROR_MESSAGE, COLUMN_NAME and TABLE_NAME for each rejected row.
- Fix the data on the interface row or in the setup: item assignment to the destination organization, purchasing category, deliver-to location, preparer or requester, charge account, need-by date.
- Reset the rows: set PROCESS_FLAG to NULL and clear the related PO_INTERFACE_ERRORS rows for those transactions, or reload them from the source.
- Submit Requisition Import with the correct Import Source, Import Batch ID and Group By parameter. Set Multiple Distributions as needed.
- Review the new Exceptions Report. Clean rows are deleted from the interface table automatically after a successful import.
- Open the Requisition Summary form to confirm the created requisitions and their approval status.

## Sections

### Where the error detail lives

**Body:**

Requisition Import reads PO_REQUISITIONS_INTERFACE_ALL, with distribution detail in PO_REQ_DIST_INTERFACE_ALL. Each rejected row remains in those tables, and the reasons are inserted into PO_INTERFACE_ERRORS, which also serves purchase order and receiving interfaces. That shared table is why you filter by INTERFACE_TYPE and TABLE_NAME.

The Exceptions Report prints the same data in friendly form, but SQL is better when you have thousands of rows from an MRP release. Group by ERROR_MESSAGE to see whether you have one systemic problem (all rows fail on category) or many individual ones.

**Code:**

SELECT e.error_message, COUNT(*) cnt
  FROM po_interface_errors e
  JOIN po_requisitions_interface_all r
    ON r.transaction_id = e.interface_transaction_id
 WHERE r.process_flag = 'ERROR'
 GROUP BY e.error_message
 ORDER BY cnt DESC;

### The usual causes

**Body:**

Item and organization mismatches lead the list. The item must be assigned to the destination organization and be purchasable, with a valid purchasing category assigned in the Purchasing category set. A cost-centre or account issue is the second: the charge account must be valid for the destination organization's ledger and pass flexfield validation and security rules, and the account generator may fail for project-related requisitions.

People and approvals are the third group. PREPARER_ID and the requester must be active employees with valid assignments, and the approver hierarchy or position hierarchy must resolve so that the requisition can be set to Approved or Incomplete as requested. Setting AUTHORIZATION_STATUS to APPROVED in the interface only works when the preparer has approval authority for the document type and amount.

Other frequent items include inactive deliver-to locations, need-by dates outside calendar rules, unit-of-measure conversions missing for the item, and a destination type of INVENTORY pointing at a subinventory that is not valid for the item.

### Rerunning without duplicates

**Body:**

Requisition Import deletes rows it successfully processes, so rerunning against the same batch only picks up what remains. The danger is feeds that re-insert the entire batch after a partial failure, producing duplicate requisitions for the rows that already succeeded. Use a unique batch ID per load and check PO_REQUISITION_HEADERS_ALL by INTERFACE_SOURCE_CODE and BATCH_ID before reloading.

For MRP-driven loads, release implementation goes through the Planner Workbench and Requisition Import; failures there leave MRP recommendations flagged in a state that blocks re-implementation. Resolve the Purchasing error first, then re-implement the recommendation rather than hand creating the requisition, so MRP and Purchasing stay in step.

**Code:**

UPDATE po_requisitions_interface_all
   SET process_flag = NULL
 WHERE process_flag = 'ERROR'
   AND batch_id = :batch_id;

DELETE FROM po_interface_errors
 WHERE interface_transaction_id IN
       (SELECT transaction_id FROM po_requisitions_interface_all
         WHERE batch_id = :batch_id);

### Making feeds more reliable

**Body:**

Validate against EBS reference data before inserting. A small staging query that checks item-organization assignment, category, location and employee status removes most rejections up front. Keep that logic in one view or package so every feed (MES, planning tool, spreadsheets) shares it.

Schedule a daily check for rows left in ERROR status older than a day. Stuck requisitions mean parts that nobody ordered, which in manufacturing shows up as a late work order, not as an error screen.

## Pitfalls

- Reloading the full batch after a partial failure and creating duplicate requisitions.
- Clearing PO_INTERFACE_ERRORS without fixing the data, losing the only record of why rows failed.
- Using one Import Batch ID for unrelated sources, which makes rejections hard to trace.
- Setting the interface to APPROVED for a preparer without authority, leaving requisitions Incomplete.
- Assuming item exists in master org means it is purchasable in the destination org.

## Ai Angle

An ERPray style assistant over EBS can summarise PO_INTERFACE_ERRORS by message, item, buyer and import source, show the SQL, and list the setup gap behind each cluster, such as items missing from an organization. It reads only and honours EBS roles. Resetting PROCESS_FLAG or resubmitting REQIMPORT stays with a Purchasing admin. It does not repair source feeds on its own.

## Faq

### Where do I see why Requisition Import rejected a row?

**Answer:** In the Requisition Import Exceptions Report for the request, or in the PO_INTERFACE_ERRORS table joined on INTERFACE_TRANSACTION_ID to PO_REQUISITIONS_INTERFACE_ALL. ERROR_MESSAGE and COLUMN_NAME point to the failing field.

### Do I need to delete rows after fixing them?

**Answer:** No. Rows that succeed are removed by the import. For rejected rows, correct the data, set PROCESS_FLAG back to NULL, clear the old error rows, and rerun REQIMPORT with the same Import Source and Batch ID.

### Why are requisitions created as Incomplete instead of Approved?

**Answer:** The interface only sets Approved when the preparer has approval authority for the document type and amount, and the approval path resolves. Otherwise the requisition lands as Incomplete or Pre-Approved. Check the approval group, position hierarchy and the document type setup.

### Can I run Requisition Import for only one source?

**Answer:** Yes. The Import Source parameter limits the run to rows with that INTERFACE_SOURCE_CODE, and Import Batch ID narrows it further. Using specific values makes rejections easier to isolate and avoids touching other feeds.

## Search terms

requisition import errors EBS, PO_INTERFACE_ERRORS, REQIMPORT failed, po_requisitions_interface_all, requisition import exceptions report, Oracle purchasing interface error, R12 requisition import fix, MRP requisition release error

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
