# Oracle EBS GL_INTERFACE Journal Import Error Codes Reference

> Source: https://netray.co/tools/oracle-ebs-gl-interface-journal-import-error-codes
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Decode every common Journal Import Execution Report error code, see which GL_INTERFACE columns cause it and how to fix it, for EBS R12.

## Category

oracle

## Erp

Oracle E-Business Suite

## Audience

- GL functional consultant
- Oracle EBS developer
- Integration developer
- Accountant

## Tool

**Kind:** worksheet

**Mode:** reference

**Columns:**

#### Code

**Key:** code

**Type:** text

#### Category

**Key:** category

**Type:** text

#### Meaning

**Key:** meaning

**Type:** text

#### Columns to fix in GL_INTERFACE

**Key:** cols

**Type:** text

#### Fix

**Key:** fix

**Type:** text

**Rows:**

**Code:** EP01

**Category:** Period (EP)

**Meaning:** Accounting date is not in any open or future enterable period

**Cols:** ACCOUNTING_DATE (or PERIOD_NAME)

**Fix:** Open the period in Open and Close Periods, or correct the date

**Code:** EP02

**Category:** Period (EP)

**Meaning:** The ledger has no open or future enterable periods

**Cols:** LEDGER_ID

**Fix:** Open at least one period for the ledger

**Code:** EP03

**Category:** Period (EP)

**Meaning:** Date is not in a period of an open encumbrance year

**Cols:** ACCOUNTING_DATE

**Fix:** Open the encumbrance year or change the date

**Code:** EP04

**Category:** Period (EP)

**Meaning:** Date is not a business day (average balance ledgers)

**Cols:** ACCOUNTING_DATE

**Fix:** Use a business day per the transaction calendar

**Code:** EP05

**Category:** Period (EP)

**Meaning:** There are no business days in the period

**Cols:** ACCOUNTING_DATE

**Fix:** Check the transaction calendar for the ledger

**Code:** EF01

**Category:** Account (EF)

**Meaning:** Account combination is inactive for the accounting date

**Cols:** SEGMENT1 to SEGMENT30 or CODE_COMBINATION_ID

**Fix:** Re-enable the combination or its effective dates, or use another account

**Code:** EF02

**Category:** Account (EF)

**Meaning:** Detail posting is not allowed for the account

**Cols:** Segments or CODE_COMBINATION_ID

**Fix:** Use a detail account, or allow posting on the combination

**Code:** EF03

**Category:** Account (EF)

**Meaning:** Account combination is disabled

**Cols:** Segments or CODE_COMBINATION_ID

**Fix:** Enable the combination or use another account

**Code:** EF04

**Category:** Account (EF)

**Meaning:** Invalid account: cross-validation rule violation or invalid segment values

**Cols:** Segments

**Fix:** Check cross-validation rules and segment values; dynamic insertion must be on to create new combinations

**Code:** EF05

**Category:** Account (EF)

**Meaning:** No account combination exists for this CODE_COMBINATION_ID

**Cols:** CODE_COMBINATION_ID

**Fix:** Use a valid GL_CODE_COMBINATIONS id for the chart of accounts

**Code:** WU01

**Category:** Warning (W)

**Meaning:** Journal is unbalanced but accepted because suspense posting is allowed

**Cols:** ENTERED_DR, ENTERED_CR

**Fix:** Review the suspense entry; fix the source if the imbalance is not intended

**Code:** EU02

**Category:** Unbalanced (EU)

**Meaning:** Journal is unbalanced and suspense posting is not allowed

**Cols:** ENTERED_DR, ENTERED_CR, ACCOUNTED_DR, ACCOUNTED_CR

**Fix:** Balance the lines per group; do not send credits as negative debits by mistake

**Code:** EU03

**Category:** Unbalanced (EU)

**Meaning:** Encumbrance journal is unbalanced and no Reserve for Encumbrance account is defined

**Cols:** ENCUMBRANCE_TYPE_ID, amounts

**Fix:** Define the reserve for encumbrance account or balance the journal

**Code:** EC01

**Category:** Currency (EC)

**Meaning:** A conversion rate must be entered when the rate type is User

**Cols:** CURRENCY_CONVERSION_RATE

**Fix:** Supply the rate with USER_CURRENCY_CONVERSION_TYPE = User

**Code:** EC02

**Category:** Currency (EC)

**Meaning:** No conversion date supplied

**Cols:** CURRENCY_CONVERSION_DATE

**Fix:** Populate the conversion date

**Code:** EC03

**Category:** Currency (EC)

**Meaning:** Foreign currency line needs a conversion rate type or accounted amounts

**Cols:** USER_CURRENCY_CONVERSION_TYPE or ACCOUNTED_DR, ACCOUNTED_CR

**Fix:** Supply a rate type or the accounted amounts

**Code:** EC06

**Category:** Currency (EC)

**Meaning:** No conversion rate for this currency, rate type and date

**Cols:** CURRENCY_CODE, USER_CURRENCY_CONVERSION_TYPE, CURRENCY_CONVERSION_DATE

**Fix:** Load the daily rate in GL_DAILY_RATES or change the rate type

**Code:** EC08

**Category:** Currency (EC)

**Meaning:** Invalid currency code

**Cols:** CURRENCY_CODE

**Fix:** Use an enabled code from FND_CURRENCIES

**Code:** EC11

**Category:** Currency (EC)

**Meaning:** Invalid conversion rate type

**Cols:** USER_CURRENCY_CONVERSION_TYPE

**Fix:** Use the user name of an existing rate type (GL_DAILY_CONVERSION_TYPES)

**Code:** EC12

**Category:** Currency (EC)

**Meaning:** Entered amount must equal accounted amount on functional or STAT currency lines

**Cols:** ENTERED_DR, ENTERED_CR, ACCOUNTED_DR, ACCOUNTED_CR

**Fix:** Leave accounted amounts null or equal to entered for ledger currency lines

**Code:** EB01

**Category:** Budget (EB)

**Meaning:** A budget version is required for budget lines

**Cols:** BUDGET_VERSION_ID

**Fix:** Populate BUDGET_VERSION_ID when ACTUAL_FLAG = 'B'

**Code:** EB02

**Category:** Budget (EB)

**Meaning:** Journals cannot be created for a frozen budget

**Cols:** BUDGET_VERSION_ID

**Fix:** Unfreeze the budget or use another

**Code:** EB03

**Category:** Budget (EB)

**Meaning:** The budget year is not open

**Cols:** ACCOUNTING_DATE, PERIOD_NAME

**Fix:** Open the budget year in Define Budget

**Code:** EB06

**Category:** Budget (EB)

**Meaning:** A period name is required for budget journals

**Cols:** PERIOD_NAME

**Fix:** Populate PERIOD_NAME

**Code:** EE01

**Category:** Encumbrance (EE)

**Meaning:** An encumbrance type is required for encumbrance lines

**Cols:** ENCUMBRANCE_TYPE_ID

**Fix:** Populate it when ACTUAL_FLAG = 'E'

**Code:** EE02

**Category:** Encumbrance (EE)

**Meaning:** Invalid or disabled encumbrance type

**Cols:** ENCUMBRANCE_TYPE_ID

**Fix:** Use an enabled type from GL_ENCUMBRANCE_TYPES

**Code:** ER01

**Category:** Misc (EM/ER)

**Meaning:** A reversal period name must be provided

**Cols:** REFERENCE7 (reverse journal flag) and REFERENCE8 (reversal period)

**Fix:** Provide the reversal period or switch off reversal

**Code:** EM01

**Category:** Misc (EM/ER)

**Meaning:** Invalid journal entry category

**Cols:** USER_JE_CATEGORY_NAME

**Fix:** Use the user category name from GL_JE_CATEGORIES

**Code:** EM03

**Category:** Misc (EM/ER)

**Meaning:** Invalid ledger (set of books) id

**Cols:** LEDGER_ID (SET_OF_BOOKS_ID on older code)

**Fix:** Use a valid GL_LEDGERS.LEDGER_ID the source can access

**Code:** EM04

**Category:** Misc (EM/ER)

**Meaning:** ACTUAL_FLAG must be A (actual), B (budget) or E (encumbrance)

**Cols:** ACTUAL_FLAG

**Fix:** Correct the flag

**Code:** EM05

**Category:** Misc (EM/ER)

**Meaning:** ENCUMBRANCE_TYPE_ID must be null for actual journals

**Cols:** ENCUMBRANCE_TYPE_ID

**Fix:** Null it when ACTUAL_FLAG = 'A'

**Code:** EM06

**Category:** Misc (EM/ER)

**Meaning:** BUDGET_VERSION_ID must be null for actual journals

**Cols:** BUDGET_VERSION_ID

**Fix:** Null it when ACTUAL_FLAG = 'A'

**Code:** EM17

**Category:** Misc (EM/ER)

**Meaning:** Sequential numbering is Always Used and no sequence is assigned for the ledger and category

**Cols:** USER_JE_CATEGORY_NAME

**Fix:** Create a document sequence assignment or change Sequential Numbering

**Code:** EM18

**Category:** Misc (EM/ER)

**Meaning:** Manual document sequences cannot be used with Journal Import

**Cols:** USER_JE_CATEGORY_NAME

**Fix:** Assign an automatic sequence for the category

**Notes:** 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;

## Content

**Intro:** 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.

**Sections:**

#### How to read the Journal Import Execution Report

**Body:** 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.

**Bullets:**

- 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

**Body:** 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

**Body:** 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.

**Bullets:**

- 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

**Body:** 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.

**Cta:** 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.

**Faq:**

#### What are the GL_INTERFACE status values?

**Answer:** 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?

**Answer:** 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?

**Answer:** 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?

**Answer:** 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.

## Search terms

oracle ebs gl interface table status, oracle ebs gl_interface, gl import program in oracle ebs r12, oracle ebs - gl interface table, journal import error codes, ep01 journal import, eu02 journal import error

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
