OracleFree referencePDF, Excel, Word exportOracle E-Business SuiteAll Oracle E-Business Suite tools

Oracle EBS GL_INTERFACE Journal Import Error Codes Reference

This reference decodes the error codes that Journal Import writes to GL_INTERFACE.STATUS and prints on the Journal Import Execution Report in Oracle EBS R12. For each code it names the GL_INTERFACE columns to check and the usual fix.

Download:
CodeCategoryMeaningColumns to fix in GL_INTERFACEFix
EP01
Period (EP)
Accounting date is not in any open or future enterable period
ACCOUNTING_DATE (or PERIOD_NAME)
Open the period in Open and Close Periods, or correct the date
EP02
Period (EP)
The ledger has no open or future enterable periods
LEDGER_ID
Open at least one period for the ledger
EP03
Period (EP)
Date is not in a period of an open encumbrance year
ACCOUNTING_DATE
Open the encumbrance year or change the date
EP04
Period (EP)
Date is not a business day (average balance ledgers)
ACCOUNTING_DATE
Use a business day per the transaction calendar
EP05
Period (EP)
There are no business days in the period
ACCOUNTING_DATE
Check the transaction calendar for the ledger
EF01
Account (EF)
Account combination is inactive for the accounting date
SEGMENT1 to SEGMENT30 or CODE_COMBINATION_ID
Re-enable the combination or its effective dates, or use another account
EF02
Account (EF)
Detail posting is not allowed for the account
Segments or CODE_COMBINATION_ID
Use a detail account, or allow posting on the combination
EF03
Account (EF)
Account combination is disabled
Segments or CODE_COMBINATION_ID
Enable the combination or use another account
EF04
Account (EF)
Invalid account: cross-validation rule violation or invalid segment values
Segments
Check cross-validation rules and segment values; dynamic insertion must be on to create new combinations
EF05
Account (EF)
No account combination exists for this CODE_COMBINATION_ID
CODE_COMBINATION_ID
Use a valid GL_CODE_COMBINATIONS id for the chart of accounts
WU01
Warning (W)
Journal is unbalanced but accepted because suspense posting is allowed
ENTERED_DR, ENTERED_CR
Review the suspense entry; fix the source if the imbalance is not intended
EU02
Unbalanced (EU)
Journal is unbalanced and suspense posting is not allowed
ENTERED_DR, ENTERED_CR, ACCOUNTED_DR, ACCOUNTED_CR
Balance the lines per group; do not send credits as negative debits by mistake
EU03
Unbalanced (EU)
Encumbrance journal is unbalanced and no Reserve for Encumbrance account is defined
ENCUMBRANCE_TYPE_ID, amounts
Define the reserve for encumbrance account or balance the journal
EC01
Currency (EC)
A conversion rate must be entered when the rate type is User
CURRENCY_CONVERSION_RATE
Supply the rate with USER_CURRENCY_CONVERSION_TYPE = User
EC02
Currency (EC)
No conversion date supplied
CURRENCY_CONVERSION_DATE
Populate the conversion date
EC03
Currency (EC)
Foreign currency line needs a conversion rate type or accounted amounts
USER_CURRENCY_CONVERSION_TYPE or ACCOUNTED_DR, ACCOUNTED_CR
Supply a rate type or the accounted amounts
EC06
Currency (EC)
No conversion rate for this currency, rate type and date
CURRENCY_CODE, USER_CURRENCY_CONVERSION_TYPE, CURRENCY_CONVERSION_DATE
Load the daily rate in GL_DAILY_RATES or change the rate type
EC08
Currency (EC)
Invalid currency code
CURRENCY_CODE
Use an enabled code from FND_CURRENCIES
EC11
Currency (EC)
Invalid conversion rate type
USER_CURRENCY_CONVERSION_TYPE
Use the user name of an existing rate type (GL_DAILY_CONVERSION_TYPES)
EC12
Currency (EC)
Entered amount must equal accounted amount on functional or STAT currency lines
ENTERED_DR, ENTERED_CR, ACCOUNTED_DR, ACCOUNTED_CR
Leave accounted amounts null or equal to entered for ledger currency lines
EB01
Budget (EB)
A budget version is required for budget lines
BUDGET_VERSION_ID
Populate BUDGET_VERSION_ID when ACTUAL_FLAG = 'B'
EB02
Budget (EB)
Journals cannot be created for a frozen budget
BUDGET_VERSION_ID
Unfreeze the budget or use another
EB03
Budget (EB)
The budget year is not open
ACCOUNTING_DATE, PERIOD_NAME
Open the budget year in Define Budget
EB06
Budget (EB)
A period name is required for budget journals
PERIOD_NAME
Populate PERIOD_NAME
EE01
Encumbrance (EE)
An encumbrance type is required for encumbrance lines
ENCUMBRANCE_TYPE_ID
Populate it when ACTUAL_FLAG = 'E'
EE02
Encumbrance (EE)
Invalid or disabled encumbrance type
ENCUMBRANCE_TYPE_ID
Use an enabled type from GL_ENCUMBRANCE_TYPES
ER01
Misc (EM/ER)
A reversal period name must be provided
REFERENCE7 (reverse journal flag) and REFERENCE8 (reversal period)
Provide the reversal period or switch off reversal
EM01
Misc (EM/ER)
Invalid journal entry category
USER_JE_CATEGORY_NAME
Use the user category name from GL_JE_CATEGORIES
EM03
Misc (EM/ER)
Invalid ledger (set of books) id
LEDGER_ID (SET_OF_BOOKS_ID on older code)
Use a valid GL_LEDGERS.LEDGER_ID the source can access
EM04
Misc (EM/ER)
ACTUAL_FLAG must be A (actual), B (budget) or E (encumbrance)
ACTUAL_FLAG
Correct the flag
EM05
Misc (EM/ER)
ENCUMBRANCE_TYPE_ID must be null for actual journals
ENCUMBRANCE_TYPE_ID
Null it when ACTUAL_FLAG = 'A'
EM06
Misc (EM/ER)
BUDGET_VERSION_ID must be null for actual journals
BUDGET_VERSION_ID
Null it when ACTUAL_FLAG = 'A'
EM17
Misc (EM/ER)
Sequential numbering is Always Used and no sequence is assigned for the ledger and category
USER_JE_CATEGORY_NAME
Create a document sequence assignment or change Sequential Numbering
EM18
Misc (EM/ER)
Manual document sequences cannot be used with Journal Import
USER_JE_CATEGORY_NAME
Assign an automatic sequence for the category

Codes follow the error key printed on the Journal Import Execution Report. Older documentation says 'set of books' where R12 says 'ledger'. To list errors after a run: SELECT status, user_je_source_name, group_id, request_id, accounting_date, currency_code, COUNT(*) FROM gl_interface WHERE status <> 'NEW' GROUP BY status, user_je_source_name, group_id, request_id, accounting_date, currency_code;

Interface failure review

Send us a Journal Import Execution Report with errors and we will return the root cause per code and the change to make in the feed.

Optional. The tool and every export work without this. No spam.

Was this tool useful?

How to read the Journal Import Execution Report

Journal Import (program Import Journals) prints a summary per source and group, then the lines in error with their error code and an error key at the end. Rows enter the run with STATUS = 'NEW'. When a row fails, its STATUS holds the code, such as EF04 or EU02, and the whole group is rejected unless you chose to post errors to suspense when submitting. Flexfield errors (EF codes) can go to the suspense account when Post Errors to Suspense is Yes and suspense is enabled; period, currency and miscellaneous errors cannot. Find the failing rows by REQUEST_ID and GROUP_ID, fix the cause, and import the group again.

  • Run by source and group: USER_JE_SOURCE_NAME + GROUP_ID
  • Error code in STATUS, one per line
  • WU01 is a warning: the journal was created with a suspense line

Correcting and requeuing rows

You have three options. Fix the source and reload, which keeps the source system as the record. Use the Correct Journal Import Data window (Journals > Import > Correct) to edit rows in GL_INTERFACE for the request, then resubmit Journal Import for the same source and group. Or delete the rows with Journals > Import > Delete (the Delete Journal Import Data program) and reload. Editing GL_INTERFACE with SQL is possible but should be controlled: set STATUS back to 'NEW' only after fixing the cause, and never touch rows of a run still in progress. GL_INTERFACE_CONTROL tracks import runs; leave it to the program unless Oracle Support tells you otherwise.

Required columns

Most errors come from a short list of required columns. STATUS must be 'NEW'. LEDGER_ID identifies the ledger. ACCOUNTING_DATE must fall in an open or future enterable period. CURRENCY_CODE is the entered currency. ACTUAL_FLAG is A, B or E. USER_JE_CATEGORY_NAME and USER_JE_SOURCE_NAME are user names of a category and source, not internal names. ENTERED_DR or ENTERED_CR carry the amounts, both positive. The account is either SEGMENT1 to SEGMENT30 or CODE_COMBINATION_ID. DATE_CREATED and CREATED_BY are also required. GROUP_ID is optional but lets you import one batch at a time.

  • STATUS, LEDGER_ID, ACCOUNTING_DATE, CURRENCY_CODE, ACTUAL_FLAG
  • USER_JE_CATEGORY_NAME, USER_JE_SOURCE_NAME
  • ENTERED_DR / ENTERED_CR
  • Segments or CODE_COMBINATION_ID
  • DATE_CREATED, CREATED_BY

Worked example: EU02 on a payroll feed

A payroll interface loads 400 lines and every line comes back EU02. The totals look balanced in the source file. Check SUM(ENTERED_DR) and SUM(ENTERED_CR) per GROUP_ID and ACCOUNTING_DATE: Journal Import balances each journal it builds, and journals are split by date, category and currency. Here the feed sent credits as negative ENTERED_DR values, so all amounts landed on the debit side. Moving them to ENTERED_CR as positive numbers fixes it. If the feed spans two dates, each date must also balance on its own.

Frequently Asked Questions

What are the GL_INTERFACE status values?

New rows must have STATUS = 'NEW' for Journal Import to pick them up. After a run, rows in error carry the error code in STATUS, such as EP01, EF04 or EU02. Use the error key on the Journal Import Execution Report to decode them, and the REQUEST_ID column to find the rows of a given run.

What is the GL import program in Oracle EBS R12?

The program is Journal Import, submitted from Journals > Import > Run (Import Journals). You choose the source, optionally a group id, whether to post errors to suspense and whether to create summary journals. It reads GL_INTERFACE and creates unposted journal batches.

What does EP01 mean in Journal Import?

The accounting date of the line is not in an open or future enterable period for the ledger. Open the period in Open and Close Periods, or correct ACCOUNTING_DATE. Check the date has no time portion pushing it into an unexpected period when it is computed in code.

Can Journal Import errors post to suspense?

Only account (EF) errors can be posted to the suspense account, and only if you set Post Errors to Suspense to Yes and suspense is allowed in the ledger. Unbalanced journals go to suspense when suspense is allowed, giving warning WU01. Other errors reject the group.

If you want finance staff to ask why last night's GL interface failed and get the rows and fix in plain English, from a model on your own servers, we can set that up.

ArchRay builder
Design the on-prem AI stack for Oracle E-Business Suite: model, GPUs, RAG pipeline, guardrails
See memory, speed and cost as you swap parts, then export the diagram. Free, in your browser.
Open the builder

Keep exploring

Free tools

ERP fixes and how-tos

Runs with your ERP

AI on your ERP

Integrations

Software