Operations

Multi-Entity Accounting in ERPNext: Consolidation, Eliminations, and What's Manual

Several nested navy and teal trays stacked in a tree formation on a warm off-white surface

At a glance

If you run two or more legal entities on QuickBooks, month-end is a day of hunting intercompany mismatches and a consolidation spreadsheet only one person understands. The honest center of this guide, up front: ERPNext consolidates — it aggregates balances across companies cleanly — but intercompany elimination entries are manual journal entries you book at close. That is not a flaw to hide; it is a workflow to design. Here is the whole picture: the multi-company architecture, how intercompany transactions link, exactly what is automated and what is manual at month-end, and proof the model scales to 70 entities in one instance.

The multi-entity problem at $2-20M

The pattern is almost universal. Entity one ran fine on QuickBooks. Then came the second entity — a new state, a holding company, an acquisition, a product line that needed its own LLC — and QuickBooks' answer was a second file. Now every intercompany transaction is booked twice by hand, in two files that don't know about each other; due-to/due-from accounts drift apart the moment anyone's busy; and consolidation means exporting trial balances into a spreadsheet whose formulas one person understands. Each new entity adds another file, another subscription, and another geometric increase in reconciliation pairs. By entity three or four, the controller is spending days per close being human middleware.

What a multi-entity group this size actually needs is boring and specific: every entity's books in one system, intercompany transactions that post to both sides in a linked way, and consolidated statements that don't live in a spreadsheet. That is the architecture ERPNext provides — with one step that stays manual, which we'll get to plainly. For the solution-page version, see multi-entity; if you are the CFO reading this at 10pm after close, the CFO solution page is written for you.

Can ERPNext handle multiple companies?

Yes. One ERPNext instance supports unlimited companies in a parent-subsidiary tree, each with its own chart of accounts, currency, fiscal settings, and separate books — with no per-company or per-user license fees. Shared masters such as items and customers can span entities, and reports can aggregate up the tree.

In ERPNext, Company is a first-class document, and companies form a tree: parent, subsidiaries, sub-subsidiaries. Every transaction in the system — invoice, journal entry, stock movement — belongs to exactly one company and posts to that company's general ledger only. Each company gets its own chart of accounts (template-based or built from scratch), its own cost centers, its own fiscal-year configuration. There is no commingling to untangle: entity-level books are genuinely separate, which is what your auditors and your co-investors in any one entity actually care about.

What is shared is what should be shared: one instance, one login per user across entities (permission-controlled per company), and masters — items, customers, suppliers, price lists — that can span the group so you are not maintaining the same part number four times. And because ERPNext is open source with no per-user or per-company fees, the architecture costs the same at two entities as at twenty — the licensing penalty that makes multi-entity painful on per-user systems doesn't exist. Full accounting-module detail is on the accounting platform page.

Multi-currency: per-company currency, consolidated presentation

Each company carries its own default currency and books in it. Transactions in foreign currencies post with exchange rates captured per document, and ERPNext handles exchange gain/loss postings on settlement. For consolidation, the Consolidated Financial Statement report presents the group in a chosen presentation currency, translating subsidiary balances.

The honest caveat for cross-border groups: translation for presentation is handled; the full US-GAAP/IFRS remeasurement apparatus — CTA tracking, hyperinflationary rules — is accounting-policy work your controller defines and implements through the system, not a button.

How intercompany transactions work in ERPNext

Setup is explicit: you mark Company B as an internal customer of Company A, and Company A as an internal supplier to Company B. That designation is what tells ERPNext these aren't arm's-length third parties — it unlocks the linked-document behavior below and gives you a clean way to isolate intercompany activity in reporting, because every intercompany balance is attached to an internal party you can filter on.

Once internal parties are set up, intercompany trade flows as linked document pairs: a sales invoice in Company A can generate the corresponding purchase invoice in Company B, and intercompany POs and SOs link the same way. Both sides reference each other. This is the difference that kills the QuickBooks two-files problem: the two sides of an intercompany transaction are created from one action and permanently linked, so whether entity B ever booked the bill for entity A's invoice stops being a reconciliation question — you can see the pair. At close, reconciling intercompany AR/AP means reviewing linked pairs and chasing the exceptions, not matching two independently keyed lists.

Does ERPNext automate consolidation eliminations?

No — and most vendors won't say this plainly. ERPNext's Consolidated Financial Statement report aggregates balances across companies, but intercompany elimination entries are manual journal entries you book at close. With templated journals and a month-end checklist, a 2-10 entity close is routine; it is not a push-button engine.

Run the report against a parent company and it aggregates — line by line, across every company in the tree — a consolidated balance sheet, P&L, and cash flow, in your presentation currency. For the question of what the group looks like as one business, gross, it is immediate and accurate. What it is doing is addition. If Company A sold Company B $100,000 of product, the consolidated report contains $100,000 of revenue in A and $100,000 of purchases in B — both still there, overstating gross activity until eliminated.

ERPNext has no automated elimination engine. No setting detects intercompany revenue and reverses it in consolidation; no module computes unrealized profit in ending inventory; nothing handles minority interests or ownership percentages. The eliminations your consolidated statements need — intercompany sales/COGS, intercompany AR/AP, intercompany loans and interest, unrealized profit in inventory, investment-in-subsidiary against equity — are journal entries your team books as a defined step in the close. Treat it as a close-calendar line item with an owner, not a software feature you were promised.

One related honesty note, since we are in audit territory: ERPNext's audit trail is tamper-evident, not immutable — submitted documents change only through cancel-and-amend, which preserves the original and links the amendment. Auditors work with that control set routinely; just don't let anyone sell it to you as immutable.

How to make manual eliminations fast

In practice, a well-set-up manual elimination process is minutes-to-hours per close, not days. The setup that gets you there:

  • Dedicated elimination structure. Either a dedicated elimination company in the tree whose only contents are elimination journals, or clearly segregated elimination accounts — so eliminations are visible, auditable, and reversible as a set rather than buried in operating books.
  • Templated journal entries. Your elimination entries are structurally identical every month; only amounts change. ERPNext journal entry templates, or duplicated prior-month journals, reduce each one to updating amounts from the intercompany reconciliation and posting.
  • Intercompany accounts discipline. Every intercompany transaction posts to designated intercompany accounts with internal parties attached — making the balances to eliminate a filtered report, not a search.
  • A month-end checklist with eliminations as named steps with an owner. Which brings us to the actual close sequence.

What does a multi-entity month-end close look like in ERPNext?

Close each company's books, reconcile intercompany balances (linked intercompany invoices make the pairs traceable), book elimination journals from your template, then run the Consolidated Financial Statement in your presentation currency. For a handful of entities this is hours, not days — far faster than merging QuickBooks exports. Step by step:

  • Close each entity. Bank reconciliation, AR/AP review, accruals, depreciation, and period-end postings — per company, in one system, by one team. Honest note for US readers: ERPNext bank rec runs on statement imports (OFX/CSV) by default; live feeds via Plaid are scoped integration work per client, not a toggle.
  • Reconcile intercompany balances. Pull intercompany AR/AP by internal party; verify linked invoice pairs agree; chase exceptions. Because the pairs are linked documents, exceptions are rare and findable.
  • Book elimination journals from templates, updating amounts from the reconciliation. Post to your elimination company or accounts.
  • Run the Consolidated Financial Statement in the presentation currency and review: intercompany lines should net to zero; gross revenue should drop by exactly your eliminated intercompany sales.
  • Lock the period per company so closed months stay closed.

Proof at scale: 70 companies in one instance

The reasonable skepticism: fine for three entities, but does it hold at scale? Our client Mr Goli Soda, an Indian beverage franchise brand, runs 70 franchises and 45 factories in one ERPNext instance — each franchise a separate Company with its own books and P&L, because each franchise is franchisee-invested and needs statements its owner can stand behind. The group's Minimum Guarantee commercial model — the defined franchisor-franchisee commitment structure — is encoded in the system, so intercompany commercial logic lives where the transactions post. Templated entity setup cut new-franchise onboarding from 60 days to 35; the move off Odoo cut ERP costs roughly 80%, largely because 70 entities' worth of users carried no per-user fees.

"VGTS made Frappe ERP easy to adopt, giving us better control over inventory, production, and operations." — Chandru, MD, Mr Goli Soda

Framed honestly for US readers: this is an India operation, so take it as proof of the architecture — 70 separate Companies, one instance, templated entity onboarding, intercompany logic at scale — not as a US-GAAP consolidation case study. Your 3-entity holding structure is not going to strain a model proven at 70.

CFOs: bring your entity structure to a free expert audit — we'll map it to ERPNext companies and walk you through your actual close workflow, eliminations included, before you commit to anything.

When ERPNext multi-entity is enough — and when you need a consolidation tool

When you have many entities with complex ownership percentages, minority interests, frequent FX remeasurement, or statutory consolidation audits, a dedicated consolidation layer on top of ERPNext earns its cost. Below that — typical 2-15 entity US groups — templated manual eliminations in ERPNext are proportionate and auditable.

The decision factor isn't entity count alone; it is elimination complexity. Wholly-owned entities trading with each other at known prices: templated journals handle it indefinitely. Partial ownership percentages, minority interest calculations, step acquisitions, complex FX remeasurement: those are computation engines, and pretending manual journals scale to them would violate the premise of this article. The relevant comparison is cost-proportionality — consolidation suites and ERP tiers that include elimination engines, such as NetSuite's multi-entity tiers, Sage Intacct, or dedicated tools like Fathom or LucaNet, typically add meaningful five-figure annual costs (estimated — most don't publish pricing). Below genuine complexity, you would be paying an engine's price to avoid a two-hour templated close step.

The full list of everything else ERPNext doesn't do — APS, PLM, predictive maintenance — is published at ERPNext's honest limits, in the same spirit as this page.

Get the free expert audit — entity tree in, honest close-workflow map out, including a straight answer if your structure needs more than ERPNext.