Odoo Multi Company Setup: Intercompany Rules and Consolidation
Odoo multi company setup for Odoo 19 and 20: companies vs branches, intercompany rules, Odoo 20 clearing, consolidation tools and limits, and plan costs.
Most groups create companies first and design the structure later. Our Odoo implementation services start with the entity map and intercompany flows, because Odoo multi company is hard to undo once entries are posted.
This guide is for CFOs, group controllers and operations leads running two or more legal entities on Odoo 19 or Odoo 20. If you are new to Odoo finance, read our guide on how Odoo Accounting works first.
What is Odoo multi company and how does it work?
Odoo multi company means several companies configured under one database, so some data is shared while each legal entity keeps its own records. Users switch between companies, or select several at once, from the company selector in the top-right corner.
The official Odoo multi-company documentation describes the split. Records linked to one company, such as quotations, invoices and vendor bills, are visible only when that company is active.
Products and contacts work the other way. In a multi-company database, new products and contacts are shared by default. To restrict one, set its Company field; leave the field blank to share it with all companies.
Some fields in a shared record stay company-specific. A product shares its Sales Price and Reference, but its Cost is held per company, so each entity keeps its own cost structure.
Multi-company vs branches in Odoo: which one do you need?

Use a separate company for each legal entity and a branch for an office or division of one entity. Odoo's companies and branches guide says independent subsidiaries should be companies, not branches.
| Question | Separate company | Branch |
|---|---|---|
| Legal status | Its own legal entity | Subdivision of one legal entity |
| Accounting settings | Its own chart, taxes and journals | Inherited from the parent company |
| Tax ID | Its own registration | Can carry its own address and IDs |
| Currency | Its own main currency | Follows the parent's accounting setup |
| Reports | Per company or consolidated | Parent alone or parent with branches |
| Later change | Cannot become a branch later | Plan the hierarchy before creating |
Create the parent company first and decide the hierarchy early: a parent cannot be converted into a branch later without access rights issues. Adding a branch also enables multi-company functions, with the plan effect covered next.
What does Odoo multi company cost?
Multi company is a Custom plan feature, so a Standard database is moved up to Custom when you enable it. Odoo's docs say a yearly contract gets an upsell order with a 30-day limit, while a monthly contract switches automatically at the next bill.
On the Odoo pricing page, Custom is US$61.00 per user a month billed yearly in the US, against US$31.10 for Standard. In India it is Rs 1,350 against Rs 725. New customers get a first-year rate of US$49.00 or Rs 1,080 on Custom.
Licensing is per user, not per company. A controller who works across five companies is one user. Our post on Odoo per-user licensing shows how to keep that count tight.
Implementation is the larger cost. Our Odoo implementation cost ranges are US$9k to US$27k for mid-size projects (8 to 14 weeks) and US$27k to US$150k+ for large ones. Several entities push toward the upper bands.
How do you set up multi company in Odoo, step by step?
Set up Odoo multi company in this order: structure, companies, currencies, users, then intercompany rules. The right order avoids most rework.
- Map the group: list every legal entity, its country, tax registration, main currency and parent, and mark which units are branches.
- Create the parent first: go to Settings, Users and Companies, Companies, and click New. Fill in name, address, Tax ID, LEI, Company ID and currency.
- Install localizations: each company gets the fiscal localization of its country, which loads its chart of accounts and taxes.
- Set currencies: check each company's main currency, activate foreign currencies and choose an automatic rate service and interval.
- Create warehouses: Odoo does not create warehouses automatically for companies added after the initial setup, so add them manually.
- Decide shared data: agree which products, contacts and price lists are shared and which are restricted by the Company field.
- Grant user access: on each user form, set the Companies field and one Default Company.
- Configure intercompany rules: enable Inter-Company Transactions per company and pick the counterpart documents.
- Test a full cycle: run an intercompany sale, purchase, invoice and payment in a test database before go-live.
The Odoo user access documentation warns that wrong multi-company access settings cause inconsistent behavior across companies. Keep that step with an experienced admin, not every manager.
How do Odoo intercompany transactions work?
Odoo intercompany transactions let one company sell to or buy from another company in the same database, with the counterpart document created automatically. You switch the feature on per company in Settings, under the Companies section.
Once Inter-Company Transactions is enabled, you choose which counterpart documents Odoo creates for the selected company:
- Create Vendor Bills: when another company posts an invoice or credit note to this company, Odoo creates the bill or refund in a purchase journal you pick.
- Create Sales Orders: when another company confirms a purchase order with this company, Odoo creates the sales order; the warehouse follows the delivery address.
- Create Purchase Orders: when another company confirms a sales order with this company, Odoo creates the purchase order; the warehouse follows the receipt address.
- Create as: Draft lets the receiving team review each document; Validated posts it straight away.
- Synchronize Transfers from SO/PO: in developer mode, this links one company's delivery with the other company's receipt.
Odoo's docs add a condition: fiscal positions and localizations must be set correctly in both companies. Most intercompany errors we fix trace back to a missing fiscal position.
Stock can also move between companies without intercompany orders, for example by resupplying one company's warehouse from another's.
What changed for intercompany and consolidation in Odoo 20?
Odoo 20 adds intercompany clearing for payments and auto-matches synchronized bills to purchase orders, and it reworks multi-ledgers. Our Odoo 20 Accounting release notes cover each change with screenshots.
| Change | What it does | What to check |
|---|---|---|
| Intercompany clearing | Settles a customer invoice paid to a sister company | Install the Intercompany Payment module in each company |
| PO matching on synced bills | Generated bills link to the original PO lines | Enterprise only |
| Multi-ledger rework | Ledgers list included journals, not excluded | Convert Odoo 19 ledger groups on upgrade |
| CTA balance sheet line | Absorbs rate-type gaps in multi-currency reports | Localized reports without the line show a warning |
| Parent accounts | Replace account groups; codes become optional | Recheck mapping and custom reports |
Intercompany clearing solves a common pain. When Company A invoices a customer who pays Company B, Odoo settles the receivable in both companies, turns A's receivable into a claim on B, and records B's cash as a payable to A.
To use it, install the Intercompany Payment module, enable Inter-Company Transactions in each company, then set a clearing journal, payable account and receivable account in Accounting settings. Odoo recommends separate clearing accounts marked Non Trade.
How does Odoo consolidation work?
Odoo consolidation combines the books of separate companies into one group view using four tools inside Accounting: account mapping, multi-ledgers, the company selector and horizontal groups. There is no separate consolidation app to buy in Odoo 19 or 20.
The Odoo consolidation documentation describes these tools:
- Account mapping: on each account's Mapping tab, enter the code it maps to in each company, so a US subsidiary's five income accounts can roll into one parent income line.
- Multi-ledgers: each company keeps a regular ledger, and the consolidating company has a multi-ledger that also includes all consolidation adjustment journals.
- Company selector: select the consolidating company and make the others visible, and journal items show from the parent's view.
- Horizontal groups: in developer mode, create groups that show how much each company adds to the consolidated balance sheet or P&L.
Currency translation is built in. Equity accounts use the historical rate, P&L accounts use the weighted average rate, and other balance sheet accounts use the closing rate, all taken from the currently selected company.
Reports open in the statutory view by default, so select the multi-ledger to see consolidation adjustments. You can merge similar accounts across companies, but unmerging does not split their chatter history.
What are the limits of Odoo consolidation?
Odoo consolidation works well for management reporting across wholly owned entities, but complex group accounting still needs design work and sometimes a specialist tool. These are the limits we plan around on every Odoo multi company project.
- Eliminations: intercompany balances are removed through adjustment journals in the consolidation ledger; you design and post those entries, so build a monthly elimination checklist.
- Ownership: the Odoo consolidation docs do not describe ownership percentages or minority interests, so partial ownership needs an agreed manual method.
- Mapping upkeep: every new account in any company needs a mapping code, or it falls outside the consolidated line.
- Separate databases: consolidation reads companies in one database; groups on several Odoo databases need a merge or an external reporting layer.
Users feel these gaps. In January 2024, a contributor on the Odoo Community Association mailing list wrote that elimination of multi-company transactions was "nowhere we could find". Eliminations still need a clear owner.
How do you handle multi currency across Odoo companies?
Each Odoo company has its own main currency, so a group with US, UAE and Indian entities keeps books in USD, AED and INR and translates them at consolidation. The main currency defaults from the company's country and is set in Accounting settings.
Per the Odoo multi-currency documentation, you activate currencies, choose a rate service and set daily, weekly or monthly updates. Exchange differences post to dedicated gain and loss accounts.
In Odoo 20, the payment dialog shows the conversion rate, and the CTA line keeps consolidated balance sheets in balance. For tax controls across entities, see Odoo accounting for CFOs in the GCC.
Which industries need Odoo multi company most?
Groups with separate trading, manufacturing and holding entities, or one entity per country, get the most from Odoo multi company. The table shows where we see the main cost drivers.
| Industry | Pain or cost driver | Odoo approach | How iVentureTeam helps |
|---|---|---|---|
| Manufacturing groups | Plant sells to sales company at transfer price | Intercompany SO and PO with synced transfers | Design transfer pricing and routes |
| Distribution and trading | Stock held by one entity, sold by another | Inter-company stock transfers and resupply | Map warehouses and fiscal positions |
| Retail and eCommerce | One webshop collects cash for several entities | Intercompany clearing in Odoo 20 | Set clearing accounts and tests |
| Professional services | Staff in one company bill clients of another | Intercompany invoices and auto-created bills | Build recharge rules and reports |
| GCC and India groups | VAT, GST and e-invoicing per entity | One localization per company | Configure each country's compliance |
| Holding companies | Monthly group P&L built in spreadsheets | Mapping, multi-ledgers, horizontal groups | Build the consolidated report pack |
How iVentureTeam helps with Odoo multi company setup

iVentureTeam designs your Odoo multi company structure before it is built, so intercompany flows and consolidation work from the first close. We have delivered 150+ ERP projects across 35+ countries with 40+ Odoo specialists over 13+ years.
- Entity design: companies vs branches, parent order, currencies and localizations, agreed with your finance team and auditor.
- Chart of accounts mapping: one group reporting structure with codes mapped in every company, set up by our Odoo consulting services team.
- Intercompany rules: counterpart documents, fiscal positions, warehouses and Odoo 20 clearing accounts, tested end to end.
- Consolidation pack: multi-ledgers, elimination checklist and a consolidated P&L and balance sheet your board can read.
- Upgrade checks: ledger group conversion and mapping review when you move from Odoo 19 to Odoo 20.
Want a first budget for a multi-entity rollout? The Odoo project estimate tool gives a scoped range in a few minutes.
Multi entity ERP case study: SRMD Global
A global education non-profit moved 14 country entities onto one ERP, and we chose ERPNext over Odoo for that fit. It shows that the right multi entity ERP depends on the group, not the brand.
SRMD Global operates across 14 countries. Each entity ran its own accounting stack: QuickBooks in the US, Xero in the UK, Tally in India and manual ledgers in Singapore. Annual consolidation took 11 weeks of cross-team work.
We chose ERPNext v15 for its native multi-company accounting, fund accounting and lower long-term cost for a non-profit. We built a multi-currency consolidation engine with a daily FX rate pull, and migrated history from QuickBooks, Xero and Tally.
The rollout took 16 weeks. Consolidated quarterly reporting now takes 6 working days instead of 11 weeks, across 7 currencies. Read the SRMD multi-entity ERPNext case study or our ERPNext vs Odoo comparison.
The bottom line on Odoo multi company
Odoo multi company is a strong choice for groups that want one database for daily operations and intercompany trade, as long as the structure is designed before the first entry. Consolidation works for most wholly owned groups but needs a mapping and elimination routine.
Map your entities, decide companies versus branches, budget for the Custom plan, and test an intercompany cycle before go-live. If you need minority interests or many separate databases, plan a reporting layer from day one.
Ready to design your Odoo group structure?

Get your entities, intercompany rules and consolidation mapped before you build. Plan your Odoo multi-company rollout with our team, call +91-90235-15208, or email business@iventureteam.com.
Frequently Asked Questions
Can Odoo handle multiple companies?
+
Yes. Odoo runs several companies in one database, each with its own books, currency, taxes and documents. Products and contacts can be shared or restricted per company, and users can work in several companies at once.
Is multi company available on the Odoo Standard plan?
+
No. Enabling multi-company on a Standard database triggers an upsell to the Custom plan. A yearly contract gets an upsell order with a 30-day limit, and a monthly contract switches at the next bill.
What is the difference between a company and a branch in Odoo?
+
A company is a separate legal entity with its own accounting. A branch is a subdivision of one legal entity that inherits accounting settings from its parent. Create independent subsidiaries as companies.
How do intercompany transactions work in Odoo?
+
When Inter-Company Transactions is enabled, a sales order, purchase order or invoice in one company creates the counterpart document in the other. You choose whether those documents arrive as drafts or validated.
Does Odoo have a consolidation module?
+
Not a separate app in Odoo 19 or 20. Consolidation uses tools inside Accounting: account mapping, multi-ledgers, the multi-company selector, horizontal groups and built-in currency translation.
Can Odoo eliminate intercompany balances automatically?
+
Not fully. Odoo posts eliminations through adjustment journals in a consolidation ledger, which your team designs and records. Odoo 20 intercompany clearing reduces the open balances you need to eliminate.
Can each Odoo company use a different currency?
+
Yes. Each company has its own main currency, set from its country by default. In consolidation, Odoo translates equity at historical rates, P&L at average rates and other balance sheet lines at closing rates.
Do I pay Odoo per company or per user?
+
Per user. A user who works across several companies is counted once. The cost of going multi-company comes from moving to the Custom plan and from the extra implementation work.
Ready to put this into action?
Talk to iVentureTeam about Odoo, AI automation, or custom development — get a free, no-obligation consultation.
Free Odoo tools
All tools- Odoo Health CheckVersion, modules, findings and upgrade cost
- Odoo App SelectorWhich apps you need, by industry
- Odoo Project EstimateIndicative cost and timeline in minutes
- Odoo Implementation Cost CalculatorImplementation cost and timeline, in minutes
- Odoo Migration Cost CalculatorVersion jump or legacy ERP, priced in minutes
Continue reading
Odoo 20 for Professional Services: Timesheets, Billing and Margins
Odoo for professional services in Odoo 20: timesheets, time and materials billing, employee rates, milestone invoicing and the new project margin reports.
Odoo Internal Controls: Access, Approvals, 3-Way Match, Audit Trail
Set up Odoo internal controls in Odoo 19 and 20: access rights, segregation of duties, purchase approvals, three-way match, lock dates and the audit trail.
Odoo 20 Accounting Upgrade Checklist: Reconciliation, Taxes, Reports
Odoo 20 accounting changes explained, with an upgrade test checklist for bank reconciliation, taxes, fiscal positions, lock dates and financial reports.
