IBY_PAY_INSTRUCTIONS_ALL — PAYMENT_STATUS (Instruction ID: 88142)
Diagnoses every condition that can cause payment batch failures in Oracle EBS — bank account setup, document configuration, EFT formatting, and batches stuck in FORMATTING or CONFIRMING status.
When the Oracle EBS Accounts Payable team reports that a payment batch is stuck, that a Format Payments request failed, or that an EFT transmission file was never generated, the root cause is almost never where the error message points. The Oracle Payments engine — built on the IBY module and integrated with CE bank account configuration, AP payment documents, and the FND concurrent manager — has more than a dozen distinct failure points between the point where an invoice is selected for payment and the point where a check is cut or an electronic file is transmitted. Each failure point has a different owner, a different resolution path, and a different impact on the payment cycle timeline.
The most common presentation is a payment batch that shows a status of FORMATTING or CONFIRMING in the Payment Batches screen and simply does not advance. The concurrent request for the Format Payments program has either completed with an error, is waiting in the queue behind a long-running job, or completed successfully but wrote an empty file because the payment process profile was misconfigured. In each case the visible symptom — batch stuck — is identical, but the resolution is completely different. Submitting Format Payments again without diagnosing the root cause produces a second failed batch and compounds the problem.
EFT payment failures introduce an additional layer. The IBY payment process profile must specify a valid disbursement bank account, a correctly configured transmission protocol, and a payment method rule that maps the supplier's bank account to the correct payment format. If any of these elements is missing or incorrectly sequenced, the transmission file either fails to generate or generates with zero records. The supplier does not receive payment. The payment batch shows as confirmed in Oracle while the supplier's bank receives nothing. This creates an accounts payable liability that is invisible to Oracle's own reconciliation reports until a bank statement is imported and the discrepancy surfaces.
AP-02 runs a structured investigation of the complete payment processing chain — from payment batch header status through concurrent request state, bank account assignment, payment process profile completeness, IBY document status, and transmission configuration. It identifies exactly where the chain broke, states the root cause, and provides the resolution path. For direct-fixable conditions — a batch stuck in FORMATTING due to a completed-with-error concurrent request — it generates the resubmission with the correct parameters. For setup issues — a missing bank account use, an inactive payment document — it identifies the exact Oracle Forms navigation path.
AP-02 systematically investigates every major condition that can cause the issue this diagnostic targets. Below is the complete coverage breakdown.
Representative output showing the diagnostic running against a real-world scenario. The script identifies every condition, states the root cause, and generates the fix.
════════════════════════════════════════════════════════════
ORACLE EBS R12 — AP PAYMENT PROCESSING DIAGNOSTIC
════════════════════════════════════════════════════════════
Payment Batch ID : PAY-2026-01142
Bank Account : US Operating - Wells Fargo x4412
Payment Method : EFT
Case Number : 821034
Report Date : 20-FEB-2026 09:14:22
════════════════════════════════════════════════════════════
[ SECTION 1 — BATCH HEADER STATUS ] STATUS: ⚠ WARNING
────────────────────────────────────────────────────────────
Batch Status : FORMATTING — 18 hours
Invoices Selected : 47
Total Amount : $1,284,750.00
⚠ WARNING: Batch in FORMATTING for 18 hours — expected < 30 min
[ SECTION 2 — CONCURRENT REQUEST ] STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
Request ID : 4481920
Program : Format Payments
Status : ERROR ✗
Completion Message : IBY_FD_PAYMENT_PROFILE_MISSING
✗ FAIL: Format Payments completed with error — batch will not advance
[ SECTION 3 — PAYMENT PROCESS PROFILE ] STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
Profile ID : PPP-EFT-US-001
Disbursement Acct : NOT ASSIGNED ✗
✗ FAIL: Payment process profile missing disbursement bank account
Fix : Payments > Payment Process Profiles > Update > Disbursement
[ SECTION 4 — BANK ACCOUNT ] STATUS: ✓ PASS
[ SECTION 5 — IBY DOCUMENTS ] STATUS: ⚠ BLOCKED
────────────────────────────────────────────────────────────
⚠ 47 documents in PENDING_REVIEW — blocked by profile error
════════════════════════════════════════════════════════════
DIAGNOSTIC SUMMARY
════════════════════════════════════════════════════════════
ROOT CAUSE: Payment process profile PPP-EFT-US-001 has no disbursement bank account
FIX: Assign disbursement bank account, then resubmit Format Payments for batch PAY-2026-01142
════════════════════════════════════════════════════════════
Backup Created : CONS_BACKUP.IBY_PAY_INSTRUCTIONS_ALL_821034 ✓
Registry ID : 2018
════════════════════════════════════════════════════════════
Every table touched by AP-02 data fixes is backed up before the first UPDATE fires. Backup is verified by row count. One script restores the original state if needed.
Backup happens before any DML. Script aborts if backup creation fails.
This article is produced automatically at the end of every AP-02 execution — written from actual run output. No manual documentation required.
Concurrent request for Format Payments completed with error or is still pending. AP-02 identifies the exact request ID, error message, and the resubmission path.
Payment document references a bank account that is not active or not assigned to the operating unit. AP-02 identifies the missing assignment and the setup navigation path.
EFT payment process profile incomplete — missing disbursement bank account, transmission configuration, or payment method rule. AP-02 identifies the exact missing element.
Voided payment still showing as outstanding in bank reconciliation. AP-02 identifies the GL date, accounting status, and reconciliation clearing path.
| Table / View | Schema | Purpose in Diagnostic |
|---|---|---|
| AP_PAYMENT_HISTORY_ALL | AP | Payment batch header and confirmation status |
| CE_BANK_ACCOUNTS | CE | Bank account active status and OU assignment |
| AP_INVOICE_PAYMENTS_ALL | AP | Individual payment records per invoice |
| IBY_PAYMENT_PROFILES | IBY | Payment process profile configuration |
| IBY_DOCS_PAYABLE_ALL | IBY | Documents in payment batch |
| FND_CONCURRENT_REQUESTS | FND | Format and confirm program request status |
| AP_CHECKS_ALL | AP | Payment check records and void status |
| CE_BANK_ACCT_USES_ALL | CE | Bank account operating unit assignments |
Before any data is modified in a production Oracle database, AP-01 walks through a four-stage decision process. Every condition identified by the diagnostic maps to exactly one resolution path.
Oracle's own forms and concurrent programs are always the first option. If the condition can be corrected through Oracle's standard UI — a form, a concurrent program, a setup screen — that path is taken first. No consultant SQL required, no database risk, and the fix is fully supported by Oracle. The diagnostic identifies these conditions explicitly and states the exact front-end navigation path.
When the front-end path is unavailable or would require an unacceptable volume of manual steps, a direct fix is evaluated against explicit criteria. All of the following must be true before proceeding:
Certain table areas are never touched directly, regardless of how well the underlying structure is understood. The diagnostic flags these conditions and generates the Service Request documentation:
XLA_EVENTS, XLA_AE_HEADERS — incorrect changes corrupt the subledger audit trail in ways undetectable until period close fails or an auditor requests a reconciliationWF_ITEMS, WF_ITEM_ACTIVITY_STATUSES — ad-hoc DML can corrupt the workflow engine state instance-wideA timestamped backup table is created and row-count verified before the first UPDATE fires. Explicit parameter confirmation is required — the script will not self-execute. After execution, a verification query confirms the expected state. A complete change record — rows affected, before and after values, database username, timestamp — is written to the FIX_BACKUP_REGISTRY and becomes the primary artifact in the knowledge base entry for this incident.
| Condition Identified | Resolution Path | Notes |
|---|---|---|
| Payment batch stuck in FORMATTING — concurrent request in error | Functional First | Identify the error message from FND_CONCURRENT_REQUESTS, correct the root condition (profile, bank account), then resubmit Format Payments for the batch. AP-02 provides the exact resubmission parameters. |
| Payment process profile missing disbursement bank account | Functional First | Assign the correct CE_BANK_ACCT_USE_ID to the profile via Payments > Payment Process Profiles. AP-02 identifies the missing assignment and the navigation path. |
| Bank account not active or not assigned to operating unit | Functional First | Activate the bank account in Cash Management, or assign it to the OU via CE_BANK_ACCT_USES_ALL. AP-02 identifies which OU assignment is missing. |
| Void payment not posted — GL date in closed period | Direct Fix | AP-02 identifies the correct open period, updates the GL date on the void payment record with full backup, and posts the reversal to GL. |
| Stop payment issued but invoice not put back on hold | Functional First | Release the stop payment via the Payment form, then place an Invoice Hold to prevent re-selection in the next payment run until the dispute is resolved. |
| EFT transmission file generated but not transmitted | Functional First | Resubmit the transmission via Payments > Payment Process > Submit Electronic File Transmission. AP-02 identifies the transmission profile and the correct submission path. |
| IBY document in RETRY status — payment instruction failed | Functional First | Retry the payment instruction via Payments > Payment Instructions. If retry fails more than twice, investigate the IBY_TRANSACTION_ERRORS table for the specific error code. |
| Payments in ISSUED status past 90 days with no bank clearance | Oracle Support | Outstanding payment investigation requires bank statement reconciliation in CE. Oracle Support may need to assist if the bank account reconciliation is locked. |
Before any data fix runs, the script verifies pre-flight conditions and creates a complete verified backup. If any check fails, the script aborts. There is no partial execution path.
Before the first UPDATE fires, the script creates a complete copy of every row to be modified. Tables are named CONS_BACKUP.<TABLE>_<CASE#> and persist permanently after execution.
INSERT from the backup table. No reconstruction required.The knowledge base article is generated automatically from the script's execution output. No manual documentation required. It becomes the institutional record — for the team, for auditors, and for every future engagement in the same environment.
| R12 Guide (PDF) | Title & Chapter | Detail |
|---|---|---|
| 120apug.pdf | Oracle Payables User's Guide — Chapter 6: Payments | Ch. 6: Payment batches, payment manager, payment formats, and payment processing errors |
| 120ceug.pdf | Oracle Cash Management User Guide — Ch. 2: Bank Account Model | pp. 2-64 to 2-71: Bank account setup, bank branches, and subledger accounting for payments |
| 120apug.pdf | Oracle Payables User's Guide — Ch. 6: Voiding Payments | Ch. 6: Voiding and reissuing payments, unreconciled payment analysis |
| 120ceug.pdf | Oracle Cash Management User Guide — Ch. 4: Managing Bank Statements | Ch. 4: Bank statement reconciliation for payment discrepancies |
AP-02 is one of 65 diagnostic scripts covering every major Oracle EBS and Fusion module. William A. Green Consulting runs the script in your environment, applies guided data fixes, and builds the knowledge base that prevents the same issues from recurring.
See this script run autonomously — Oracle AI Platform →