Intercompany Transactions, Eliminations, and Notes Payable/Receivable

Financial transactions between two or more businesses within the same corporate group can require careful coordination to maintain accurately balanced records in each entity. Regardless of how careful one may be, it does not prevent distortions in consolidated financial statements. ERPNext is designed to support multi-company accounting natively, allowing transactions between related entities to be recorded, linked, and ultimately eliminated at the consolidation level.

Multi-Company Setup

ERPNext allows multiple companies to coexist within a single instance, each maintaining its own chart of accounts, financial reporting structure, and role-based user permissions. This arrangement reflects both how most corporate groups operate and how farms and family businesses commonly transact: subsidiary entities file their own tax returns and produce standalone financial statements, while the parent organization also needs consolidated reports that reflect the health and profitability as a single economic unit.

Before intercompany transactions can flow properly, each company must be configured as an internal Customer and Supplier of the other. The setup involves three key fields on the Customer and Supplier records:

  1. Is Internal Customer / Is Internal Supplier: Check this box to designate the party as an internal entity rather than an external trading partner.
  2. Represents Company: Select the company that this Customer or Supplier represents. This tells ERPNext which company's books should receive the corresponding transaction.
  3. Allowed To Transact With: Add each company that is permitted to transact with this internal party. This controls which companies can create invoices against this Customer or Supplier.

Each company can only have one Internal Customer and one Internal Supplier representing it. Both companies must also use the same currency for intercompany transactions to flow correctly.

With this configuration in place, when Company A raises a Sales Invoice to Company B, ERPNext recognizes that the Customer is an internal entity. A "Make Inter Company Invoice" button appears on the submitted Sales Invoice, which creates the corresponding Purchase Invoice in Company B's books with all relevant fields pre-populated and the two invoices linked by reference. Canceling either invoice automatically removes the link from both documents. This automation reduces manual data entry and keeps both sides of the transaction in sync.

Recording Intercompany Transactions

One of the most common intercompany transactions involve the sale of goods between related entities. Chelsea Fruit Co, for example, supplies fruit ingredients to Ambrosia Pie Company. When Chelsea Fruit Co sells 20 pounds of Cloudberry to Ambrosia Pie Company at $0.65 per pound, the selling company creates a Sales Invoice. Because Ambrosia Pie Company is configured as an internal Customer, the submitted Sales Invoice displays a button to create the corresponding Purchase Invoice in Ambrosia Pie Company's books.

Because both companies are under common ownership, the transfer of inventory, its physical delivery, and its acknowledgment of receipt are all co-temporal. There is no meaningful separation between when Chelsea Fruit Co ships the Cloudberry and when Ambrosia Pie Company receives it. This makes the intercompany transfer a natural fit for the "Update Stock" checkbox on both the Sales Invoice (combining it with the Delivery Note) and the Purchase Invoice (combining it with the Purchase Receipt). There is no need to create separate delivery and receipt documents that would otherwise represent a distinction that does not exist in practice.

To keep intercompany balances clearly separated from trade balances with external parties, configure a dedicated Intercompany Receivable account on the internal Customer record and a corresponding Intercompany Payable account on the internal Supplier record. ERPNext will use these custom receivable and payable accounts on transactions with that party, ensuring intercompany balances do not commingle with ordinary accounts receivable and accounts payable in reports.

For internal transfers where inventory moves between warehouses of the same company (rather than between separate legal entities), ERPNext requires an Unrealized Profit/Loss Account configured in the Company settings. This account handles timing differences when goods transfer at a markup within the group but have not yet been sold to an external party.

The entries that result from the Sales Invoice with Update Stock (Chelsea Fruit Co) and the Purchase Invoice with Update Stock (Ambrosia Pie Company) are:

Chelsea Fruit Co (Sales Invoice, Update Stock checked):

AccountPartyStock LedgerDebitCredit
Intercompany ReceivableAmbrosia Pie Company$13.00
Intercompany Sales Revenue$13.00
Cost of Goods Sold$13.00
Inventory on Hand-20 Cloudberry @ $0.65$13.00

Ambrosia Pie Company (Purchase Invoice, Update Stock checked):

AccountPartyStock LedgerDebitCredit
Inventory On Hand+20 Cloudberry @ $0.65$13.00
Intercompany PayableChelsea Fruit Co$13.00

For transactions that are not invoice-based, such as shared expense allocations or management fee arrangements, ERPNext provides an Intercompany Journal Entry. This document creates matching debit and credit entries in both companies' general ledgers simultaneously, ensuring both sides remain balanced and traceable to the same source document. Cash transfers between entities should use a Payment Entry of type "Internal Transfer" rather than a Journal Entry, which provides proper bank reconciliation support and maintains the payment ledger.

A common intercompany scenario that doesn't involve inventory sales is the allocation of shared operating costs—rent, utilities, insurance, or payroll—where one entity incurs the full expense but the benefit is shared across the group. These allocations are recorded through Intercompany Journal Entries rather than invoices, since there is no goods or services transaction between the parties.

Shared Rent

When Company A holds a lease on a building and Company B occupies a portion of it, Company A pays the full amount to the external landlord and then allocates the appropriate share back to Company B. If the monthly rent is $6,000 and Company B occupies 40% of the space, Company A allocates $2,400 per month.

The Intercompany Journal Entry records a reduction in Company A's Rent Expense—it no longer bears the full cost—and a corresponding expense in Company B's books:

Company A (lease holder):

AccountPartyStock LedgerDebitCredit
Intercompany Receivable — Company B$2,400.00
Rent Expense$2,400.00

Company B (occupant):

AccountPartyStock LedgerDebitCredit
Rent Expense$2,400.00
Intercompany Payable — Company A$2,400.00

This allocation should happen every period on a consistent basis. An allocation that drifts or is omitted for a month creates a misleading picture of each entity's true operating costs and complicates any later attempt to assess each company's standalone profitability.

For recurring allocations like rent, enabling Auto Repeat on the Intercompany Journal Entry is the most streamlined workflow. Auto Repeat generates a new Journal Entry at the configured interval without requiring manual intervention each period. This approach is particularly well-suited to rent because the landlord typically invoices infrequently (monthly or quarterly), but the internal allocation between entities needs to occur consistently. The original expense recognition happens when the invoice is paid; the Intercompany Journal Entry with Auto Repeat handles the recurring split without creating additional invoices or payment documents between the related parties.

Shared Labor

Labor allocation follows the same pattern but requires time-tracking discipline to allocate accurately. When an employee is on Company A's payroll but spends a portion of their time working on Company B's operations, Company A funds the full payroll cost and then recovers the allocated share from Company B.

For an employee earning $8,000 per month who spends 50% of their time on Company B's work, the monthly allocation is $4,000:

Company A (employer of record):

AccountPartyStock LedgerDebitCredit
Intercompany Receivable — Company B$4,000.00
Wages Expense$4,000.00

Company B (beneficiary):

AccountPartyStock LedgerDebitCredit
Wages Expense$4,000.00
Intercompany Payable — Company A$4,000.00

In practice, the allocation percentage should be based on documented time records rather than estimates. Without a consistent methodology, labor allocations become difficult to defend in an audit or a tax review and are frequently challenged when related-party arrangements are scrutinized. ERPNext's timesheet functionality can be used to capture the split at the source, making the allocation calculation straightforward and auditable.

An alternative here is to structure the transfer as a flat-rate "contract". This is effective and appropriate if the work done on behalf of one of the companies is consistient and is generally cleaner if it would be considered an overhead expense rather than something that should be included in Cost of Goods Sold or Cost of Sales.

Intercompany Eliminations

When a parent organization produces consolidated financial statements, intercompany transactions must be eliminated to prevent overstating the group's revenues, expenses, assets, and liabilities. The consolidation process removes the revenue and cost that occurred between related parties rather than with external customers or vendors—reporting those amounts would give the false impression that the group generated more external business activity than it actually did.

ERPNext does not automatically generate elimination entries during consolidation; this remains a manual process, typically executed through journal entries in the consolidating entity or a separate consolidation ledger. Because each intercompany transaction carries references to both the originating document and the counterparty company, the data needed to construct elimination entries is readily available in ERPNext's reports.

For the intercompany sale example above, the elimination entry in the consolidated books reverses the internal revenue and cost that appear in each subsidiary:

AccountPartyStock LedgerDebitCredit
Intercompany Sales Revenue$13.00
Cost of Goods Sold$13.00

The same principle applies to intercompany balances on the balance sheet. Chelsea Fruit Co holds an intercompany receivable from Ambrosia Pie Company and Ambrosia Pie Company holds a corresponding intercompany payable to Chelsea Fruit Co. Both must be eliminated in consolidation so the group's net position with external parties is not distorted:

AccountPartyStock LedgerDebitCredit
Intercompany Payable$13.00
Intercompany Receivable$13.00

Beyond trade transactions, related entities frequently lend money to one another through formal intercompany loans, documented as Notes Receivable in the lender's books and Notes Payable in the borrower's books. These instruments are common when a parent company funds a subsidiary's operations or when cash is pooled centrally and re-lent to operating units.

When configuring the GL accounts for intercompany notes, do not use ERPNext's "Receivable" or "Payable" account types. Those account types are designed for trade relationships with external parties—they require a party on every transaction and feed the balance directly into the accounts receivable and accounts payable aging reports. Because the counterparty on an intercompany note is always the same related company, the balance will appear as a persistent, never-aging item in those reports and distort any aging analysis.

Instead, configure the Note Receivable account as a Current Asset (or Long-Term Asset for multi-year loans) and the Note Payable account as a Current Liability (or Long-Term Liability), without the Receivable/Payable account type designation. This keeps intercompany financing clearly separated from operational trade balances in all reporting. If there is a desire to only have a net balance account between the two company and not have discrete payable and receiveable accounts, use a per-CoA dedicated equity account instead.

When Company A lends $100,000 to Company B, each company records its side of the arrangement:

Company A (lender):

AccountPartyStock LedgerDebitCredit
Note Receivable — Company B$100,000.00
Bank$100,000.00

Company B (borrower):

AccountPartyStock LedgerDebitCredit
Bank$100,000.00
Note Payable — Company A$100,000.00

If the loan carries interest, both companies accrue it each period: Company A credits Interest Income and debits Interest Receivable; Company B debits Interest Expense and credits Interest Payable. These interest entries also require elimination in the consolidated financials to avoid double-counting income and expense within the group.

At consolidation, the intercompany Note Receivable and Note Payable offset each other and must both be removed:

AccountPartyStock LedgerDebitCredit
Note Payable — Company A$100,000.00
Note Receivable — Company B$100,000.00

Tracking intercompany loans separately from trade payables and receivables is important for two reasons. First, loans typically carry formal repayment terms and may accrue interest, requiring their own reconciliation schedule. Second, auditors and tax authorities often scrutinize intercompany financing arrangements to confirm that loan terms reflect arm's-length pricing—an area where accurate documentation in ERPNext's records is particularly valuable.

Please contact us for corrections, additions, questions, or to request a topic.

© 2026 AgriTheory. All Rights Reserved.