यह लेख वर्तमान में केवल अंग्रेज़ी में उपलब्ध है। अनुवाद जल्द आ रहा है।
Odoo Multi-Company and Inter-Company Setup: Complete Configuration Guide
Organizations with multiple legal entities, subsidiaries, or business units face a fundamental ERP decision: run separate instances or consolidate into a single system with multi-company capabilities. Odoo supports both approaches, but its multi-company architecture makes consolidation the clear winner for organizations that need shared data, inter-company transactions, and unified reporting. This guide covers every aspect of multi-company setup from initial configuration through inter-company automation.
Key Takeaways
- Odoo supports unlimited companies within a single database with full data isolation between entities
- Inter-company transactions automatically generate matching documents (SO in Company A creates PO in Company B)
- Shared resources like products, contacts, and chart of accounts can be configured per company or shared across all companies
- Consolidated financial reporting aggregates data across entities with inter-company elimination
- User access rules control which companies each user can access and switch between
Multi-Company Architecture
How Companies Work in Odoo
Each company in Odoo operates as a separate legal entity with its own:
- Chart of accounts and fiscal years
- Currency and tax configuration
- Warehouse and inventory valuation
- Payroll rules and employee contracts
- Bank accounts and payment methods
- Document sequences (invoice numbers, order numbers)
Data isolation is enforced at the ORM level. When a user operates within Company A, they see only Company A's records by default. The company selector in the top-right corner allows switching between companies or operating in multi-company mode.
Setting Up Companies
Navigate to Settings > Companies to create and configure companies:
- Company details: Name, address, tax ID, logo, currency
- Accounting: Chart of accounts (can copy from template or existing company)
- Documents: Sequence formats for invoices, orders, and other documents
- Localization: Country-specific tax settings, fiscal positions
For each new company, Odoo creates a separate chart of accounts. You can use a standard chart template or copy the structure from an existing company to maintain consistency.
Inter-Company Transactions
Enabling Inter-Company Rules
Navigate to Settings > Companies > Inter-Company Transactions to configure automation rules. Odoo supports three inter-company transaction types:
Sales Order to Purchase Order: When Company A creates a sales order with Company B as the customer, Odoo automatically generates a corresponding purchase order in Company B with Company A as the vendor.
Purchase Order to Sales Order: The reverse flow---when Company A creates a purchase order from Company B, Odoo generates a sales order in Company B.
Invoice to Bill: When Company A creates a customer invoice for Company B, a vendor bill appears automatically in Company B.
Configuration Steps
- In each company's settings, enable Inter-Company Transactions
- Set the Warehouse for incoming inter-company transfers
- Set the Default Purchase/Sales Journal for generated documents
- Configure Inter-Company Accounts in the chart of accounts for elimination entries
Inter-Company Transfer Workflow
A typical inter-company sale follows this flow:
| Step | Company A (Seller) | Company B (Buyer) |
|---|---|---|
| 1 | Create Sales Order to Company B | PO auto-created from Company A |
| 2 | Confirm SO, create delivery | Confirm PO, create receipt |
| 3 | Ship goods to Company B warehouse | Receive goods from Company A |
| 4 | Create invoice | Vendor bill auto-created |
| 5 | Record payment received | Record payment sent |
The entire flow is automated once the initial sales order is confirmed.
Transfer Pricing
Inter-company pricing can be configured through pricelists. Create a pricelist for inter-company transactions at Sales > Configuration > Pricelists and assign it to the inter-company partner record. This ensures consistent transfer pricing that satisfies tax authority requirements for arm's-length transactions.
Shared vs Company-Specific Data
Products
Products can be shared across all companies or restricted to specific entities:
- Shared products: A single product record visible to all companies. Useful for standard catalog items. Prices and costs can differ per company through pricelists and cost entries.
- Company-specific products: Products with the Company field set. Only visible to that company. Useful for custom-manufactured items specific to one entity.
Contacts
Contacts (customers, vendors, partners) are typically shared across companies. A customer who buys from both Company A and Company B maintains a single contact record. Company-specific details (payment terms, credit limits, pricelists) are managed through the company field on sub-records.
Chart of Accounts
Each company maintains its own chart of accounts. For consolidated reporting, use consistent account structures across companies by copying the chart from a template company. Alternatively, use the Consolidation module to map different account structures to a common consolidation structure.
Employees
Employees belong to a single company but can be shared across companies for resource planning purposes. An employee's payroll, contract, and benefits are always company-specific.
User Access and Security
Company-Based Access Rules
Odoo's security model controls multi-company access through record rules. Key configurations:
- Allowed companies: Each user is assigned one or more companies they can access. Configure at Settings > Users > Preferences
- Current company: The active company determines which records the user sees by default
- Multi-company mode: Users can enable multi-company mode to see records from all their allowed companies simultaneously
Best Practices for Access Control
| User Role | Recommended Access |
|---|---|
| CEO/Owner | All companies |
| Finance Manager | All companies (for consolidation) |
| Department Manager | Own company only |
| Sales Representative | Own company only |
| Warehouse Worker | Own company only |
| External Auditor | Read-only, specific companies |
Data Isolation Verification
After configuring multi-company access, verify isolation by logging in as a user restricted to a single company and confirming they cannot see records from other companies. Test document creation to ensure proper company assignment and sequence numbering.
Consolidated Financial Reporting
Balance Sheet Consolidation
The consolidation module aggregates financial data across companies:
- Define a consolidation company as the parent entity
- Map subsidiary charts of accounts to the consolidated structure
- Configure elimination rules for inter-company balances
- Run consolidation to generate consolidated financial statements
Elimination Entries
Inter-company transactions must be eliminated from consolidated reports to avoid double-counting. Odoo handles this through elimination journal entries:
- Inter-company receivables and payables cancel out
- Inter-company revenue and cost of goods sold cancel out
- Unrealized profit on inter-company inventory is eliminated
Configure elimination rules at Accounting > Configuration > Consolidation > Elimination Rules.
Multi-Currency Consolidation
For international organizations with subsidiaries in different currencies:
- Each subsidiary reports in its functional currency
- Consolidation applies translation rates: balance sheet items at closing rate, income statement at average rate
- Currency translation adjustments post to equity
Branch vs Subsidiary Configuration
Branch Offices
For organizations where multiple locations operate under a single legal entity, use the multi-warehouse approach rather than multi-company:
- Create separate warehouses for each branch
- Use analytic accounts to track branch-level P&L
- All transactions use the same chart of accounts and tax configuration
Subsidiaries
For separate legal entities, use the full multi-company configuration:
- Each subsidiary is a separate company in Odoo
- Separate charts of accounts, tax configurations, and bank accounts
- Inter-company transactions for goods and services transfers
- Consolidated reporting for group-level financial statements
Common Implementation Patterns
Manufacturing Group
A manufacturing group might configure:
- Company A: Manufacturing entity (makes products)
- Company B: Sales entity (sells to end customers)
- Inter-company flow: Company B creates SO for customer > PO to Company A > Company A manufactures and ships to Company B warehouse > Company B delivers to customer
International Operations
An international organization might configure:
- Company US: US operations with USD
- Company EU: European operations with EUR
- Company UK: UK operations with GBP
- Holding Company: Consolidation entity for group reporting
Franchise Model
A franchise organization might configure:
- Franchisor Company: Brand owner with product catalog
- Franchisee Companies: Individual franchisees with their own P&L
- Shared products: Catalog shared from franchisor to franchisees
- Royalty billing: Automated inter-company invoicing for franchise fees
ECOSIRE Multi-Company Services
Setting up multi-company operations requires careful planning of data architecture, access controls, and inter-company workflows. ECOSIRE's Odoo consultancy services include multi-company assessment and design, and our implementation team handles the complete setup from company creation through consolidated reporting validation. For organizations with complex requirements, our custom development services build custom inter-company workflows and reporting.
Related Reading
- Odoo Multi-Entity Accounting
- Odoo Accounting Module Setup Guide
- Odoo Multi-Tenant SaaS Setup
- Odoo Security and Access Control
- Odoo Reports and Dashboards Guide
Is there a limit to how many companies can exist in a single Odoo database?
There is no hard limit on the number of companies. Organizations with 20 or more companies operate successfully on single Odoo databases. Performance depends on total data volume and concurrent users rather than the number of companies. For very large setups (50+ companies), consider server sizing and database optimization.
Can inter-company transactions cross different Odoo versions?
No. Inter-company transactions require all companies to exist in the same Odoo database running the same version. If your entities run on separate Odoo instances, use API-based integration to synchronize documents between instances.
How do you handle inter-company transactions that cross different fiscal years?
Odoo handles this automatically. Each company maintains its own fiscal year calendar. An inter-company transaction posted on December 31st in Company A (calendar year) and January 1st in Company B (April-March fiscal year) will post to the correct period in each company based on their respective fiscal year configuration.
लेखक
ECOSIRE Research and Development Team
ECOSIRE में एंटरप्राइज़-ग्रेड डिजिटल उत्पाद बना रहे हैं। Odoo एकीकरण, ई-कॉमर्स ऑटोमेशन, और AI-संचालित व्यावसायिक समाधानों पर अंतर्दृष्टि साझा कर रहे हैं।
संबंधित लेख
Building an Enterprise AI Strategy: From Experimentation to Competitive Advantage
Build an enterprise AI strategy with our framework covering use case prioritization, technology selection, governance, talent, and scaling from pilot to production.
Industry 4.0 Implementation Guide: From Strategy to Smart Factory in 12 Months
Complete Industry 4.0 implementation guide covering assessment, IoT deployment, ERP integration, and scaling. Realistic timelines, budgets, and ROI benchmarks.
LLM Enterprise Applications: GPT, Claude, and Gemini in Business Operations
How enterprises deploy large language models like GPT-4o, Claude, and Gemini for document processing, customer service, analytics, and workflow automation.