AR-03 EBS R12.x Accounts Receivable Tier 2 Data Fix

Cash Application Diagnostic

Receipt status analysis, unapplied and misapplied payment detection, lockbox import errors, remittance batch status, on-account credit aging, and cross-currency receipt validation.

PlatformOracle EBS R12.x
Input RequiredReceipt Number or Customer Account ID
Diagnostic Checks32+
Data Sources8 Oracle tables
Fix Options4 guided fixes
Backup CreatedYes — Automatic

Why This Fails — and What It Costs

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.

What This Script Diagnoses

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

Receipt Status Analysis
AR_CASH_RECEIPTS_ALL — status: UNAPP, APP, UNID, REV, NSF. Unidentified receipts with no customer. Reversed receipts still showing as applied. Receipts on hold.
Unapplied Amount Aging
Unapplied receipt amounts aged 0-30, 31-60, 61-90, 90+ days. Receipts larger than any open debit — on-account candidates. Partial application completeness.
Lockbox Import Errors
HZ_BANK_ACCT_USES_ALL and CE lockbox setup validity. AR_PAYMENTS_INTERFACE_ALL error records. Transmission file format issues. Customer and invoice matching failures.
Cross-Currency Receipts
Foreign currency receipts applied to functional currency invoices — gain/loss account setup. Cross-currency rate type and exchange date. Cross-currency tolerance.
Misapplied Payments
Receipts applied to the wrong invoice or wrong customer. Application date vs. receipt date discrepancy. Open credits from over-application.

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.

AR-03 — AR-03 Diagnostic Report
════════════════════════════════════════════════════════════
  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
════════════════════════════════════════════════════════════

The Four-Layer Architecture in AR-03

1
Diagnostic Engine
Runs 32+ checks across receipt status analysis, unapplied receipt aging by customer, lockbox transmission error identification in AR_PAYMENTS_INTERFACE_ALL, misapplication detection, cross-currency gain/loss account configuration, and on-account credit analysis.
2
Backup Created
Before any receipt application or reversal is modified, CONS_BACKUP.AR_CASH_RECEIPTS_ALL_<case#> and AR_RECEIVABLE_APPLICATIONS_ALL_<case#> are created and row counts verified.
3
Guided Data Fix
Most cash application conditions resolve through Oracle AR Receipts workbench — applying unapplied receipts, reversing misapplied receipts, or correcting lockbox interface data. Direct fixes for on-account credit reapplication and payment schedule amount corrections with full backup.
4
KB Article Generated
Complete KB article generated — receipt number, error type, invoice match, resolution path taken, customer balance impact. Upload directly to your knowledge base.

Backup & Rollback for AR-03

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.

Tables Backed Up — AR-03

CONS_BACKUP.AR_CASH_RECEIPTS_ALL_<case#> CONS_BACKUP.AR_RECEIVABLE_APPLICATIONS_ALL_<case#> CONS_BACKUP.AR_PAYMENT_SCHEDULES_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 AR-03 execution — written from actual run output. No manual documentation required.

KB-AR-312840-001 · Script: AR-03
Unapplied Lockbox Receipt — Invoice Number Format Mismatch Preventing Auto-Application
Lockbox receipt LBXR-2026-04412 for $84,200 from Hawthorne Industrial Group sitting unapplied for 4 days. Lockbox auto-application failed with INVOICE_NUM_NOT_FOUND. Customer has 3 open invoices totalling $91,400.
Customer remittance advice referenced invoice INV-2026-00814. Oracle AR lockbox matching searched RA_CUSTOMER_TRX_ALL for this exact number — not found. The correct invoice is INV-2026-00814-A (created with a suffix by the legacy invoicing system). Lockbox matching format did not include the -A suffix variant.
AR_PAYMENTS_INTERFACE_ALL — INVOICE_NUMBER, CUSTOMER_ID (Item: 04412)
AR_CASH_RECEIPTS_ALL — STATUS = UNAPP (Receipt ID: 4481201)
AR_PAYMENT_SCHEDULES_ALL — AMOUNT_DUE_REMAINING (Invoice: INV-2026-00814-A)
Receipt manually applied to INV-2026-00814-A for $84,200 via Receipts Workbench after customer confirmation. Lockbox transmission format updated to strip -A/-B suffixes from invoice number matching. AR balance cleared.
Lockbox matching rules updated in AR_LOCKBOXES_ALL to include fuzzy invoice number matching (strip trailing suffix). AR-03 unapplied receipt aging report should run daily — unapplied receipts over $10K flagged for same-day resolution.
ARCash ApplicationLockboxUnapplied ReceiptAR_CASH_RECEIPTS_ALLINVOICE_NUM_NOT_FOUNDEBS R12.2

Most Common Issues Detected by AR-03

Unapplied

Large Unapplied Receipt Balance

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.

Lockbox

Lockbox Transmission Errors

Bank lockbox transmission file failed import — format mismatch, invalid account numbers, or unmatched invoice references. AR-03 identifies the specific error and resubmission path.

Misapply

Receipt Applied to Wrong Invoice

Receipt applied to a different invoice than intended. AR-03 identifies the misapplication and provides the unapply and reapply DML fix with full backup.

Currency

Cross-Currency Gain/Loss Account Missing

Foreign currency receipt missing realized gain/loss account setup. AR-03 identifies the missing account setup and the Revenue and Tax accounting flexfield navigation.

Tables & Views Examined

Table / ViewSchemaPurpose 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
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
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.
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.

AR_CASH_RECEIPTS_ALL
AR_RECEIVABLE_APPLICATIONS_ALL
AR_PAYMENT_SCHEDULES_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.
AR-03 — Pre-Flight & Backup Verification
════════════════════════════════════════════════════════════
  PRE-FLIGHT SAFETY CHECK
════════════════════════════════════════════════════════════
  Receipt ID         : 4481201
  STATUS             : UNAPP — safe to modify ✓
  ACCOUNTING_EVENT_ID: NULL ✓ No active event
  Session Lock Check : No locks detected ✓
  CONS_BACKUP Schema : Accessible ✓
────────────────────────────────────────────────────────────
  ALL PRE-FLIGHT CHECKS PASSED
════════════════════════════════════════════════════════════
  Creating : CONS_BACKUP.AR_CASH_RECEIPTS_ALL_312840
  Rows     : 1 row backed up ✓
  Creating : CONS_BACKUP.AR_RECEIVABLE_APPLICATIONS_ALL_312840
  Rows     : 1 row backed up ✓
  Registry : FIX_BACKUP_REGISTRY — ID 3072 created ✓
────────────────────────────────────────────────────────────
  BACKUP COMPLETE
════════════════════════════════════════════════════════════
  Enter case number to confirm : 312840
  Confirmed.
════════════════════════════════════════════════════════════
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-AR-312840-001
Unapplied Lockbox Receipt — Invoice Number Format Mismatch Preventing Auto-Application
EBS R12.2.10 · Accounts Receivable
● RESOLVED
Symptom
Lockbox receipt LBXR-2026-04412 for $84,200 from Hawthorne Industrial Group sitting unapplied for 4 days. Lockbox auto-application failed with INVOICE_NUM_NOT_FOUND. Customer has 3 open invoices totalling $91,400.
Root Cause
Customer remittance advice referenced invoice INV-2026-00814. Oracle AR lockbox matching searched RA_CUSTOMER_TRX_ALL for this exact number — not found. The correct invoice is INV-2026-00814-A (created with a suffix by the legacy invoicing system). Lockbox matching format did not include the -A suffix variant.
Tables
AR_PAYMENTS_INTERFACE_ALL — INVOICE_NUMBER, CUSTOMER_ID (Item: 04412)
AR_CASH_RECEIPTS_ALL — STATUS = UNAPP (Receipt ID: 4481201)
AR_PAYMENT_SCHEDULES_ALL — AMOUNT_DUE_REMAINING (Invoice: INV-2026-00814-A)
Fix Applied
Receipt manually applied to INV-2026-00814-A for $84,200 via Receipts Workbench after customer confirmation. Lockbox transmission format updated to strip -A/-B suffixes from invoice number matching. AR balance cleared.
Prevention
Lockbox matching rules updated in AR_LOCKBOXES_ALL to include fuzzy invoice number matching (strip trailing suffix). AR-03 unapplied receipt aging report should run daily — unapplied receipts over $10K flagged for same-day resolution.
Tags
ARCash ApplicationLockboxUnapplied ReceiptAR_CASH_RECEIPTS_ALLINVOICE_NUM_NOT_FOUNDEBS R12.2

Oracle Documentation References

R12 Guide (PDF)Title & ChapterDetail
120arig.pdfOracle Receivables Implementation Guide — Ch. 3: Payment Termspp. 3-1 to 3-6: Payment terms configuration driving receipt application and discounts
120ceug.pdfOracle Cash Management User Guide — Ch. 1: Bank Reconciliationpp. 1-2 to 1-9: Matching bank statement lines with AR receipts and misapplication analysis
120ceug.pdfOracle Cash Management User Guide — Ch. 5: Reconciling TransactionsCh. 5: Reconciling AR receipts, clearing accounts, and unreconciled items

Ready to Resolve This in Your Environment?

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.

Schedule a Discovery Call → ← View All 65 Scripts

See this script run autonomously — Oracle AI Platform →