# Intercompany and GL Reconciliation for Multi-Entity Teams

> Tie AP and AR subledgers to the GL, pair intercompany entries across entities, and handle shared vendor bills so eliminations clear before consolidation.

- Canonical page: https://procindex.com/blog/intercompany-gl-reconciliation
- Author: ProcIndex Editorial Team
- Published: 2026-02-09
- Updated: 2026-11-10
- Topics: intercompany-reconciliation, gl-reconciliation, multi-entity-accounting, sage-intacct, month-end-close

The parent company invoices the plant subsidiary for shared services on Friday the 31st. The plant's AP clerk enters the bill on Monday the 2nd. Both entries are correct for their own entity's books, and the group ledger still shows a difference at cutoff that someone has to explain before eliminations will clear.

Multi-entity close has two reconciliation problems that look alike and aren't. One is inside each entity: does the AP or AR subledger agree with the GL control account? The other is between entities: do the two sides of each intercompany transaction agree? Fix the first before you attempt the second, because an intercompany difference is much harder to explain when one side's subledger doesn't tie to its own ledger.

## Part one: reconcile each subledger to its GL control account

The AP aging shows one balance and the GL shows another. Before adjusting anything, confirm that both reports use the same entity, account scope, currency, and cutoff. Some "differences" disappear at this step: an aging run as of today compared with a GL balance as of month-end, or an aging filtered to one location compared with a control account that covers three.

Only then compare the transactions behind the balances.

| What you find | Check next |
| --- | --- |
| Invoice in AP with no accounting entry | Its posting or accounting status |
| Entry in the subledger but not in the GL | Whether the journal was transferred and posted for the period |
| Journal in the GL but not in AP | Whether a manual entry hit the control account directly |
| Both exist but disagree | Posting dates, currency, reversals, or corrections |

Pick the report that answers where the difference first appears. Oracle Fusion Cloud documents a Payables to Ledger Reconciliation Report, which helps compare posted journals with open payables balances, and a separate Unaccounted Transactions and Sweep Report, which identifies invoices or payments not accounted for in the period ([Oracle's predefined Payables reports](https://docs.oracle.com/en/cloud/saas/financials/26d/ocuar/oracle-fusion-payables-predefined-reports.html)). Other ERPs have equivalents; find yours before close, not during it.

### Illustrative example: AP aging vs. control account

At month-end, the AP aging totals $612,450 and the AP control account shows $618,950. The GL is higher by $6,500.

| Item | Effect on GL vs. aging |
| --- | --- |
| Manual accrual journal posted directly to AP control | GL higher by $7,200 |
| Invoice entered in AP but not yet transferred to the GL | GL lower by $700 |
| Net | GL higher by $6,500 |

Check: $612,450 + $7,200 − $700 = $618,950.

The manual accrual is the real finding. Accruals belong in an accrued liabilities account, not the AP control account, because the subledger can never explain them. Reclass it, transfer the unaccounted invoice, and rerun both reports with the same settings. Record each difference with its source transaction, amount, reason, owner, and next step. Avoid a balancing journal that makes the reports agree while leaving the underlying transaction unresolved. Restricting manual posting to the AP and AR control accounts stops this one from coming back.

## Part two: pair intercompany transactions before comparing totals

Pull the intercompany entries from both entities at the same cutoff. For each, record the counterparty, reference, transaction currency, amount, and posting period. Use a shared invoice or transfer reference when one exists. Comparing account totals first just tells you there's a problem; pairing transactions tells you which one.

| Difference | Check next |
| --- | --- |
| Entry appears on one side only | Whether the counterparty received it, and when it posted |
| Amounts differ in transaction currency | Quantities, prices, any credit or adjustment |
| Transaction amounts agree, translated values differ | Exchange rates and accounting dates used |
| Entries agree but remain unmatched | Counterparty mapping and transaction references |

### Illustrative example: timing and currency in one pair

The US parent (USD) bills its German subsidiary (EUR) €10,000 for shared engineering on March 31. The parent records the receivable at its rate that day, 1.10: €10,000 × 1.10 = $11,000. The subsidiary enters the bill on April 2. Its books are in EUR, so it records a €10,000 payable in April.

At March 31 you have two separate differences:

- **Timing:** the subsidiary has no March entry at all. The full €10,000 is a timing item, expected to clear when the April bill posts. Decide group policy: either the subsidiary books it into March as an intercompany accrual, or consolidation records a cutoff adjustment.
- **Translation:** once both sides exist, the transaction currency agrees (€10,000 each side). If the parent's euro receivable still sits at the 1.10 booking rate while consolidation translates the subsidiary's payable at a period-end rate of 1.08, the payable becomes €10,000 × 1.08 = $10,800, leaving $11,000 − $10,800 = $200. That is a rate question (usually a missing remeasurement on the parent's side), not a transaction error.

Keep the two explanations separate. A team that sees "$11,000 vs. $0" and books a $200 FX adjustment has solved the wrong problem.

Oracle documents that NetSuite's Intercompany Reconciliation Report can flag unlinked orders and mismatches in fulfillments, receipts, and billing, and recommends running it before month-end elimination ([Oracle's intercompany inventory reports guide](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1498276.html)). Use it to find the pair, then check the records on both sides.

### Who corrects what

Each entity approves corrections in its own ledger. The group accountant can find the difference but should not post into a subsidiary's books to make it go away. After corrections, rerun the comparison. Before consolidation, list the timing items expected to clear later and show who approved any remaining adjustment.

## Part three: shared vendor bills across entities

The maintenance invoice is addressed to the parent. Two-thirds of the work was done at a plant owned by a different entity. Three questions decide the accounting: who owes the supplier, where the plant's cost lands, and how the two companies settle.

### Illustrative example: a $9,000 bill split two ways

The parent owes the supplier $9,000. $6,000 of the work was at the plant.

| Entity | Debit | Credit |
| --- | --- | --- |
| Parent | Maintenance expense $3,000; Due from plant $6,000 | Accounts payable $9,000 |
| Plant | Maintenance expense $6,000 | Due to parent $6,000 |

Group expense is $3,000 + $6,000 = $9,000, and the $6,000 due to/from pair eliminates on consolidation. If the plant's side never gets booked, the parent carries a $6,000 receivable with no counterpart and the plant understates its maintenance cost.

### How Sage 300 and Sage Intacct handle it

Your system determines how much of this is automatic. Run the same bill through each before deciding how to configure it.

| Question | Sage 300 | Sage Intacct |
| --- | --- | --- |
| Where the bill is entered | Intercompany Transactions module has an AP invoice batch entry screen; Sage documents a case where one invoice includes items for both the originating and a destination company ([Sage 300 Intercompany Transactions](https://help.sage300.com/en-us/2024/classic/Subsystems/ZI_2024/Content/KeyConcepts/AboutIntercompanyTransactions.htm)) | Decide whether the bill is entered at the top level or within an entity; for companies with multiple base currencies, a top-level bill requires the base currency, transaction currency, and location ([Sage Intacct AP bills](https://www-p504.intacct.com/ia/docs/en_US/help_action/Accounts_Payable/Bills/about-ap-bills.htm)) |
| Vendor and bank access | Confirm in your own company setup | Multi-entity AP guidelines distinguish top-level from entity-level vendor access and describe limits on paying entity-level bills from private bank accounts ([Sage Intacct multi-entity AP guidelines](https://www-p50491.intacct.com/ia/docs/en_US/help_action/Multi-entity/Apps_and_reports_ME_guidelines/AP-ME-guidelines.htm)) |
| Approvals | Confirm in your own configuration | Separate approval paths for AP bills and Purchasing transactions ([Sage Intacct bill approvals](https://www.intacct.com/ia/docs/en_US/help_action/Accounts_Payable/Approvals/Bill_approvals/about-bill-approvals.htm)) |

Then test the outcomes, not the entry screen:

| Test | What finance verifies |
| --- | --- |
| Vendor bills the parent for work at another entity | Payable sits with the company that owes the supplier; expense reaches the right plant |
| Plant manager approves the work | They can open the bill and source documents within their entity access |
| An approver can see only one entity | The bill for the other entity stays with someone authorized to review it |
| AP receives a credit after posting | The credit reduces the intended balance and both entities still reconcile |
| One side of the workflow fails | AP can find the saved records, fix the failed step, and avoid a duplicate |

Close the sample period in a sandbox, or reconcile it as if it were month-end, and have the controller trace the bill, the plant expense, and the intercompany balances. A clean entry screen says little about the work left at close. For Sage-specific AP setup, see the [Sage AP automation guide](https://procindex.com/blog/sage-ap-automation).

## Adding an entity to an automated workflow

An AP pilot works for the first entity. The second uses a private vendor record and a different bank account. Before reusing the first entity's setup, send one bill through the new route and check who can see it, who approves it, and which account will pay it.

| Workflow | Retest before adding the entity |
| --- | --- |
| Payables | Shared supplier, entity-specific coding, a held invoice |
| Receivables | A payment covering invoices from related customer accounts |
| Bank reconciliation | A transaction in one entity that resembles an entry in another |
| Close | Entity subledger ties to its GL; reviewer can see supporting records |

Use one set of acceptance checks across entities and write down where the rules differ. If a payment or invoice lands in the wrong entity, flag it and identify whether access, mapping, or the source document caused it.

## What goes wrong

| Symptom | Likely cause |
| --- | --- |
| Subledger and GL differ by a round number | Manual journal to a control account |
| Intercompany difference changes every month but never clears | Timing items with no owner or expected clearing date |
| Transaction amounts agree, group balance doesn't | Translation rates or accounting dates differ |
| Parent carries a receivable from a plant that shows no payable | Shared bill booked on one side only |
| Eliminations leave a residual | Unpaired transactions netted at account level |

## Before you run eliminations

- [ ] Each entity's AP and AR subledgers tie to their control accounts at the same cutoff
- [ ] Every intercompany timing item has an owner and an expected clearing period
- [ ] Translation differences are listed apart from transaction differences
- [ ] Each shared vendor bill has a matching due to/due from on the other entity

These tie-outs are steps 6 and 7 of the [month-end close sequence](https://procindex.com/blog/month-end-close-automation). Cash-side reconciliation is in [bank reconciliation automation](https://procindex.com/blog/bank-reconciliation-automation).

## Sources

- https://docs.oracle.com/en/cloud/saas/financials/26d/ocuar/oracle-fusion-payables-predefined-reports.html
- https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1498276.html
- https://help.sage300.com/en-us/2024/classic/Subsystems/ZI_2024/Content/KeyConcepts/AboutIntercompanyTransactions.htm
- https://www-p504.intacct.com/ia/docs/en_US/help_action/Accounts_Payable/Bills/about-ap-bills.htm
- https://www-p50491.intacct.com/ia/docs/en_US/help_action/Multi-entity/Apps_and_reports_ME_guidelines/AP-ME-guidelines.htm
- https://www.intacct.com/ia/docs/en_US/help_action/Accounts_Payable/Approvals/Bill_approvals/about-bill-approvals.htm

---

Published by ProcIndex, which builds AI accounting agents for construction and manufacturing finance teams. ProcIndex currently connects to NetSuite, Sage Intacct, and QuickBooks. Worked examples in this guide are illustrative, not customer results.
