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

Revenue Recognition Diagnostic

Diagnoses revenue scheduling rules, deferred revenue balances, unrecognized lines, contingency flags, invoicing vs. accounting rule alignment, and VSOE/SSP allocation setup.

PlatformOracle EBS R12.x
Input RequiredCustomer Transaction ID or Revenue Schedule ID
Diagnostic Checks30+
Data Sources7 Oracle tables
Fix Options3 guided fixes
Backup CreatedYes — Automatic

Why This Fails — and What It Costs

Oracle EBS revenue recognition failures are among the most technically complex conditions in the AR module — not because the concepts are difficult, but because the symptom often appears in a financial statement or an audit finding rather than as an error message in Oracle. A transaction that has a revenue scheduling rule applied will defer a portion of its revenue into AR_DEFERRED_REVENUE_ALL, recognizing it over time according to the rule. If the Recognition concurrent program is not run, or if it runs but encounters an error on one transaction, the deferred revenue balance sits without being recognized — and the income statement understates revenue by the amount that should have been recognized in the period.

Revenue contingencies complicate the recognition process further. Oracle AR supports several contingency types that flag a transaction line as not yet eligible for revenue recognition — extended payment terms beyond the customer's standard terms, customer acceptance requirements, and fiscal funding clauses for government contracts. These contingencies are stored in AR_REVENUE_CONTINGENCIES_ALL and block revenue recognition until the contingency condition is met. When a contingency is set incorrectly — for example, when a standard commercial transaction is flagged with an acceptance contingency that should only apply to government contracts — the revenue is incorrectly deferred and the contingency must be cleared before Recognition can process the transaction.

Multi-element arrangement (MEA) revenue allocation adds a third dimension for organizations using VSOE or SSP-based allocation. When a transaction contains multiple revenue lines — a software license, a maintenance component, and a professional services component — the revenue must be allocated across the elements according to Oracle's SSP allocation logic before recognition can proceed. If the allocation is incomplete because one element does not have an established SSP in the OKS_BILL_CONT_LINES setup, or if the allocation was calculated but not applied to the transaction, the recognition program will error or produce incorrect amounts.

AR-06 runs a complete revenue recognition diagnostic — revenue schedule status by transaction and rule type, deferred revenue balance by period and schedule, contingency flag analysis with eligibility assessment, SSP/VSOE allocation completeness for MEA transactions, recognition program error analysis from the concurrent request output, and completeness check against expected recognition amounts for the current period.

What This Script Diagnoses

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

Revenue Scheduling Rules
Invoicing rule: IN ADVANCE vs. IN ARREARS. Accounting rule: DAILY, FIXED, VARIABLE. Revenue schedule completeness — sum of scheduled amounts equals line amount.
Deferred Revenue Balances
Deferred revenue account balance per invoice line. Recognition schedule remaining periods. Lines with deferred revenue older than the invoice's due date.
Contingency Flags
Extended payment term contingency. Collectibility contingency. Marketing obligation contingency. Credit risk. Contingency release criteria and release dates.
VSOE / SSP Allocation
Vendor-specific objective evidence allocation setup. SSP adjustment amounts per invoice line. Multi-element arrangement grouping. Residual method allocation.
Recognition Completeness
Current period recognition: amount scheduled vs. amount recognized. Invoices where recognition program has not been run. Missing recognition events.

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-06 — AR-06 Diagnostic Report
════════════════════════════════════════════════════════════
  ORACLE EBS R12 — REVENUE RECOGNITION DIAGNOSTIC
════════════════════════════════════════════════════════════
  Transaction ID     : 1881200
  Transaction Number : INV-2026-00774
  Customer           : Nexus Systems Corp (Account: 31042)
  Case Number        : AR-348210
  Report Date        : 24-FEB-2026 10:10:25
════════════════════════════════════════════════════════════

[ SECTION 1 — REVENUE SCHEDULE ]
────────────────────────────────────────────────────────────
  Scheduling Rule    : RATEABLE DAILY — 12 months from JAN-2026
  Total Revenue      : $120,000.00
  Expected FEB-2026  : $10,000.00
  Recognized FEB-2026: $0.00 ✗
  ✗ FAIL: FEB-2026 revenue not recognized — schedule stalled

[ SECTION 2 — CONTINGENCY FLAGS ]             STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
  Contingency Type   : ACCEPTANCE — customer acceptance required ✗
  Acceptance Date    : NOT SET — blocking recognition
  Contract Type      : COMMERCIAL — acceptance contingency not applicable
  ✗ FAIL: Contingency incorrectly applied — commercial contract flagged as acceptance-required
  Fix                : Clear AR_REVENUE_CONTINGENCIES_ALL contingency flag with backup

[ SECTION 3 — DEFERRED BALANCE ]
────────────────────────────────────────────────────────────
  Deferred Balance   : $110,000.00 in AR_DEFERRED_REVENUE_ALL
  Should Be Deferred : $100,000.00 (JAN recognized, FEB-DEC remaining)
  ⚠ $10,000 over-deferred due to stalled recognition

[ SECTION 4 — SSP ALLOCATION ]               STATUS: ✓ PASS
────────────────────────────────────────────────────────────
  Single element — no MEA allocation required ✓

════════════════════════════════════════════════════════════
  DIAGNOSTIC SUMMARY
════════════════════════════════════════════════════════════
  Contingency flag incorrectly applied — blocking $10,000 FEB recognition
  Fix: Clear contingency, rerun Revenue Recognition for this transaction
════════════════════════════════════════════════════════════

The Four-Layer Architecture in AR-06

1
Diagnostic Engine
Runs 30+ checks covering revenue schedule status per transaction and rule type, deferred revenue balance by period, contingency flag analysis with eligibility assessment, SSP/VSOE allocation completeness for MEA transactions, and recognition program error analysis.
2
Backup Created
Before any revenue schedule or contingency data is modified, CONS_BACKUP.AR_REVENUE_CONTINGENCIES_ALL_<case#>, RA_DEFERRED_REVENUE_ALL_<case#>, and RA_CUSTOMER_TRX_ALL_<case#> are created and row counts verified.
3
Guided Data Fix
Contingency flag corrections and revenue schedule resets are the primary direct-fix targets. AR-06 identifies incorrectly applied contingencies, removes them with full backup, and generates the Revenue Recognition resubmission parameters.
4
KB Article Generated
Complete KB article generated — transaction ID, scheduling rule, contingency type, deferred balance, fix applied, recognition program result. Upload directly to your knowledge base.

Backup & Rollback for AR-06

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

CONS_BACKUP.RA_CUSTOMER_TRX_ALL_<case#> CONS_BACKUP.AR_REVENUE_CONTINGENCIES_ALL_<case#> CONS_BACKUP.RA_DEFERRED_REVENUE_ALL_<case#> CONS_BACKUP.RA_REVENUE_ADJUSTMENTS_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-06 execution — written from actual run output. No manual documentation required.

KB-AR-348210-001 · Script: AR-06
Revenue Recognition Blocked — Acceptance Contingency Incorrectly Applied to Commercial Contract
Revenue recognition stalled on transaction INV-2026-00774 for Nexus Systems Corp. Expected $10,000 FEB-2026 recognition not processed. $110,000 deferred versus expected $100,000 — $10,000 over-deferred. RATEABLE DAILY 12-month schedule not advancing.
An ACCEPTANCE contingency flag was applied to transaction 1881200 during entry — likely due to a default contingency template incorrectly assigned to the commercial customer account. The contingency requires a customer acceptance date before recognition can proceed. Nexus Systems is a commercial customer; acceptance contingencies apply only to government contracts in this implementation.
AR_REVENUE_CONTINGENCIES_ALL — CONTINGENCY_CODE = ACCEPTANCE, EXPIRATION_DATE = NULL (Trx ID: 1881200)
RA_DEFERRED_REVENUE_ALL — AMOUNT (Deferred balance $110,000 vs expected $100,000)
ACCEPTANCE contingency removed from AR_REVENUE_CONTINGENCIES_ALL for transaction 1881200 with full backup. Revenue Recognition program resubmitted — $10,000 recognized to FEB-2026. Deferred balance corrected to $100,000.
Customer account template for commercial accounts corrected to remove ACCEPTANCE contingency default. AR-06 revenue recognition completeness check should run at period day-minus-2 to surface stalled schedules before close.
ARRevenue RecognitionRevenue ContingencyDeferred RevenueAR_REVENUE_CONTINGENCIES_ALLScheduling RulesEBS R12.2

Most Common Issues Detected by AR-06

Deferred

Unrecognized Revenue Past Due Date

Revenue scheduled for recognition in prior periods but not yet recognized. AR-06 identifies the invoice, the scheduled amount, and the recognition program resubmission path.

Contingency

Contingency Flag Blocking Recognition

Invoice has an active contingency that is blocking revenue recognition — common with extended payment terms. AR-06 identifies the contingency type and release criteria.

Setup

Accounting Rule Mismatch

Invoice uses an invoicing rule of IN ADVANCE but the accounting rule is not set to distribute revenue over time — causing all revenue to hit on the invoice date. AR-06 identifies the mismatch.

VSOE

SSP Allocation Not Complete

Multi-element arrangement with missing SSP values for one or more elements. AR-06 identifies the incomplete elements and the SSP setup navigation path.

Tables & Views Examined

Table / ViewSchemaPurpose in Diagnostic
RA_CUSTOMER_TRX_ALL AR Invoice header with revenue schedule
RA_CUSTOMER_TRX_LINES_ALL AR Line-level revenue schedule assignments
RA_REVENUE_ADJUSTMENTS_ALL AR Revenue recognition schedule detail
RA_DEFERRED_REVENUE_ALL AR Deferred revenue account balances
RA_RULES AR Revenue rule definitions
AR_REVENUE_CONTINGENCIES_ALL AR Contingency flags per invoice line
OKS_BILL_CONT_LINES OKS Multi-element arrangement lines for VSOE
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
Acceptance contingency incorrectly blocking recognition Direct Fix AR-06 identifies the contingency record, confirms it is incorrectly applied based on contract type, removes it from AR_REVENUE_CONTINGENCIES_ALL with full backup. Revenue Recognition resubmitted after removal.
Revenue schedule stalled — Recognition program not run Functional First Submit the Revenue Recognition concurrent program for the affected period. AR-06 provides the program name, parameters, and the expected recognition amounts per transaction.
Revenue schedule error after transaction amendment Functional First After a transaction amendment, the revenue schedule must be rebuilt via Receivables > Accounting > Revenue Recognition > Rebuild Revenue Schedule. AR-06 identifies which amendments triggered a rebuild requirement.
SSP allocation incomplete — MEA transaction not fully allocated Functional First Complete the SSP allocation in OKS or via Oracle Contracts before revenue recognition can run. AR-06 identifies which elements are missing SSP values in the allocation setup.
Accounting rule mismatch — wrong rule applied at transaction entry Direct Fix AR-06 identifies the currently applied accounting rule versus the correct rule for the transaction type, and updates RA_CUSTOMER_TRX_LINES_ALL.ACCOUNTING_RULE_ID with full backup and revenue schedule rebuild.
Deferred revenue over-balance — recognition short by prior period Functional First Submit Revenue Recognition with a prior period start date to pick up missed periods. AR-06 calculates the exact shortfall and the catchup recognition amount.
Fiscal funding contingency — government contract clause Functional First Fiscal funding contingencies require the contract funding to be confirmed before recognition. AR-06 identifies the contingency type and the AR setup configuration that controls its automatic expiration.
XLA error on revenue journal Oracle Support Revenue recognition XLA errors require investigation via the Create Accounting execution report and Oracle Support if the error is in the accounting engine rather than the AR data.
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
AR_REVENUE_CONTINGENCIES_ALL
RA_DEFERRED_REVENUE_ALL
RA_REVENUE_ADJUSTMENTS_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-06 — Pre-Flight & Backup Verification
════════════════════════════════════════════════════════════
  PRE-FLIGHT SAFETY CHECK
════════════════════════════════════════════════════════════
  Transaction ID     : 1881200
  COMPLETE_FLAG      : Y — complete, not posted ✓
  ACCOUNTING_EVENT_ID: NULL ✓ No active event
  CONS_BACKUP Schema : Accessible ✓
  Session Lock Check : No locks detected ✓
────────────────────────────────────────────────────────────
  ALL PRE-FLIGHT CHECKS PASSED
════════════════════════════════════════════════════════════
  Creating : CONS_BACKUP.AR_REVENUE_CONTINGENCIES_ALL_348210
  Rows     : 1 row backed up ✓
  Creating : CONS_BACKUP.RA_DEFERRED_REVENUE_ALL_348210
  Rows     : 12 rows backed up ✓
  Registry : FIX_BACKUP_REGISTRY — ID 3124 created ✓
────────────────────────────────────────────────────────────
  BACKUP COMPLETE
════════════════════════════════════════════════════════════
  Enter case number to confirm : 348210
  Confirmed. Removing contingency flag...
════════════════════════════════════════════════════════════
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-348210-001
Revenue Recognition Blocked — Acceptance Contingency Incorrectly Applied to Commercial Contract
EBS R12.2.10 · Accounts Receivable
● RESOLVED
Symptom
Revenue recognition stalled on transaction INV-2026-00774 for Nexus Systems Corp. Expected $10,000 FEB-2026 recognition not processed. $110,000 deferred versus expected $100,000 — $10,000 over-deferred. RATEABLE DAILY 12-month schedule not advancing.
Root Cause
An ACCEPTANCE contingency flag was applied to transaction 1881200 during entry — likely due to a default contingency template incorrectly assigned to the commercial customer account. The contingency requires a customer acceptance date before recognition can proceed. Nexus Systems is a commercial customer; acceptance contingencies apply only to government contracts in this implementation.
Tables
AR_REVENUE_CONTINGENCIES_ALL — CONTINGENCY_CODE = ACCEPTANCE, EXPIRATION_DATE = NULL (Trx ID: 1881200)
RA_DEFERRED_REVENUE_ALL — AMOUNT (Deferred balance $110,000 vs expected $100,000)
Fix Applied
ACCEPTANCE contingency removed from AR_REVENUE_CONTINGENCIES_ALL for transaction 1881200 with full backup. Revenue Recognition program resubmitted — $10,000 recognized to FEB-2026. Deferred balance corrected to $100,000.
Prevention
Customer account template for commercial accounts corrected to remove ACCEPTANCE contingency default. AR-06 revenue recognition completeness check should run at period day-minus-2 to surface stalled schedules before close.
Tags
ARRevenue RecognitionRevenue ContingencyDeferred RevenueAR_REVENUE_CONTINGENCIES_ALLScheduling RulesEBS R12.2

Oracle Documentation References

R12 Guide (PDF)Title & ChapterDetail
120arig.pdfOracle Receivables Implementation Guide — Ch. 2: Accounting System Optionspp. 2-24 to 2-38: Revenue recognition policy, rules, and deferred revenue accounting
120arig.pdfOracle Receivables Implementation Guide — Ch. 2: Defining Receivables System OptionsRevenue accounting setup: contingency handling and event-based recognition configuration

Ready to Resolve This in Your Environment?

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