Have you ever had doubts about how subledger accounting entries are balanced and why sometimes they are not?
This blog post summarizes the various balancing options illustrated with examples. It applies to both Oracle subledgers and Accounting Hub implementations.

Exchange gain or loss
Accounting Hub calculates gain or loss amount by subtracting the total unrounded accounted credit amounts from the total unrounded accounted debit amounts. If it results in a positive amount, a gain line is created; otherwise, a loss line is created.
To have gain/loss posted to same GL account, define:
- A gain or loss journal line rule with Merge Matching Lines: All
- No accounting attribute assignment
- Assign it to the rule set along with an exchange gain/loss account rule

To have gain and loss posted to different GL accounts, define:
- A gain journal line rule with Merge Matching Lines: Credit
- A Loss journal line rule with Merge Matching Lines: Debit
- No accounting attribute assignment
- Assign the Gain rule to the rule set along with a gain account rule
- Assign the Loss rule to the rule set along with a loss account rule
Alternatively, you can add assignments for the Exchange Gain Account and Exchange Loss Account accounting attributes and map accounts to be used when there are no Gain or Loss journal line rules defined.
Note: Exchange gain or loss is calculated by comparing the debit and credit amounts generated for each transaction line. Therefore, for pass-through implementations where a transaction line results in either a debit or a credit, a gain line is created to offset each debit and a loss line is created to offset each credit.
The gain and loss lines can be merged to a single zero amount journal line by defining:
- A single gain or loss journal line rule with Merge Matching Lines: All.
- A header level source, such as Transaction Number, assigned to the Gain or Loss Reference accounting attribute.
Additionally, the Zero Amount Journal Lines Displayed profile option can be set to No to prevent transfer of zero lines to GL.
There are two scenarios that would normally result in an exchange gain or loss:
- Foreign currency transactions.
- Cross-currency transactions.
Example: exchange gain or loss on foreign currency transactions
Gain or loss could occur for any foreign currency transaction due to exchange rate fluctuations.
Consider a foreign currency loan paid out in the same currency. Provide Accounting Hub with conversion information, so it calculates the accounted amounts along with any exchange gain or loss resulting from rate fluctuations between loan origination and payment.
The table below lists source values for a loan payment. An amount of 100 GBP is received on January 31st (at a rate of 1.7 GBP/USD) against a loan originated on January 18th (at a rate of 1.6).

The table below lists the details of the resulting subledger journal entry in a USD ledger.

Example: exchange gain or loss on cross-currency transactions
This is a similar scenario, but the loan payment is in EUR at a rate of 1.4 EUR to USD as shown in the table below.

The table below lists the details of the resulting subledger journal entry in a USD ledger. In this case entered currency balancing lines will be added too.

Suspense balancing
Example: suspense lines added to balance a single-currency entry by accounted currency
The accounting process can also automatically create balancing lines for single currency subledger accounting entries unbalanced by both unrounded and rounded accounted amounts.
With Subledger Accounting Suspense Enabled in ledger options, differences in rounded accounted and entered amounts are added to the Default Suspense Account for each balancing segment value and entered currency.
The following table shows the lines, accounts, and debits and credits, for an accounting entry with differences between accounted amounts.

The following table shows the lines, accounts, and amounts, for the automatically balanced accounting entry.

Intercompany balancing
Journals with unrounded accounted amounts not balanced by one or more balancing segment values are automatically balanced according to intercompany setup.
Example: balancing segment values out of balance
The following table shows the lines, accounts, and debits and credits, for an accounting entry in the ledger currency that balances in total, but not by balancing segment value (BSV).

Note that:
- Entered debits equal entered credits.
- Entered and accounted amounts are not balanced by balancing segment value. Balancing segment value 101 has only debits and balancing segment value 102 has only credits.
- Intercompany enabled. To balance the journal by balancing segment value, the process creates intercompany balancing lines.
The following table shows a basic example of the lines, accounts, and amounts, for the accounting entry.

For more complex examples and an overview of Intercompany Setup, see the Implementing Enterprise Structures and General Ledger guide, available from the Oracle Help Center.
Entered currency balancing
Cross-currency subledger accounting entries unbalanced by balancing segment value and unrounded entered amounts will be automatically balanced using the Entered Currency Balancing account from ledger options, if defined.
Example: balancing a cross-currency entry by entered currency
The following table shows the lines, accounts, currencies, and debits and credits, for a cross-currency accounting entry with accounted amount differences too.

The following table shows the lines, accounts, currencies, and amounts, for the resulting accounting entry with suspense lines added by the accounting process to balance the entry in each entered currency:

Rounding
Subledger Accounting stores both unrounded and rounded amounts on accounting entries. Source transaction amounts are treated as unrounded amounts. The unrounded amounts on the journal entry lines are rounded based on the precision and minimum accountable unit defined for the currency.
If appropriate, an explicit rounding line is created to correct journal rounding differences when a journal is balanced by unrounded amounts but unbalanced by rounded amounts. This rounding line uses the Rounding Account defined in ledger options.
Only one rounding line is created per unbalanced balancing segment value and entered currency and it may debit entered amount but credit accounted amount or vice-versa with the rounding difference.
Note that rounding is done at the end, after intercompany and entered currency balancing. All balancing lines automatically added to this point are included in the rounding calculation.
Example: entered amount rounding
To illustrate journal rounding errors, the table below lists source transaction details.

Journal line rules Liability and Expense are used to create accounting for this transaction. The Merge option is set to Yes for Liability and to No for Expense.
The table below lists the resulting journal entry. Since the total of Unrounded Accounted Debit equals the total of Unrounded Accounted Credit but the total of Accounted Debit does not equal the total of Accounted Credit, a rounding line is created for the difference.
Note: Accounted amounts only are shown in the table below to illustrate the logic. Yet, entered amounts and unrounded entered amounts are also stored in Subledger Accounting.

Example: accounted amounts rounding
The following table shows the lines, accounts, and debits and credits, for a foreign currency accounting entry with a difference due to rounding.

Note that:
- GBP to USD rate is 1.5297536.
- Entered and accounted unrounded amounts are balanced.
- All lines are for the same balancing segment value.
- Accounted amount differences remain.
The following table shows the lines, accounts, and amounts for the resulting entry with a rounding line added.

No balancing
Occasionally, especially while still in implementation, none of the various balancing options above would apply, Create Accounting would complete in warning due to invalid entries created.
Example: single-currency entries unbalanced by entered currency
Single currency subledger accounting entries must be balanced in entered currency. If the unrounded entered amounts are not balanced within a balancing segment value, the resulting entry would be unbalanced by entered currency and hence invalid.

Other scenarios that may result in unbalanced entries:
- Both unrounded and rounded accounted amounts out of balance and suspense not enabled.
- Unrounded accounted amounts not balanced by legal entity, or a balancing segment value and intercompany balancing not enabled (or failed).
- Cross currency entries unbalanced by balancing segment value and unrounded entered amounts and entered currency balancing account not defined.
- Rounded entered or accounted amounts unbalanced and rounding account not defined.
- Review and correct your accounting transformation configuration and create accounting again. For example, verify journal line rules assigned to your rule set have the right entered amount accounting attributes, conditions, etc.
Alternatively, for imported accounting transactions you can correct the transaction data:
- Search for journal entries with Invalid status from the Review Journal Entries task, view the transaction, and correct the uploaded transaction data from the Review Journal Entries page. Refer to the Correct Accounting Hub Transaction Data for Invalid Entries topic for details.
- Purge invalid transactions, change the source data as needed, and import the transactions again. Refer to the Accounting Hub Maintenance topic for details.
Explicit balancing rules
To illustrate the concept, we’ll use a pass-through transaction unbalanced in entered currency.

Pass-through transactions normally represent balanced account activity and can be directly passed through Accounting Hub to create a balanced journal entry. However, in this case, the resulting subledger journal entry would be unbalanced with credits exceeding debits by 0.01.
You can add explicit balancing rules to your Subledger Accounting setup to post any differences to a suspense account.
Create two journal line rules – a debit summarizing all credits and a credit summarizing all debits. In the subledger journal entry rule set, assign the same suspense account to both journal line rules.

This way, the resulting accounting entries for each transaction will be balanced against that account.

You’d use a similar approach when you need to break up source transaction data into multiple transaction headers with fewer lines each. Check out the Healthy transaction sizing on Accounting Hub implementations blog post.
Locating the source of imbalances
For pass-through journals with multiple sets of debits and credits that should balance, you can assist accountants by highlighting exactly which line(s) have provoked the imbalance. To do this, assign a source that uniquely identifies each set of debits and credits to the suspense journal line rules. The resulting suspense journal line(s) will be “tagged” with the identifying criteria.
Consider a pass-through journal that contains multiple sets of balanced debits and credits for each location. If location is an account combination segment, populate it on the suspense journal line rule’s account rule. If location is not part of the COA, populate the suspense line’s description or supporting reference. The resulting suspense journal lines will be generated for the suspense account and location that has provoked the imbalance.
As in the explicit balancing rules example, keep the same Suspense Account segment rule for both the debit and the credit suspense lines. For remaining segments – such as Company and Cost Center – use the same segment rules as for the regular debits and credits.

Import a pass-through transaction missing a credit line (all debit lines having a matching credit line except the last one).

The resulting journal entry will have just that amount posted to suspense. Cost center 751 below is derived from the Source COA String 01-78-6455055 through a substring formula and a mapping set (same as for the respective debit line). 78990 is the suspense account constant.

Conclusion
Oracle Subledger Accounting delivers various capabilities to automatically balance subledger accounting entries for both Oracle and Accounting Hub subledgers.
Bookmark this blog post for a quick reference any time you configure and use those options to address your specific business scenarios.
