Technical Lab · 0006

Odoo multi-company setup: when to use it, and when to avoid it.

Multi-company is one of Odoo's most powerful features and its most frequently misused one. A decision guide — plus the configuration fundamentals if you've already decided to proceed.

What multi-company is — and isn't

Odoo's multi-company feature allows multiple legal entities to coexist in a single Odoo database, sharing some master data (products, contacts) while maintaining separate financial books, VAT registrations, chart of accounts, and access controls.

What it is not: a way to create departmental separation, handle branch reporting, or give different users different "views" of the same business. Those requirements are served by analytical accounts (for cost centre reporting), branches (Odoo 17+, for operational separation within one legal entity), and user groups (for access control).

The confusion between these use cases is the source of most multi-company misconfiguration. A business adds a second company because "the factory and the trading arm feel like separate businesses" — and then spends six months fighting intercompany reconciliation for transactions that were never truly intercompany.

Multi-company solves a legal structure problem, not an organisational one.

Three cases where it genuinely helps

Use multi-company when…

  • You have separate legal entities registered under different Trade Licences or TIN numbers in Bangladesh
  • Each entity files its own tax return and VAT return independently, with separate BINs
  • You need true separate financial statements per entity that are legally distinct
  • There are genuine intercompany sales — Company A sells products to Company B at a transfer price, and both need that transaction in their respective books
  • Entities operate in different currencies — e.g., a Bangladesh entity and a Singapore entity in the same group

Do not use it when…

  • You want separate reporting for departments or cost centres (use analytical accounts)
  • You have multiple warehouses or sites under one legal entity (use multi-warehouse in one company)
  • You want different users to see "their" part of the business only (use record rules and user groups)
  • Your "two businesses" share a single bank account and file one tax return — they are one entity regardless of how they are managed operationally
  • You are trying to create a cleaner UI for different teams — there are better ways

Setup fundamentals

If you have confirmed that multi-company is genuinely required, here is the setup sequence. The order matters — skipping ahead creates configuration debt that is painful to unwind.

Step 1Settings → Companies: create Company B with its own name, address, TIN, BIN, and logo. Do not share a parent company record if they are truly independent legal entities. Step 2Chart of Accounts: each company needs its own COA. You can copy from Company A, but review each account — different entities often have different VAT obligations, different depreciation treatment, different intercompany accounts. Step 3Shared master data: products and contacts can be shared (company-agnostic). Decide upfront which product categories are shared and which are company-specific. Shared products with different pricing need company-specific pricelists. Step 4User access: every user must be explicitly assigned to one or more companies. A user not assigned to Company B cannot see or transact in it. Name access rules carefully — accidental cross-company visibility causes audit issues. Step 5Intercompany rules: Settings → Technical → Intercompany Rules. Configure which document types auto-generate counterpart documents (SO→PO, Invoice→Vendor Bill). Start minimal — only enable what you actually need. Step 6Test the full cycle before go-live: create a sale in Company A to Company B, validate the intercompany PO in Company B, invoice in Company A, post the vendor bill in Company B, and reconcile. If the numbers don't balance, the COA mapping is wrong.
Common mistake

Teams enable multi-company and assume the system will "figure out" the intercompany accounts. It won't. You must explicitly map the intercompany receivable and payable accounts in each company's COA and point the intercompany rule at the correct account on both sides. A missing mapping posts to a suspense account silently.

Intercompany transactions — the part that breaks

When configured, this is what intercompany automation looks like. Each step generates a matching entry in both companies' books:

Company A (Seller)Sales Order created for Company B at transfer price
Company B (Buyer)Purchase Order auto-created, awaiting confirmation
Company ADelivery validated; goods leave Company A warehouse
Company BReceipt auto-created; goods enter Company B warehouse
Company AInvoice posted: Debit Intercompany Receivable / Credit Revenue
Company BVendor Bill auto-created: Debit Expense / Credit Intercompany Payable
Company APayment registered → Intercompany Receivable cleared
Company BPayment registered → Intercompany Payable cleared

At month-end, the intercompany receivable balance in Company A must equal the intercompany payable balance in Company B (adjusted for any timing differences). If they don't, something was posted incorrectly on one side. This reconciliation is a permanent monthly task — budget 4–8 hours per month for it in a mid-complexity multi-company setup.

Note · Trading + manufacturing group · 2 entitiesMonth 4 post-go-live
A family-owned group ran a trading company and a factory as two Odoo companies because they "felt separate." The intercompany rule was enabled, but nobody had mapped a dedicated intercompany payable account in the factory's chart of accounts — every counterpart vendor bill posted to the default payables account. By month four, the group accountant was spending most of a week reconciling balances that should have netted to zero. The fix took two hours: map the intercompany accounts explicitly on both sides and re-post four months of bills. The lesson took longer — the two entities shared one bank account and filed under one structure, and never needed to be separate companies at all.

For most Bangladesh group structures I have seen — a trading entity and a manufacturing entity under the same family ownership — the simpler path is one Odoo company with analytical accounts per entity and separate tax reporting handled at month-end. The accounting is marginally more manual; the operational complexity is dramatically lower.

Before committing to multi-company, walk through the discovery process specifically for intercompany flows — the transaction volume, the transfer pricing method, and who reconciles the balances. And read about what complex configurations cost when they go wrong at go-live. The math changes the decision more often than not — the free Odoo Cost Estimator gives you a Bangladesh-specific range before you commit to a structure.

PS

Multi-company configuration and intercompany reconciliation setup is part of my enterprise consulting engagements. If you're evaluating the structure, let's talk before you configure anything →

FAQ

When should I use Odoo multi-company setup?

Use Odoo multi-company when you have separate legal entities with distinct chart of accounts, different VAT registrations (separate BINs in Bangladesh), or independent financial reporting requirements. Do not use it for departments, branches, or cost centres — those are handled by analytical accounts and Odoo's branch feature in v17+.

How does inter-company transaction work in Odoo?

When configured via Intercompany Rules, a sales order in Company A automatically creates a purchase order in Company B. An invoice in Company A creates a vendor bill in Company B. Each transaction generates matching journal entries on both sides. Reconciling the intercompany receivable and payable balances at month-end is the primary maintenance overhead of a multi-company setup — budget 4–8 hours per month.