GL-05 EBS R12.x General Ledger Tier 2 Data Fix

Revaluation Diagnostic

Revaluation run status, unrevalued foreign currency balances, gain/loss account setup, prior period revaluation errors, reversal completeness, and exchange rate availability.

PlatformOracle EBS R12.x
Input RequiredLedger Name and Period
Diagnostic Checks25+
Data Sources6 Oracle tables
Fix Options3 guided fixes
Backup CreatedYes — Automatic

Why This Fails — and What It Costs

Foreign currency revaluation in Oracle EBS GL is a month-end process that adjusts the functional currency balance of monetary accounts denominated in foreign currencies to reflect the current exchange rate. When revaluation is not run, or runs incorrectly, the balance sheet overstates or understates assets and liabilities by the difference between the historical exchange rate and the current rate — a financial reporting error that auditors will identify during year-end review if not caught at month-end.

The most common revaluation failure is a missing or incorrect exchange rate in GL_DAILY_RATES for the revaluation date. When the Revalue Balances concurrent program runs and cannot find a rate for the currency and rate type combination on the period end date, it skips the revaluation for that currency without generating an error that is immediately visible to the accounting team. The revaluation report shows the currency with a zero unrealized gain/loss — which looks correct until the team realizes no adjustment was actually made because the rate was missing, not because the balance was zero.

Revaluation reversal configuration is the second source of issues. Oracle GL supports automatic reversal of revaluation journal entries in the following period — the unrealized gain or loss from FEB-2026 revaluation is automatically reversed in MAR-2026 when the next revaluation runs, producing a clean net position. When this reversal configuration is incorrect — for example, when the reversal period is set to the current period rather than the next period, or when the reversal has been disabled — revaluation entries accumulate without reversing, and the unrealized gain/loss balance grows period over period rather than reflecting only the current period's rate movement.

GL-05 runs a complete revaluation diagnostic — revaluation set configuration analysis per ledger, exchange rate existence in GL_DAILY_RATES for the revaluation date and rate type, foreign currency account balance identification by revaluation set, revaluation journal existence and amount for the current period, reversal configuration status, and comparison of current-period revaluation against the expected amount calculated from the period-end rates.

What This Script Diagnoses

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

Revaluation Set Config
Revaluation set accounts per ledger, rate type, and reversal period configuration. Completeness check — all FX monetary accounts included in at least one revaluation set.
Exchange Rate Existence
GL_DAILY_RATES validation for each currency and rate type in the revaluation set on the period-end date. Missing rate identification with expected rate source.
FX Account Balances
Foreign currency account balances by revaluation set. Current period balances compared to prior period to identify new accounts requiring revaluation.
Revaluation Journal Status
Existence, amount, and posting status of revaluation journals for the current period. Currency-level revaluation completeness — identifies which currencies were processed and which were skipped.
Reversal Configuration
Reversal period settings per revaluation set. Prior period revaluation reversal confirmation — ensures no prior-period revaluation entries remain unreversed in the current period.

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.

GL-05 — GL-05 Diagnostic Report
════════════════════════════════════════════════════════════
  ORACLE EBS R12 — FOREIGN CURRENCY REVALUATION DIAGNOSTIC
════════════════════════════════════════════════════════════
  Ledger             : US Primary Ledger
  Period             : FEB-2026
  Revaluation Set    : US-MONETARY-REVAL
  Case Number        : GL-525840
  Report Date        : 25-FEB-2026 14:20:11
════════════════════════════════════════════════════════════

[ SECTION 1 — REVALUATION SET CONFIG ]        STATUS: ✓ PASS
────────────────────────────────────────────────────────────
  Accounts in Set    : 4 foreign currency monetary accounts
  Rate Type          : Corporate
  Reversal Period    : Next Period (MAR-2026) ✓

[ SECTION 2 — EXCHANGE RATES ]                STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
  EUR Corporate Rate : 28-FEB-2026 — 1.0842 ✓
  GBP Corporate Rate : 28-FEB-2026 — 1.2641 ✓
  CAD Corporate Rate : 28-FEB-2026 — MISSING ✗
  MXN Corporate Rate : 28-FEB-2026 — 0.0512 ✓
  ✗ FAIL: CAD Corporate rate missing for 28-FEB-2026
  CAD Balance        : CAD 842,100 (functional USD equiv: ~$610,000)

[ SECTION 3 — REVALUATION JOURNALS ]          STATUS: ⚠ WARNING
────────────────────────────────────────────────────────────
  ⚠ EUR, GBP, MXN revalued — CAD skipped due to missing rate
  EUR Unrealized G/L : $12,840 gain
  GBP Unrealized G/L : -$4,210 loss
  CAD Unrealized G/L : NOT CALCULATED ✗

════════════════════════════════════════════════════════════
  DIAGNOSTIC SUMMARY
════════════════════════════════════════════════════════════
  CAD revaluation incomplete — rate missing in GL_DAILY_RATES
  FIX: Load CAD Corporate rate for 28-FEB-2026, rerun revaluation
════════════════════════════════════════════════════════════

The Four-Layer Architecture in GL-05

1
Diagnostic Engine
Runs 25+ checks covering revaluation set configuration per ledger, exchange rate existence in GL_DAILY_RATES for the period-end date and rate type, foreign currency account balance identification, revaluation journal existence and amount, reversal configuration status, and expected vs actual revaluation comparison.
2
Backup Created
Before any revaluation journal or rate data is modified, CONS_BACKUP.GL_DAILY_RATES_<case#> and GL_JE_HEADERS_<case#> are created and row counts verified.
3
Guided Data Fix
Exchange rate loading and revaluation resubmission are the primary resolution actions. GL-05 generates the INSERT for the missing rate in GL_DAILY_RATES with full backup, then provides the Revalue Balances resubmission parameters.
4
KB Article Generated
Complete KB article generated — currencies revalued, missing rates, revaluation amounts, reversal configuration, close impact. Upload directly to your knowledge base.

Backup & Rollback for GL-05

Every table touched by GL-05 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 — GL-05

CONS_BACKUP.GL_JE_HEADERS_<case#> CONS_BACKUP.GL_JE_LINES_<case#> CONS_BACKUP.GL_DAILY_RATES_<case#> CONS_BACKUP.GL_BALANCES_<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 GL-05 execution — written from actual run output. No manual documentation required.

KB-GL-525840-001 · Script: GL-05
Revaluation Incomplete — CAD Corporate Exchange Rate Missing for Period-End Date
FEB-2026 revaluation run completed for EUR, GBP, and MXN but skipped CAD. CAD Corporate rate missing in GL_DAILY_RATES for 28-FEB-2026. CAD monetary balance of CAD 842,100 (approx $610,000 USD equivalent) not revalued. Financial statements understate FX adjustment.
Corporate rate for CAD was not loaded for 28-FEB-2026. Rate feed from the Treasury system failed on 27-FEB-2026 — the feed provider had a connectivity issue. EUR, GBP, and MXN rates from the prior day's feed were available; CAD was not.
GL_DAILY_RATES — FROM_CURRENCY = CAD, RATE_TYPE = Corporate, CONVERSION_DATE = 28-FEB-2026 (missing record)
GL_JE_HEADERS — JE_CATEGORY = Revaluation (FEB-2026 — CAD not present)
CAD Corporate rate 1.3618 loaded manually for 28-FEB-2026 with backup. Revalue Balances resubmitted for US-MONETARY-REVAL set. CAD unrealized loss of $8,420 recognized. Reversal entry generated for MAR-2026.
Rate feed monitoring alert added for CAD, EUR, GBP, MXN — notify Treasury immediately if rates are not loaded by 17:00 on period-end date. GL-05 should run after revaluation to confirm all currency accounts have been processed.
GLRevaluationForeign CurrencyGL_DAILY_RATESExchange RatesUnrealized Gain/LossEBS R12.2

What This Script Finds

Missing Rate

Exchange Rate Not Loaded for Period End

Treasury system rate feed failure or manual omission leaves one or more currencies without a period-end rate. Revaluation silently skips the currency. GL-05 identifies the missing rate and the correct value to load.

Not Run

Revaluation Not Submitted

Revalue Balances program was not submitted for the period. FX balance sheet accounts carry the prior-month rate, overstating or understating asset and liability balances by the period rate movement.

Reversal

Prior Period Entry Not Reversed

Revaluation reversal configuration incorrect — prior period unrealized gain/loss not reversed at the start of the current period. Cumulative revaluation balance growing rather than reflecting only current-period movement.

Coverage

FX Account Not in Revaluation Set

A monetary account denominated in foreign currency is not included in any revaluation set. New accounts opened during the period are frequently missed. GL-05 identifies unrevaled FX balances.

Tables Examined

TableModulePurpose
GL_DAILY_RATESGLExchange rates by currency, rate type, and date
GL_JE_HEADERSGLRevaluation journal batch headers
GL_JE_LINESGLRevaluation journal lines — gain/loss amounts
GL_BALANCESGLPeriod-end account balances in functional currency
GL_REVALUATIONSGLRevaluation set definitions
GL_LEDGERSGLLedger configuration — currency, calendar, COA
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
Exchange rate missing for period-end date and rate type Direct Fix GL-05 generates the INSERT for the missing rate in GL_DAILY_RATES with full backup. Rate value confirmed with Treasury before insertion. Revalue Balances resubmitted after rate is loaded.
Revaluation not run for the period Functional First Submit the Revalue Balances concurrent program for the revaluation set, period, and ledger. GL-05 provides the exact parameters and identifies the accounts in the revaluation set with their current foreign currency balances.
Wrong rate type used for revaluation Functional First Update the revaluation set to use the correct rate type via GL > Setup > Revaluation Sets. GL-05 identifies the current rate type and the available rates for the correct type on the period-end date.
Reversal period incorrect — entries not reversing Functional First Correct the reversal configuration in the revaluation set via GL > Setup > Revaluation Sets. GL-05 identifies the current reversal setting and the expected next-period reversal behavior.
Revaluation journal not posted Functional First Post the revaluation journal batch via GL > Journals > Post. GL-05 identifies the unposted revaluation batch and the total unrealized gain/loss amount pending posting.
Account not in revaluation set — FX account missed Functional First Add the account to the revaluation set via GL > Setup > Revaluation Sets. GL-05 identifies foreign currency account balances that are not included in any revaluation set.
Prior period revaluation not reversed Direct Fix GL-05 identifies the prior period revaluation journal that should have reversed but did not, calculates the reversal amount, and generates the reversing entry with full backup and Controller authorization.
Cumulative translation adjustment — translation not run Functional First Submit the Translate Balances concurrent program for the consolidation ledger. GL-05 identifies translation sets that have not been run for the current period and the accounts requiring translation.
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.

GL_JE_HEADERS
GL_JE_LINES
GL_DAILY_RATES
GL_BALANCES
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.
GL-05 — Pre-Flight & Backup Verification
════════════════════════════════════════════════════════════
  PRE-FLIGHT SAFETY CHECK
════════════════════════════════════════════════════════════
  Ledger             : US Primary Ledger
  Revaluation Set    : US-MONETARY-REVAL
  CONS_BACKUP Schema : Accessible ✓
  Session Lock Check : No locks on GL_DAILY_RATES ✓
────────────────────────────────────────────────────────────
  ALL PRE-FLIGHT CHECKS PASSED
════════════════════════════════════════════════════════════
  Creating : CONS_BACKUP.GL_DAILY_RATES_525840
  Rows     : 1 new rate row backed up ✓
  Registry : FIX_BACKUP_REGISTRY — ID 4137 created ✓
────────────────────────────────────────────────────────────
  BACKUP COMPLETE
════════════════════════════════════════════════════════════
  Enter case number to confirm rate insert : 525840
  Confirmed. Loading CAD rate 1.3618...
════════════════════════════════════════════════════════════
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-GL-525840-001
Revaluation Incomplete — CAD Corporate Exchange Rate Missing for Period-End Date
EBS R12.2.10 · General Ledger
● RESOLVED
Symptom
FEB-2026 revaluation run completed for EUR, GBP, and MXN but skipped CAD. CAD Corporate rate missing in GL_DAILY_RATES for 28-FEB-2026. CAD monetary balance of CAD 842,100 (approx $610,000 USD equivalent) not revalued. Financial statements understate FX adjustment.
Root Cause
Corporate rate for CAD was not loaded for 28-FEB-2026. Rate feed from the Treasury system failed on 27-FEB-2026 — the feed provider had a connectivity issue. EUR, GBP, and MXN rates from the prior day's feed were available; CAD was not.
Tables
GL_DAILY_RATES — FROM_CURRENCY = CAD, RATE_TYPE = Corporate, CONVERSION_DATE = 28-FEB-2026 (missing record)
GL_JE_HEADERS — JE_CATEGORY = Revaluation (FEB-2026 — CAD not present)
Fix Applied
CAD Corporate rate 1.3618 loaded manually for 28-FEB-2026 with backup. Revalue Balances resubmitted for US-MONETARY-REVAL set. CAD unrealized loss of $8,420 recognized. Reversal entry generated for MAR-2026.
Prevention
Rate feed monitoring alert added for CAD, EUR, GBP, MXN — notify Treasury immediately if rates are not loaded by 17:00 on period-end date. GL-05 should run after revaluation to confirm all currency accounts have been processed.
Tags
GLRevaluationForeign CurrencyGL_DAILY_RATESExchange RatesUnrealized Gain/LossEBS R12.2

Oracle Documentation References

References the Oracle public documentation for this diagnostic area. These links open directly on docs.oracle.com.

R12 Guide (PDF)Title & ChapterDetail
120glug.pdfOracle General Ledger User's Guide — RevaluationForeign currency revaluation program, unrealized gain/loss accounts, and reversal entries
120glug.pdfOracle General Ledger User's Guide — ReportingForeign currency translation reports and revaluation reconciliation
120ceug.pdfOracle Cash Management User Guide — Multi-Currency Handlingpp. 1-8 to 1-9: Multi-currency bank reconciliation impacting revaluation balances

Ready to Resolve This in Your Environment?

GL-05 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 →