Subledger Journal Entry Definition

Subledger Journal Entry Definition Overview

The goal of Subledger Accounting is to generate journal entries for transactions that occur in subledgers. For users integrating subledger accounting into their applications, it is critical to have a clear and common definition of a subledger journal entry. A common definition ensures the validity of all journal entries generated by Subledger Accounting.

This chapter provides detailed information on the elements that make up a subledger journal entry and the validations enforced by Subledger Accounting. Where applicable, information is also provided on the default values stored in subledger accounting tables.

High Level Definition of a Subledger Journal Entry

A valid subledger journal entry must satisfy all the rules and validations listed below. If any of these rules and validations are not applied successfully, the journal entry has an invalid status.

Subledger Journal Entry Header Validation

Header information for subledger journal entries is stored in the XLA_AE_HEADERS table.

For information on the XLA_AE_HEADERS table, see the Oracle Subledger Accounting eTRM.

This section provides detailed information on the validation rules for all subledger journal entry header attributes. Where applicable, the rules also describe whether a journal entry header is created if the validation fails and what values are stored in case of errors.

1. Header Identifier (AE_HEADER_ID)

The header identifier uniquely identifies the subledger journal entry header. A unique header identifier is generated using the sequence XLA_AE_HEADERS_S.

2. Application (APPLICATION_ID)

A subledger journal entry belongs to one and only one subledger application. The application identifier is the standard identifier for each Oracle e-Business Suite application or custom application.

3. Ledger (LEDGER_ID)

A subledger journal entry belongs to one and only one ledger. The ledger identifier is the standard identifier assigned to the ledger by the Accounting Setup Manager (ASM).

4. Transaction Entity Identifier (ENTITY_ID)

The transaction entity identifier identifies the source transaction associated with a subledger journal entry. It is always populated.

The following rule applies:

5. Event Identifier and Event Type Code (EVENT_ID, EVENT_TYPE_CODE)

A subledger journal entry is attached to one and only one accounting event. However, an accounting event can be used to generate multiple subledger journal entries when using multiple accounting representations.

The event identifier (EVENT_ID) is the standard identifier for each event in Subledger Accounting. The event type code (EVENT_TYPE_CODE) is also stored in the journal entry header.

The following rules apply:

6. GL Date (ACCOUNTING_DATE)

The GL date determines the accounting period (PERIOD_NAME) of the subledger journal entry and when the entry appears in fiscal reports and queries.

The following rules apply:

7. Reference Date (REFERENCE_DATE)

The reference date can be used as a basis for the reporting sequence. It is an optional attribute. When a subledger journal entry is created and completed, the reference date must belong to an open or future open period in General Ledger.

The following rules apply:

8. Balance Type Code (BALANCE_TYPE_CODE)

The balance type of a subledger journal entry has one of the following values:

The following rules apply:

9. Journal Entry Category Name (JE_CATEGORY_NAME)

This is the name of the General Ledger journal category.

The following rules apply:

10. GL Transfer Status Code (GL_TRANSFER_STATUS_CODE)

The GL transfer status code of the subledger journal entry has one of the following values:

When a subledger journal entry is created and completed, the value of this column is Not transferred. The Transfer to GL process updates this column when the subledger journal entry is transferred to General Ledger.

11. Subledger Journal Entry Status Code (ACCOUNTING_ENTRY_STATUS_CODE)

A subledger journal entry can have a status of Draft, Final, Incomplete, Invalid or Invalid Related Entry.

Draft: The entry status is set to Draft when the following conditions are met:

Final: The entry status is set to Final when the following conditions are met:

Incomplete: The entry status is set to Incomplete when the following condition is met:

Invalid: The entry status is set to Invalid when the following condition is met:

Invalid Related Entry: The entry status is set to Invalid Related Entry when the following condition is met:

12. Subledger Journal Entry Type Code (ACCOUNTING_ENTRY_TYPE_CODE)

The type of a subledger journal entry is one of the following:

13. Application Accounting Definition Type Code, Application Accounting Definition Code, Application Accounting Definition Version (PRODUCT_RULE_TYPE_CODE, PRODUCT_RULE_CODE, PRODUCT_RULE_VERSION)

The application accounting definition type code, code and version store information about the application accounting definition used by the Accounting Program to create the journal entry.

The following rule applies to these identifiers:

14. Description (DESCRIPTION)

This is the description of the subledger journal entry header. For standard, upgrade, and third party merge journal entries, the description is always in the language of the ledger.

The following rule applies to a subledger journal entry description:

15. Document Category (DOC_CATEGORY_CODE)

This is the identifier of the document sequence category used to derive the document sequence of the subledger transaction.

16. Document Sequence Identifier (DOC_SEQUENCE_ID) and Value (DOC_SEQUENCE_VALUE)

These are the sequence identifiers and values that correspond to a valid document sequence at the time the journal entry is created.

17. Accounting Batch Identifier (ACCOUNTING_BATCH_ID)

This is the identifier of the batch in which the subledger journal entry has been created.

The following rule applies:

18. Accounting Sequence Version, Identifier and Value (COMPLETION_ACCT_SEQ_VERSION_ID, COMPLETION_ACCT_SEQ_ASSIGN_ID, COMPLETION_ACCT_SEQ_VALUE)

These are the sequence versions, identifiers, and values assigned to the completed subledger journal entry.

19. Period Close Sequence Version, Identifier, and Value (CLOSE_ACCT_SEQ_VERSION_ID, CLOSE_ACCT_SEQ_ASSIGN_ID, CLOSE_ACCT_SEQ_VALUE)

These are the sequence versions, identifiers, and values assigned to the subledger journal entry at period close.

20. Budget Version Identifier (BUDGET_VERSION_ID)

This is the identifier of the budget version.

The following rules apply:

No budget subledger journal entries are created if it is created with a status or Error.

21. Encumbrance Type Identifier (ENCUMBRANCE_TYPE_ID)

This is the identifier for the encumbrance type.

The following rules apply:

No encumbrance subledger journal entries are created if any of the above validations fail.

22. Funds Status Code (FUNDS_STATUS_CODE)

The funds status code of the subledger journal entry is one of the following:

This is an optional column. The following rule applies to the funds status code:

23. Budgetary Control Packet Identifier (PACKET_ID)

This is the identifier of the budgetary control packet in the GL_BC_PACKETS table. It is used to implement budgetary control.

The following rule applies:

24. Group Identifier (GROUP_ID)

The group identifier is used by the journal import to identify journal import batches.

25. Completion Date (COMPLETED_DATE)

The completion date is the date a valid journal entry is accounted for in final mode.

The completion date has a time component. It is subject to considerations related to timezone differences.

Subledger Journal Entry Line Validation

Line information for subledger journal entries is stored in the XLA_AE_LINES table.

For information on the XLA_AE_LINES table, see the Oracle Subledger Accounting eTRM.

This section provides detailed information on the validation rules for all subledger journal entry line attributes.

1. Header Identifier (AE_HEADER_ID)

This is the identifier of the subledger journal entry header. All lines of a given subledger journal entry share the same header identifier.

2. Line Number (AE_LINE_NUM)

This is a sequential number that identifies each line within a subledger journal entry. AE_HEADER_ID and AE_LINE_NUM constitute the unique key for a subledger journal entry line. There is a one-to-many relationship between a subledger journal entry header and subledger journal entry lines.

3. Displayed Line Number (DISPLAYED _LINE_NUM)

This is a sequential number that identifies each subledger journal entry line within a subledger journal entry. It is an updateable value when creating a manual subledger journal entry.

4. Account Code Combination (CODE_COMBINATION_ID)

This is the code combination identifier that identifies the General Ledger account to which the subledger journal entry line is posted.

The following rules apply:

5. GL Transfer Mode Code (GL_TRANSFER_MODE_CODE)

This lookup code determines how subledger journal entry lines are transferred to General Ledger. The following rules apply:

6. General Ledger Link Identifiers (GL_SL_LINK_TABLE, GL_SL_LINK_ID)

These identifiers link subledger journal entry lines with GL journal entry lines.

7. Accounting Class Code (ACCOUNTING_CLASS_CODE)

This lookup code indicates the accounting class for a subledger journal line. The following rules apply:

8. Party Identifier (PARTY_ID)

This party identifier is associated with the subledger transaction that generates the journal entry. As some subledger products do not have third parties, the column is optional.

The following rules apply:

The party identifier is null if any of the above validations fail. The journal entry is marked as Invalid if party information is not provided when required.

9. Party Site Identifier (PARTY_SITE_ID)

This is the party site identifier of the subledger transaction associated with the event. As some subledger products do not have third parties, this column is optional.

The following rules:

10. Party Type Code (PARTY_TYPE_CODE)

This column identifies the type of third party associated with the subledger transaction. Currently, there are two valid values for this field as follows:

Since not all subledger products implement Oracle Trading Community Architecture at the same time, third party identifiers can be identical. It is therefore necessary to identify them based on third party type code.

11. Entered Amount (ENTERED_DR, ENTERED_CR)

The following rules apply:

12. Accounted Amount (ACCOUNTED_DR, ACCOUNTED_CR)

The following rules apply to the accounted amount:

13. Statistical Amount (STATISTICAL_AMOUNT)

This is the statistical amount of the subledger journal entry line. It is an optional column.

The following rule applies to statistical amount:

14. Currency Code (CURRENCY_CODE)

This is the entered currency. It is always populated. When the entered currency is the same as the ledger currency, this column is populated with the ledger currency.

A subledger journal entry can have lines with different entered currencies. In Payables, a payment can be made against invoices with different invoice currencies. In this case, the currency code can be different within a subledger journal entry.

The following rules apply:

15. Currency Conversion Type, Date, and Rate (CURRENCY_CONVERSION_TYPE, CURRENCY_CONVERSION_DATE, CURRENCY_CONVERSION_RATE)

This is the conversion rate types, conversion dates, and conversion rates associated with the journal entry line.

The following rules apply:

16. Reconciliation Reference (JGZZ_RECON_REF)

This is the reconciliation reference value. This column is optional and no validation is applied.

17. Control Balance (CONTROL_BALANCE_FLAG)

This flag indicates whether the subledger journal entry line contributes to the control account balance calculation. The Control Balance flag can have the following values:

18. Analytical Balance (ANALYTICAL_BALANCE_TYPE)

This flag indicates whether the subledger journal entry line contributes to the supporting reference balance calculation. The Analytical Balance flag can have the following values:

Subledger Journal Entry Balancing Rules

Note: Balancing rules apply to actual and encumbrance journal entries only. They do not apply to budget entries which can be unbalanced or even one-sided. Actual and encumbrance journal entries must satisfy all three balancing conditions.

The rules described in this section apply to any given subledger journal entry as a whole. Therefore, these conditions are not evaluated until the journal entry header and all the journal entry lines are generated.

Balanced by Ledger Currency

A subledger journal entry must be balanced in the currency of the ledger. This means that the sum of the accounted debit amounts (ACCOUNTED_DR) must equal the sum of the accounted credit amounts (ACCOUNTED_CR). Since one journal entry line cannot have both debit and credit amounts, a journal entry must have at least two journal entry lines, one with a debit amount and another with a credit amount.

The Accounting Program balances subledger journal entries by creating balancing entries to the Ledger Currency Balancing Account specified in the ledger definition if the journal entry is not balanced by ledger currency. Select the Balance by Ledger Currency option to enable the assignment of a Ledger Currency Balancing Account. If Balance by Ledger Currency is not enabled, the Accounting Program raises an exception when a journal entry is out of balance by ledger currency.

The Entered Currency Balancing Account is used by Subledger Accounting to balance foreign currency subledger journals by the entered currency and balancing segment value. If you remove the balance account information from accounting setups, Subledger Accounting cannot derive the CCID for Balance by currency rows.

Balanced by Entered Currency

A subledger journal entry must be balanced in the entered currency. If a subledger journal entry has lines with different entered currencies, the subledger journal entry must be balanced for each currency. This means that for each entered currency (CURRENCY_CODE), the sum of the entered debit amounts (ENTERED_DR) must equal the sum of the entered credit amounts (ENTERED_CR).

The Accounting Program balances subledger journal entries by creating an additional line on the entry for each currency requiring balancing if the journal entry is not balanced by entered currency. Such lines use the Entered Currency Balancing Account specified in the ledger definition.

Balanced by Balancing Segment

When a journal entry has lines whose code combination identifiers (CODE_COMBINATION_ID) belong to different balancing segments, the subledger journal entry must be balanced based on the accounted amount for each balancing segment. This means that for each balancing segment, the sum of the accounted debit amounts of the subledger journal entry lines (ACCOUNTED_DR) must equal the sum of the accounted credit amounts of the subledger journal entry lines (ACCOUNTED_CR).

The Accounting Program balances subledger journal entries unbalanced by balancing segment by creating debit and credit balancing segment lines. These lines use accounts defined for the ledger in the Intracompany Balancing Rules page in the Accounting Setup Manager (ASM). The Enable Intracompany Balancing option must be selected in the ledger definition in order to enable the application of the balancing rules. The Accounting Program does not provide an automatic balancing mechanism for manual subledger journal entries unbalanced by the balancing segment. Manual subledger journal entries must be balanced by balancing segment at the time of creation.

See: Intracompany Balancing Rules, Oracle Financials Implementation Guide

Intercompany balancing rules are not applied to encumbrance accounting entries.

Balanced Encumbrance Entries

The Accounting Program balances encumbrance balance type entries using the reserve for encumbrance account. Each encumbrance journal is balanced by balancing segment value (BSV), encumbrance type, and reserve for encumbrance (RFE) account.

Note: The reserve for encumbrance account is defined in General Ledger and is only required when budgetary control is enabled.

Note: The encumbrance type must be defined and enabled in General Ledger.

If you use normal non-encumbrance accounting for secondary ledger, then attach Non-Encumbrance Subledger Accounting method (Standard Cash or Standard Accrual) to secondary ledger with budgetary flag set to No. If you do not want any accounting for secondary ledger as in PO, then attach a Non-Encumbrance Subledger Accounting method (Standard Cash or Standard Accrual) to secondary ledger with no AAD. Payables does not provide any AAD for Standard Cash or Standard Accrual. Accounting ignores secondary ledger and accounts only for primary ledger in this case.

Validation of Monetary Amounts (ENTERED_DR, ENTERED_CR, ACCOUNTED_DR, ACCOUNTED_CR)

All subledger journal entries must have valid monetary amounts. A journal entry line has two types of monetary amounts, the entered amount and the accounted amount (also known as the ledger amount).

The accounted amount is always in the currency of the ledger, and the entered amount is always in the currency of the transaction. The transaction currency is stored in each subledger journal entry line.

Both entered and accounted amounts have a side. The side is either a debit or credit. In the Subledger Accounting data model, the side of the amount is not treated as an independent column. The side of the amount is included in the name of the column; entered_dr and entered_cr for the entered amount, and accounted_dr and accounted_cr for the accounted amount.

The following rules apply to subledger journal entry line monetary amounts:

Processing Funds Validation Results

When journal validation is completed the accounting engine processes any budgetary control failures or warnings. Failures occur at line level and depending on the mode of budgetary control, the entire journal can be marked as Failed or individual lines can be marked as Failed and the header is marked with a warning. The table below describes the validation results messages.

Validation Result Messages
Message Description
Successful Budgetary Control - PASS All journal lines pass budgetary control and this should be reflected in a message on the journal header. The journal is valid.
Failed Budgetary Control - FAIL One or more lines in the journal failed and budgetary control options indicate the whole transaction should fail. The journal is considered in error and this is reflected in a message on the header of the journal. A message is displayed for each line that fails budgetary control. The journal has errors and is therefore not valid.
Advisory Budgetary Control - ADVISORY FAIL One or more lines in the journal failed and budgetary control options indicate an advisory message should be displayed but the journal is still valid. A message for the header of the journal entry indicates an advisory failure and an advisory budgetary control message is displayed for each line that failed.
Partial Failure Budgetary Control - PARTIAL One or more lines in the journal failed and budgetary control options indicate individual lines should be processed separately and part of the transaction should pass. For the same transaction, this results in some lines passing budgetary control while others fail. The journal requires additional processing. This journal is valid. A warning message is shown on the header of the journal entry. The specific lines that failed contain a message indicating that they failed budgetary control and the amount for the line is set to zero. For encumbrance journals, the reserve for encumbrance account also needs to be adjusted to balance the journal against the failed lines reset to zero.
Budgetary Control Fatal/Unexpected Error A system error was encountered during the budgetary control validation routine. The error may be related to the database, middle tier, or other underlying infrastructure errors.
No Budgetary Control Required Budgetary control is enabled at ledger level but budgetary control options are set at the account code combination, Project, Grant, or Contract Commitment level. Budgetary control validation is automatically initiated in these cases.

Example - Valid Debits and Credits

1. Entered currency and ledger currency are the same

The following table lists the details of revenue and receivable lines of a subledger journal entry where the entered currency is the same as the ledger currency.

Account Entered Dr (USD) Entered Cr (USD) Accounted Dr (USD) Accounted Cr (USD) Unrounded Entered DR Unrounded Entered CR Unrounded Accounted DR Unrounded Accounted CR
01-Receivable 100.00 Null 100.00 Null 100.00 Null 100.00 Null
01-Revenue Null 0 Null 0 Null 0 Null 0
01-Revenue1 Null 33.33 Null 33.33 Null 33.33333 Null 33.33333
01-Rounding Null 0.01 Null 0.01 Null Null Null Null

2. Entered currency is different from the ledger currency

The following table lists the details of revenue and receivable lines of a subledger journal entry where the entered and ledger currencies are different. A conversion rate of 1.1 is assumed.

Account Entered Dr (USD) Entered Cr (USD) Accounted Dr (EUR) Accounted Cr (EUR) Unrounded Entered DR Unrounded Entered CR Unrounded Accounted DR (EUR) Unrounded Accounted CR (EUR)
01-Receivable 70.09 Null 56.77 Null 70.088 Null 56.77128 Null
01-Revenue Null 0 Null 0 Null 0 Null 0
01-Revenue2 Null 35.04 Null 28.39 Null 35.044 Null 28.38564
01-Rounding <0.01> Null 0.01 Null Null Null Null Null
01-Exchange Gain/Loss 0 Null 28.39 Null 0 Null 28.38564 Null

Example - Invalid Debits and Credits

The following are examples of incorrect journal line debits and credits. These lines should never be created in Subledger Accounting.

Entered currency and ledger currency are the same

Account Entered Dr (USD) Entered Cr (USD) Accounted Dr (USD) Accounted Cr (USD) Reason
01-Revenue 100 200 100 200 The debit and credit cannot be populated at the same time for the same amount.
01-Revenue 0 0 100 Null The entered amount is populated on both debit and credit sides.
01-Revenue Null Null Null Null The amounts cannot be null simultaneously.
01-Revenue 100 Null Null 100 The entered and accounted amounts must be on the same side (either debit or credit).
01-Revenue 100 Null Null -100 The entered and accounted amounts must be on the same side (either debit or credit).
01-Revenue 0 Null Null Null An accounted amount must be populated for every entered amount, even when the amount is zero.
01-Revenue Null Null Null 0 The entered amount must be populated.
01-Revenue 0 Null 100 Null If the entered currency is same as the ledger currency, then entered and accounted amounts cannot be different.

Entered currency is different from the ledger currency

Account Entered Dr (USD) Entered Cr (USD) Accounted Dr (EUR) Accounted Cr (EUR) Reason
01-Revenue Null Null 100 Null Both entered and accounted amounts must be populated.