AR_CASH_RECEIPTS_ALL — STATUS = UNAPP (Receipt ID: 4481201)
AR_PAYMENT_SCHEDULES_ALL — AMOUNT_DUE_REMAINING (Invoice: INV-2026-00814-A)
Receipt status analysis, unapplied and misapplied payment detection, lockbox import errors, remittance batch status, on-account credit aging, and cross-currency receipt validation.
Cash application — the process of matching customer payments to open invoices — is among the highest-volume and most error-prone processes in Oracle EBS Accounts Receivable. A payment batch that processes 200 lockbox receipts in one run will correctly apply 190 of them automatically, leave 5 as unapplied because the customer remittance advice did not match an open invoice, and misapply 5 because the remittance advice referenced an invoice number that existed but in a different operating unit or with a slightly different format. The 190 correct applications are invisible. The 10 exceptions are invisible too — until the customer calls about a balance due on an invoice they already paid, or until the AR aging report shows a credit balance that should not be there.
Unapplied receipts are the most common cash application condition and the most operationally costly. A receipt sitting in AR_CASH_RECEIPTS_ALL with a status of UNAPP has been deposited — the cash is in the bank — but it has not been applied to any invoice. The customer's open balance is not reduced. The invoice continues to age. If the customer pays again because they received a collection notice, the duplicate payment creates an overpayment situation. In a large AR environment, unapplied receipts can accumulate to a significant balance over time, particularly after lockbox transmission errors or customer payments with incomplete remittance data.
Misapplied receipts are more damaging than unapplied receipts because they are less visible. A receipt applied to the wrong invoice shows as applied — the AR aging report shows it closed, the customer's account shows the correct balance — but the wrong invoice is closed. The correct invoice remains open and continues to age. The error typically surfaces when the customer disputes the balance on the incorrectly closed invoice, or when a write-off is proposed for the 'unpaid' invoice that was actually paid under a different application. Reversing and reapplying misapplied receipts in Oracle AR requires navigating the receipt reversal and application unapplication workflow carefully to avoid creating additional accounting entries.
AR-03 runs a complete cash application diagnostic — receipt status analysis across all statuses (UNAPP, APP, UNID, REV), unapplied receipt aging by customer and amount, lockbox transmission error identification in AR_PAYMENTS_INTERFACE_ALL, misapplication detection by cross-referencing AR_RECEIVABLE_APPLICATIONS_ALL against the expected application from the remittance data, cross-currency receipt configuration in GL_DAILY_RATES, and on-account credit analysis. It identifies every condition that represents an incorrect application or an unresolved receipt.
AR-03 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 — AR CASH APPLICATION DIAGNOSTIC
════════════════════════════════════════════════════════════
Receipt Number : LBXR-2026-04412
Customer : Hawthorne Industrial Group (Account: 22184)
Receipt Amount : $84,200.00
Case Number : AR-312840
Report Date : 22-FEB-2026 14:50:02
════════════════════════════════════════════════════════════
[ SECTION 1 — RECEIPT STATUS ] STATUS: ✗ UNAPP
────────────────────────────────────────────────────────────
Status : UNAPP — not applied to any invoice
Receipt Date : 18-FEB-2026
Days Unapplied : 4 days
Lockbox Source : Wells Fargo Lockbox Transmission 20260218
[ SECTION 2 — LOCKBOX ERRORS ] STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
Interface Record : AR_PAYMENTS_INTERFACE_ALL — ITEM_NUMBER 04412
Error Type : INVOICE_NUM_NOT_FOUND ✗
Remittance Invoice : INV-2026-00814
AR Transaction : Not found in RA_CUSTOMER_TRX_ALL
Match Attempt : INV-2026-00814 → No match
Close Match Found : INV-2026-00814-A exists — different batch source
✗ Root cause: remittance invoice number format mismatch
[ SECTION 3 — UNAPPLIED AGING — CUSTOMER 22184 ]
────────────────────────────────────────────────────────────
Total Unapplied : $84,200.00
Oldest Unapplied : $12,500 from 02-FEB-2026 — 20 days
Open Invoices : 3 open invoices totalling $91,400
Potential Match : $84,200 could close INV-2026-00814-A ($84,200) exactly
[ SECTION 4 — CROSS-CURRENCY ] STATUS: ✓ PASS
════════════════════════════════════════════════════════════
DIAGNOSTIC SUMMARY
════════════════════════════════════════════════════════════
Receipt LBXR-2026-04412: apply to INV-2026-00814-A after customer confirmation
Apply via Receipts Workbench — navigate: Receipts > Apply
════════════════════════════════════════════════════════════
Every table touched by AR-03 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 AR-03 execution — written from actual run output. No manual documentation required.
High value receipts remaining unapplied beyond 30 days — typically indicates matching failure or on-account posting. AR-03 shows receipt detail and customer open debit balance.
Bank lockbox transmission file failed import — format mismatch, invalid account numbers, or unmatched invoice references. AR-03 identifies the specific error and resubmission path.
Receipt applied to a different invoice than intended. AR-03 identifies the misapplication and provides the unapply and reapply DML fix with full backup.
Foreign currency receipt missing realized gain/loss account setup. AR-03 identifies the missing account setup and the Revenue and Tax accounting flexfield navigation.
| Table / View | Schema | Purpose in Diagnostic |
|---|---|---|
| AR_CASH_RECEIPTS_ALL | AR | Receipt header — status, amounts, customer |
| AR_RECEIVABLE_APPLICATIONS_ALL | AR | Receipt application detail |
| AR_PAYMENT_SCHEDULES_ALL | AR | Invoice payment schedule open balance |
| AR_PAYMENTS_INTERFACE_ALL | AR | Lockbox interface records |
| HZ_CUST_ACCOUNTS | HZ | Customer account for receipt matching |
| CE_BANK_ACCOUNTS | CE | Bank account for lockbox |
| GL_DAILY_RATES | GL | Exchange rates for cross-currency |
| ZX_RATES_B | ZX | Tax for receipts with tax |
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 |
|---|---|---|
| Unapplied receipt — not matched to any invoice | Functional First | Apply via Receipts workbench: Receipts > Apply > enter invoice number or select from list. AR-03 identifies the best candidate invoice match by amount and customer and provides the exact application path. |
| Misapplied receipt — applied to wrong invoice | Functional First | Reverse the application via Receipts > Reverse Application, then reapply to the correct invoice. AR-03 identifies the incorrect application record and the correct target invoice. |
| Lockbox INVOICE_NUM_NOT_FOUND — remittance format mismatch | Direct Fix | AR-03 searches for near-match invoice numbers in RA_CUSTOMER_TRX_ALL and identifies the correct invoice. After customer confirmation, updates AR_PAYMENTS_INTERFACE_ALL with corrected invoice number and resubmits lockbox post-processing. |
| Receipt in UNID status — customer not identified | Functional First | Identify the customer from bank reference data and assign via Receipts > Identify Customer. AR-03 identifies the bank account in CE_BANK_ACCOUNTS for customer lookup. |
| Cross-currency receipt — gain/loss account missing | Functional First | Set up the realized gain/loss account in Receivables > Setup > System Options > Accounting. AR-03 identifies the missing account and the currency combination. |
| On-account credit — receipt applied on-account but customer has open invoices | Direct Fix | AR-03 identifies the on-account credit in AR_RECEIVABLE_APPLICATIONS_ALL and the matching open invoice. Transfers application from on-account to the specific invoice with full backup after customer confirmation. |
| Lockbox transmission error — file format or bank routing mismatch | Functional First | Correct the transmission format in the lockbox definition setup. AR-03 identifies the specific format field causing the rejection from the AR_PAYMENTS_INTERFACE_ALL error record. |
| Receipt reversal accounting error — XLA event in ERROR | Oracle Support | Receipt reversal accounting failures in XLA are escalated to Oracle Support. Direct DML on XLA tables is never performed — AR-03 documents the event ID and error detail for the Service Request. |
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 |
|---|---|---|
| 120arig.pdf | Oracle Receivables Implementation Guide — Ch. 3: Payment Terms | pp. 3-1 to 3-6: Payment terms configuration driving receipt application and discounts |
| 120ceug.pdf | Oracle Cash Management User Guide — Ch. 1: Bank Reconciliation | pp. 1-2 to 1-9: Matching bank statement lines with AR receipts and misapplication analysis |
| 120ceug.pdf | Oracle Cash Management User Guide — Ch. 5: Reconciling Transactions | Ch. 5: Reconciling AR receipts, clearing accounts, and unreconciled items |
AR-03 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 →