Skip to content

Odoo Multi-Company Setup: Complete Configuration Guide

DeployMonkey Team · March 22, 2026 10 min read

When to Use Multi-Company

Use multi-company when you need separate legal entities within the same Odoo instance: parent company + subsidiaries, multi-country operations, franchise models, or holding companies. Do NOT use multi-company for departments within the same legal entity — use analytic accounts instead.

Setup Steps

1. Create Companies

Settings → Companies → Create. Each company needs:

  • Name, address, tax ID
  • Currency (can differ per company)
  • Logo (appears on documents)
  • Chart of accounts (country-specific)

2. User Company Assignment

# Each user can be assigned to one or more companies
# Settings → Users → select user → Allowed Companies
# The user's "current company" determines which data they see

3. Inter-Company Rules

Settings → General Settings → Multi-Company → Inter-Company Transactions

  • Auto-generate sale/purchase — Sale order in Company A creates purchase order in Company B
  • Auto-generate invoice/bill — Customer invoice in A creates vendor bill in B

4. Security Rules

Odoo automatically creates multi-company record rules for standard models. For custom models, add:

class MyModel(models.Model):
    _name = 'my.model'

    company_id = fields.Many2one(
        'res.company',
        default=lambda self: self.env.company,
        required=True,
    )
<!-- Record rule: users see only their companies' records -->
<record id="rule_my_model_multi_company" model="ir.rule">
    <field name="name">My Model: multi-company</field>
    <field name="model_id" ref="model_my_model"/>
    <field name="domain_force">
        [('company_id', 'in', company_ids)]
    </field>
</record>

5. Shared vs Company-Specific Data

SharedCompany-Specific
Contacts (res.partner)Journal entries
Products (product.product)Invoices and bills
Users (res.users)Bank accounts
Employees (hr.employee)Tax configurations
Email templatesSequences (invoice numbers)

6. Consolidated Reporting

For financial consolidation across companies:

  • Ensure consistent chart of accounts structure across subsidiaries
  • Use the Consolidation module (Enterprise) for automated consolidation
  • Create inter-company elimination journals
  • Configure consolidation currency for multi-currency subsidiaries

Common Mistakes

  • Forgetting company_id on custom models — Data leaks between companies
  • Incorrect default company — Records created in the wrong company
  • Missing inter-company rules — Manual duplicate entry for inter-company transactions
  • Inconsistent chart of accounts — Makes consolidation impossible

DeployMonkey Multi-Company

DeployMonkey supports multi-company Odoo deployments. The AI agent understands company context — when diagnosing issues, it considers which company's data and configuration is affected.