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

AR Transaction Validation Diagnostic

Full validation of AR invoices and credit memos — header integrity, line amounts, tax lines, revenue distribution accounts, payment terms, batch status, and duplicate transaction detection.

PlatformOracle EBS R12.x
Input RequiredCustomer Transaction ID or Transaction Number
Diagnostic Checks40+
Data Sources9 Oracle tables
Fix Options4 guided fixes
Backup CreatedYes — Automatic

Why This Fails — and What It Costs

Oracle EBS Accounts Receivable transaction validation failures share a structural similarity with AP invoice validation failures — both are symptoms of a data model mismatch between what was entered and what Oracle's validation engine requires — but the AR side has a different cast of tables and a different set of failure modes. An AR transaction that fails to complete or post typically has its root cause in one of four areas: the transaction header is missing a required field, the distribution lines do not balance to the transaction amount, the tax configuration for the transaction type is incomplete, or the transaction is part of a batch where the batch total does not match the sum of the individual transaction amounts.

The distribution balance problem is the most common. Oracle AR requires that the sum of RA_CUST_TRX_LINE_GL_DIST_ALL records for a transaction, grouped by account class (REC, REV, TAX, FREIGHT), equals the transaction header amount in RA_CUSTOMER_TRX_ALL. When a transaction is created through AutoInvoice from an upstream system, the interface layer sometimes produces a distribution amount rounding difference of a few cents — the sum of line distributions is $10,000.01 against a header amount of $10,000.00. Oracle's standard error message for this condition is generic enough that the AR team often cannot identify which specific distribution is causing the imbalance without running a query directly against the tables.

Tax validation adds a second layer of complexity in multi-tax environments. When Oracle E-Business Tax is enabled, every AR transaction line that carries a taxable item must have a corresponding tax line generated by the ZX tax engine. If the tax regime, tax rate, or tax jurisdiction configuration in ZX_RATES_B is incomplete for the transaction type and ship-to address combination, the tax line is either not generated or generated with a zero amount, and the transaction fails to complete with a tax calculation error that references the ZX tables rather than the RA tables. The AR team may not have visibility into the E-Business Tax setup screens that contain the root cause.

AR-01 runs a complete validation of the transaction record — header field completeness, distribution balance check with penny-variance identification, tax line existence and amount validation, batch balance verification, duplicate transaction number detection, and accounting code combination validity. It identifies every condition that will prevent the transaction from completing or posting, and provides the exact resolution path — functional form navigation for setup issues, direct fix with full backup for data rounding issues and distribution corrections.

What This Script Diagnoses

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

Transaction Header Integrity
Customer active status, bill-to site assignment, transaction type validity, currency, GL date period status, payment terms, credit memo application target.
Line and Distribution Amounts
Line amounts vs. revenue distributions in RA_CUST_TRX_LINE_GL_DIST_ALL. Distribution account CCID validation. Account type — must be REVENUE for revenue lines.
Tax Line Validation
Tax lines present where required. Tax code active status. Tax amount reasonableness vs. line amounts. Inclusive vs. exclusive tax setup. Tax group assignment.
Duplicate Detection
Same customer, transaction number, amount, and date in the same operating unit. Checks RA_CUSTOMER_TRX_ALL for exact and near-duplicate matches.
Batch Status
Batch header status — OPEN, CLOSED, POSTED. Batch amount vs. sum of transaction amounts. Incomplete batch detection for AutoInvoice-generated batches.

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-01 — AR-01 Diagnostic Report
════════════════════════════════════════════════════════════
  ORACLE EBS R12 — AR TRANSACTION VALIDATION DIAGNOSTIC
════════════════════════════════════════════════════════════
  Transaction ID     : 1882310
  Transaction Number : INV-2026-00892
  Customer           : Meridian Technologies (Account: 10441)
  Case Number        : AR-290184
  Report Date        : 20-FEB-2026 10:22:18
════════════════════════════════════════════════════════════

[ SECTION 1 — TRANSACTION HEADER ]           STATUS: ✓ PASS
────────────────────────────────────────────────────────────
  Transaction Type   : INV — Invoice ✓
  GL Date            : FEB-2026 — OPEN ✓
  Bill-to Customer   : Meridian Technologies — ACTIVE ✓
  Bill-to Site       : US-PRIMARY — ACTIVE ✓

[ SECTION 2 — DISTRIBUTION BALANCE ]         STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
  Header Amount      : $28,400.00
  REC Distribution   : $28,400.00
  REV Distribution   : $28,400.01 ✗
  Variance           : $0.01 — distribution does not balance
  ✗ FAIL: REV distribution sum exceeds header by $0.01
  Root Cause         : AutoInvoice rounding — Line 3 AMOUNT_DUE_REMAINING $0.01 over
  Fix                : Direct correction to RA_CUST_TRX_LINE_GL_DIST_ALL with full backup

[ SECTION 3 — TAX LINES ]                    STATUS: ✓ PASS
────────────────────────────────────────────────────────────
  Tax Line           : ZX tax line present — $2,272.00 ✓
  Tax Rate           : 8.0% — California Sales Tax ✓

[ SECTION 4 — BATCH STATUS ]                 STATUS: ⚠ WARNING
────────────────────────────────────────────────────────────
  ⚠ Batch BATCH-2026-0144 total off by $0.01 due to same rounding issue

[ SECTION 5 — DUPLICATE CHECK ]              STATUS: ✓ PASS
────────────────────────────────────────────────────────────
  No duplicate transaction number detected ✓

════════════════════════════════════════════════════════════
  DIAGNOSTIC SUMMARY
════════════════════════════════════════════════════════════
  1 blocking condition: REV distribution variance of $0.01
  Fix: Direct correction to DIST_AMOUNT on RA_CUST_TRX_LINE_GL_DIST_ALL Line 3
  Batch total will auto-correct after distribution fix
════════════════════════════════════════════════════════════
  Backup Created  : CONS_BACKUP.RA_CUST_TRX_LINE_GL_DIST_ALL_290184 ✓
  Registry ID     : 3041
════════════════════════════════════════════════════════════

The Four-Layer Architecture in AR-01

1
Diagnostic Engine
Runs 40+ checks across transaction header completeness, distribution balance across all account classes, tax line existence and ZX configuration validity, batch amount reconciliation, duplicate transaction number detection, and GL code combination validity.
2
Backup Created
Before any distribution or transaction data is modified, CONS_BACKUP.RA_CUSTOMER_TRX_ALL_<case#> and RA_CUST_TRX_LINE_GL_DIST_ALL_<case#> are created and row counts verified.
3
Guided Data Fix
Distribution rounding variances are the primary direct-fix target — AR-01 calculates the exact penny difference, identifies the distribution line, and applies the correction with full backup. Tax and setup issues resolve through Oracle AR forms.
4
KB Article Generated
Complete KB article generated — transaction ID, distribution variance details, fix applied, batch impact, root cause. Upload directly to your knowledge base.

Backup & Rollback for AR-01

Every table touched by AR-01 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-01

CONS_BACKUP.RA_CUSTOMER_TRX_ALL_<case#> CONS_BACKUP.RA_CUST_TRX_LINE_GL_DIST_ALL_<case#> CONS_BACKUP.RA_CUSTOMER_TRX_LINES_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-01 execution — written from actual run output. No manual documentation required.

KB-AR-290184-001 · Script: AR-01
AR Transaction Distribution Rounding Variance — REV Account Class $0.01 Over
AR invoice INV-2026-00892 for Meridian Technologies failing to complete. Distribution balance check failing — REV account class sum $0.01 over header amount. Batch BATCH-2026-0144 total also mismatched by same amount.
AutoInvoice import from the OMS upstream system applied a rounding algorithm that produced a fractional cent on Line 3 REV distribution. The RA_CUST_TRX_LINE_GL_DIST_ALL AMOUNT field carries $0.01 excess due to a division rounding issue in the OMS export. This is a known AutoInvoice behavior when the source system uses a different rounding precision than Oracle AR.
RA_CUST_TRX_LINE_GL_DIST_ALL — AMOUNT (Dist ID: 4482391, Line 3, Account Class: REV)
RA_CUSTOMER_TRX_ALL — INVOICE_CURRENCY_CODE, AMOUNT_DUE_ORIGINAL (Trx ID: 1882310)
AMOUNT on RA_CUST_TRX_LINE_GL_DIST_ALL dist ID 4482391 corrected from $28,400.01 to $28,400.00 with full backup. Transaction completed successfully. Batch BATCH-2026-0144 total auto-reconciled.
OMS export script updated to use Oracle AR rounding logic (ROUND(amount, 2)) before populating RA_INTERFACE_LINES_ALL. AR-01 distribution balance check should be run as part of AutoInvoice batch post-processing validation.
ARTransaction ValidationDistribution BalanceAutoInvoiceRA_CUST_TRX_LINE_GL_DIST_ALLRoundingEBS R12.2

Most Common Issues Detected by AR-01

Account

Invalid Revenue Distribution Account

Revenue line CCID is disabled or is not a REVENUE type account. AR-01 identifies the exact distribution, CCID, and the account type mismatch.

Tax

Missing Tax Lines on Taxable Transaction

Transaction marked as taxable but no tax distributions exist. AR-01 identifies the tax code expected and the recalculation path.

Batch

Batch Amount Mismatch

Batch control amount does not equal sum of transaction amounts — blocking batch close. AR-01 identifies the discrepancy transaction.

Duplicate

Duplicate Transaction Number

Transaction number already exists for the same customer and OU. AR-01 identifies both records with dates and amounts for resolution.

Tables & Views Examined

Table / ViewSchemaPurpose in Diagnostic
RA_CUSTOMER_TRX_ALL AR Transaction header — status, type, customer, dates
RA_CUSTOMER_TRX_LINES_ALL AR Transaction lines — amounts, tax codes, item references
RA_CUST_TRX_LINE_GL_DIST_ALL AR Revenue and tax distributions — CCID, amounts
RA_BATCHES AR Batch header status and control amounts
HZ_CUST_ACCOUNTS HZ Customer account active status
HZ_CUST_SITE_USES_ALL HZ Bill-to site uses active status
RA_CUST_TRX_TYPES_ALL AR Transaction type validity
ZX_RATES_B ZX Tax code active status
GL_CODE_COMBINATIONS GL Distribution CCID validation
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
REV/REC distribution rounding variance — penny difference Direct Fix AR-01 calculates the exact variance, identifies the distribution line, and corrects AMOUNT on RA_CUST_TRX_LINE_GL_DIST_ALL with full backup. Pre-flight confirms transaction is not posted and no XLA event is active.
Invalid revenue account — disabled CCID on distribution Functional First Re-enable the account in GL Accounting Flexfield or correct the distribution account via Transactions > Transactions > More Actions > GL Distributions. AR-01 identifies the CCID and the navigation path.
Missing tax line on taxable transaction Functional First Tax configuration issue in Oracle E-Business Tax — tax regime, rate, or jurisdiction missing for the transaction type and ship-to site combination. AR-01 identifies the specific ZX configuration gap.
Batch amount mismatch — batch total ≠ sum of transactions Direct Fix AR-01 identifies the specific transaction(s) causing the batch imbalance and corrects the RA_BATCHES control total with full backup after the underlying transaction variance is resolved.
Duplicate transaction number in same batch source Functional First Delete or renumber the duplicate via Transactions workbench. AR-01 identifies the original transaction and the duplicate, with the batch source and import date for both.
Transaction type not active or wrong transaction class Functional First Correct via Receivables > Setup > Transactions > Transaction Types. AR-01 identifies the inactive type and the valid active alternatives for the transaction class (INV, CM, DM, DEP).
XLA event in ERROR — AR transaction accounting blocked Oracle Support XLA subledger tables are never modified directly. Error events are investigated via the Create Accounting output and submitted as a Service Request with the event ID and error detail.
FREIGHT distribution missing on transaction with freight line Direct Fix AR-01 identifies the missing freight distribution and inserts the FREIGHT account class record into RA_CUST_TRX_LINE_GL_DIST_ALL with full backup, using the default freight account from the transaction type setup.
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.

RA_CUSTOMER_TRX_ALL
RA_CUST_TRX_LINE_GL_DIST_ALL
RA_CUSTOMER_TRX_LINES_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-01 — Pre-Flight & Backup Verification
════════════════════════════════════════════════════════════
  PRE-FLIGHT SAFETY CHECK
════════════════════════════════════════════════════════════
  Transaction ID     : 1882310
  COMPLETE_FLAG      : N — not yet complete ✓
  ACCOUNTING_EVENT_ID: NULL ✓ No active event
  Session Lock Check : No locks detected ✓
  CONS_BACKUP Schema : Accessible ✓
────────────────────────────────────────────────────────────
  ALL PRE-FLIGHT CHECKS PASSED — Ready to create backup
════════════════════════════════════════════════════════════
  Creating : CONS_BACKUP.RA_CUST_TRX_LINE_GL_DIST_ALL_290184
  Rows     : 4 rows backed up ✓ Verified
  Registry : FIX_BACKUP_REGISTRY — ID 3041 created ✓
────────────────────────────────────────────────────────────
  BACKUP COMPLETE — Rollback available via single INSERT
════════════════════════════════════════════════════════════
  CONFIRMATION REQUIRED BEFORE DML EXECUTES
  Enter case number to confirm : 290184
  Confirmed. Correcting distribution variance...
════════════════════════════════════════════════════════════
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-290184-001
AR Transaction Distribution Rounding Variance — REV Account Class $0.01 Over
EBS R12.2.10 · Accounts Receivable
● RESOLVED
Symptom
AR invoice INV-2026-00892 for Meridian Technologies failing to complete. Distribution balance check failing — REV account class sum $0.01 over header amount. Batch BATCH-2026-0144 total also mismatched by same amount.
Root Cause
AutoInvoice import from the OMS upstream system applied a rounding algorithm that produced a fractional cent on Line 3 REV distribution. The RA_CUST_TRX_LINE_GL_DIST_ALL AMOUNT field carries $0.01 excess due to a division rounding issue in the OMS export. This is a known AutoInvoice behavior when the source system uses a different rounding precision than Oracle AR.
Tables
RA_CUST_TRX_LINE_GL_DIST_ALL — AMOUNT (Dist ID: 4482391, Line 3, Account Class: REV)
RA_CUSTOMER_TRX_ALL — INVOICE_CURRENCY_CODE, AMOUNT_DUE_ORIGINAL (Trx ID: 1882310)
Fix Applied
AMOUNT on RA_CUST_TRX_LINE_GL_DIST_ALL dist ID 4482391 corrected from $28,400.01 to $28,400.00 with full backup. Transaction completed successfully. Batch BATCH-2026-0144 total auto-reconciled.
Prevention
OMS export script updated to use Oracle AR rounding logic (ROUND(amount, 2)) before populating RA_INTERFACE_LINES_ALL. AR-01 distribution balance check should be run as part of AutoInvoice batch post-processing validation.
Tags
ARTransaction ValidationDistribution BalanceAutoInvoiceRA_CUST_TRX_LINE_GL_DIST_ALLRoundingEBS R12.2

Oracle Documentation References

R12 Guide (PDF)Title & ChapterDetail
120arig.pdfOracle Receivables Implementation Guide — Ch. 2: Defining Receivables System Optionspp. 2-24 to 2-38: System options for transactions, accounting, and tax configuration
120arig.pdfOracle Receivables Implementation Guide — Ch. 1: Setup Checklistpp. 1-3 to 1-7: Transaction and accounting setup prerequisites for validation errors
120ceug.pdfOracle Cash Management User Guide — Ch. 2: Setting Up AR for CE Integrationpp. 2-14 to 2-15: Receivables setup for bank account reconciliation and accounting

Ready to Resolve This in Your Environment?

AR-01 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 →