AP-02 EBS R12.x Accounts Payable Tier 2 Data Fix

AP Payment Processing Diagnostic

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.

PlatformOracle EBS R12.x
Input RequiredPayment Batch ID or Bank Account ID
Diagnostic Checks35+
Data Sources8 Oracle tables
Fix Options4 guided fixes
Backup CreatedYes — Automatic

Why This Fails — and What It Costs

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.

What This Script Diagnoses

AP-02 systematically investigates every major condition that can cause the issue this diagnostic targets. Below is the complete coverage breakdown.

Payment Batch Status
Batch header status — FORMATTING, CONFIRMING, CANCELLED. Batches initiated but never completed. Concurrent request status for Format Payments and Confirm Payments programs.
Bank Account Validity
Bank account active status in CE_BANK_ACCOUNTS. Account uses and payment methods enabled for the operating unit. Account assigned to the payment document. IBAN and routing number completeness for EFT.
Payment Document Setup
Payment document format program assignment. Check stock setup and numbering. Remittance advice template. Document categories enabled for the OU.
EFT/EDI Configuration
Payment process profile completeness. Payment method rules. Disbursement bank account mapping. Transmission configuration for electronic payments.
Void and Stop Payments
Void reason and GL date for voided payments. Stop payment status and reversal. Payments in ISSUED status past payment date. Stale check identification.
Aging Analysis
Payment batches by status and age. Oldest unconfirmed batch. Average time from initiation to confirmation. Payments awaiting bank transmission.

What the Report Looks Like

Representative output showing the diagnostic running against a real-world scenario. The script identifies every condition, states the root cause, and generates the fix.

AP-02 — AP-02 Diagnostic Report
════════════════════════════════════════════════════════════
  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
════════════════════════════════════════════════════════════

The Four-Layer Architecture in AP-02

1
Diagnostic Engine
Runs 35+ checks across payment batch status, concurrent request state, bank account assignment, payment process profile completeness, IBY document pipeline, EFT transmission configuration, and void/stop payment status.
2
Backup Created
Before any batch or document data is touched, CONS_BACKUP.AP_PAYMENT_HISTORY_ALL_<case#>, IBY_DOCS_PAYABLE_ALL_<case#>, and AP_CHECKS_ALL_<case#> are created and row counts verified.
3
Guided Data Fix
Tiered fix options: concurrent request resubmission, payment process profile assignment, batch status correction. Will not resubmit if the source error condition has not been resolved. Explicit COMMIT required.
4
KB Article Generated
Complete KB article generated — batch ID, error code, root cause, fix applied, bank account assignment details, prevention notes. Upload directly to your knowledge base.

Backup & Rollback for AP-02

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.

Tables Backed Up — AP-02

CONS_BACKUP.AP_PAYMENT_HISTORY_ALL_<case#> CONS_BACKUP.IBY_DOCS_PAYABLE_ALL_<case#> CONS_BACKUP.IBY_PAY_INSTRUCTIONS_ALL_<case#> CONS_BACKUP.AP_CHECKS_ALL_<case#>

Backup happens before any DML. Script aborts if backup creation fails.

Pre-Flight Safety Guards

POSTED_FLAG = 'N'Required ✓
ACCOUNTING_EVENT_ID IS NULLRequired ✓
No active session lockChecked ✓
CONS_BACKUP schema accessibleVerified ✓

FIX_BACKUP_REGISTRY Entry

REGISTRY_ID<auto-generated>
CASE_NUMBER<consultant case#>
SOURCE_TABLE<table modified>
ROWS_BACKED_UP<row count>
BACKUP_VERIFIEDYES ✓
ROLLBACK_SQLStored as CLOB
STATUSACTIVE
ENVIRONMENTPRODUCTION

Auto-Generated Knowledge Base Article

This article is produced automatically at the end of every AP-02 execution — written from actual run output. No manual documentation required.

KB-AP-821034-001 · Script: AP-02
Payment Batch Stuck in FORMATTING — Missing Disbursement Bank Account on Payment Process Profile
Payment batch PAY-2026-01142 stuck in FORMATTING status for 18 hours. Format Payments concurrent request completed with error IBY_FD_PAYMENT_PROFILE_MISSING. 47 invoices totalling $1.28M blocked from payment.
Payment process profile PPP-EFT-US-001 had no disbursement bank account assigned. The profile was created during the EFT setup project but the disbursement bank account step was not completed before go-live. Format Payments cannot build the payment instruction without a disbursement account — it completes with error and leaves the batch in FORMATTING.
IBY_PAYMENT_PROFILES — PAYMENT_PROFILE_ID (Profile: PPP-EFT-US-001)
IBY_PAY_INSTRUCTIONS_ALL — PAYMENT_STATUS (Instruction ID: 88142)
Disbursement bank account CE_BANK_ACCT_USE_ID 4412 assigned to profile PPP-EFT-US-001 via Payments > Payment Process Profiles. Format Payments resubmitted for batch PAY-2026-01142. 47 payments formatted and transmitted successfully.
Payment process profiles should be validated in a test environment with a full end-to-end payment run before being used in production. AP-02 includes a profile completeness check that can be run without initiating a payment batch.
APPayment ProcessingEFTIBYPayment Process ProfileFormat PaymentsEBS R12.2

Most Common Issues Detected by AP-02

Batch Status

Payment Batch Stuck in FORMATTING

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.

Bank Setup

Bank Account Not Assigned

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 Issue

Transmission File Not Generated

EFT payment process profile incomplete — missing disbursement bank account, transmission configuration, or payment method rule. AP-02 identifies the exact missing element.

Void Issue

Void Payment Not Reconciled

Voided payment still showing as outstanding in bank reconciliation. AP-02 identifies the GL date, accounting status, and reconciliation clearing path.

Tables & Views Examined

Table / ViewSchemaPurpose 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
Decision Framework

How Every Fix Decision Is Made

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.

1
First Option — Always
Can the front end fix this?

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.

✓ Functional Fix
2
When Front End Is Not Available
Is a direct data fix safe to apply?

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:

The fix mirrors exactly what Oracle's own code would have done if the underlying condition were corrected
All dependent tables have been identified and will be updated in the same transaction
The fix is fully reversible — a single INSERT from the backup table restores the original state
The environment patch level has been confirmed against the fix logic version
⚡ Direct Fix
3
Hard Stops — No Exceptions
Does this require Oracle Support?

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 subledger tablesXLA_EVENTS, XLA_AE_HEADERS — incorrect changes corrupt the subledger audit trail in ways undetectable until period close fails or an auditor requests a reconciliation
Workflow engine tablesWF_ITEMS, WF_ITEM_ACTIVITY_STATUSES — ad-hoc DML can corrupt the workflow engine state instance-wide
Recurring conditions after a fix — indicates a code defect, not a data error. Documented and submitted as a Service Request with a reproducible test case
⚠ Oracle Support
4
For All Approved Direct Fixes
Backup → Execute → Verify → Document

A 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.

📋 Documented
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.
Safeguards

Nothing Executes Without a Safety Net

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.

Pre-Flight Checks — All Must Pass
POSTED_FLAG = 'N'
Will not modify a posted transaction under any circumstances
ACCOUNTING_EVENT_ID IS NULL
Will not modify rows with an active or pending XLA accounting event
No active database lock
Checks V$LOCK — will not proceed if another session holds a lock on target rows
CONS_BACKUP schema writable
Backup schema must be accessible before any DML is permitted
Explicit confirmation required
Script outputs a confirmation prompt — DML does not execute until consultant enters the case number as the execution parameter
Backup Methodology

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.

AP_PAYMENT_HISTORY_ALL
IBY_DOCS_PAYABLE_ALL
IBY_PAY_INSTRUCTIONS_ALL
AP_CHECKS_ALL
Row count verified after backup creation. If backup fails for any reason the script aborts without executing any DML. Rollback is a single INSERT from the backup table. No reconstruction required.
AP-02 — Pre-Flight & Backup Verification
════════════════════════════════════════════════════════════
  PRE-FLIGHT SAFETY CHECK
════════════════════════════════════════════════════════════
  Batch ID           : PAY-2026-01142
  Batch Status       : FORMATTING — eligible for correction ✓
  CONS_BACKUP Schema : Accessible ✓
  Session Lock Check : No locks detected ✓
────────────────────────────────────────────────────────────
  ALL PRE-FLIGHT CHECKS PASSED — Ready to create backup
════════════════════════════════════════════════════════════
  BACKUP CREATION
════════════════════════════════════════════════════════════
  Creating : CONS_BACKUP.IBY_PAY_INSTRUCTIONS_ALL_821034
  Rows     : 1 row backed up ✓ Verified
  Creating : CONS_BACKUP.IBY_DOCS_PAYABLE_ALL_821034
  Rows     : 47 rows backed up ✓ Verified
  Registry : FIX_BACKUP_REGISTRY — ID 2018 created ✓
────────────────────────────────────────────────────────────
  BACKUP COMPLETE — Rollback available via single INSERT
════════════════════════════════════════════════════════════
  CONFIRMATION REQUIRED BEFORE PROFILE UPDATE EXECUTES
  Enter case number to confirm : 821034
  Confirmed. Assigning disbursement bank account...
════════════════════════════════════════════════════════════
Knowledge Base

Every Execution Produces a Record

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.

Zero Manual Effort
Every field — environment, tables, before/after values, backup reference, root cause, prevention — is generated from actual execution output. Nothing is written by hand.
Patterns Surface Over Time
The first engagement produces findings. The third produces patterns. Recurring conditions that are invisible as individual incidents become obvious as knowledge base trends.
Survives Staff Turnover
The knowledge base is an institutional record of the Oracle environment. A new manager, a new DBA, or an external auditor can read exactly what happened, what was done, and what prevents recurrence.
KB-AP-821034-001
Payment Batch Stuck in FORMATTING — Missing Disbursement Bank Account on Payment Process Profile
EBS R12.2.10 · Accounts Payable
● RESOLVED
Symptom
Payment batch PAY-2026-01142 stuck in FORMATTING status for 18 hours. Format Payments concurrent request completed with error IBY_FD_PAYMENT_PROFILE_MISSING. 47 invoices totalling $1.28M blocked from payment.
Root Cause
Payment process profile PPP-EFT-US-001 had no disbursement bank account assigned. The profile was created during the EFT setup project but the disbursement bank account step was not completed before go-live. Format Payments cannot build the payment instruction without a disbursement account — it completes with error and leaves the batch in FORMATTING.
Tables
IBY_PAYMENT_PROFILES — PAYMENT_PROFILE_ID (Profile: PPP-EFT-US-001)
IBY_PAY_INSTRUCTIONS_ALL — PAYMENT_STATUS (Instruction ID: 88142)
Fix Applied
Disbursement bank account CE_BANK_ACCT_USE_ID 4412 assigned to profile PPP-EFT-US-001 via Payments > Payment Process Profiles. Format Payments resubmitted for batch PAY-2026-01142. 47 payments formatted and transmitted successfully.
Prevention
Payment process profiles should be validated in a test environment with a full end-to-end payment run before being used in production. AP-02 includes a profile completeness check that can be run without initiating a payment batch.
Tags
APPayment ProcessingEFTIBYPayment Process ProfileFormat PaymentsEBS R12.2

Oracle Documentation References

R12 Guide (PDF)Title & ChapterDetail
120apug.pdfOracle Payables User's Guide — Chapter 6: PaymentsCh. 6: Payment batches, payment manager, payment formats, and payment processing errors
120ceug.pdfOracle Cash Management User Guide — Ch. 2: Bank Account Modelpp. 2-64 to 2-71: Bank account setup, bank branches, and subledger accounting for payments
120apug.pdfOracle Payables User's Guide — Ch. 6: Voiding PaymentsCh. 6: Voiding and reissuing payments, unreconciled payment analysis
120ceug.pdfOracle Cash Management User Guide — Ch. 4: Managing Bank StatementsCh. 4: Bank statement reconciliation for payment discrepancies

Ready to Resolve This in Your Environment?

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.

Schedule a Discovery Call → ← View All 65 Scripts

See this script run autonomously — Oracle AI Platform →