Odoo supports multi-company in the same database. Parent and subsidiary companies share the same installation but have separate accounting, inventory, and customers. Users can switch between companies without logging out.
Configuration
Under Settings → Companies: create new companies. Each company has its own address, logo, currency, and chart of accounts. Users are assigned to one or more companies. The default company is what they see first on login.
Intercompany transactions
Company A selling to Company B? Enable the intercompany module. A sales order in Company A automatically creates a purchase order in Company B. Invoices and payments are handled separately per company. Transfer pricing is configured in price lists.
Accounting
Each company has its own chart of accounts, tax periods, and bank accounts. Reports are generated per company. Consolidated reports (consolidated P&L, balance sheet) require Enterprise or a community module.
Shared data
Products, contacts, and users can be shared between companies or be company-specific. Controlled with the company_id field and record rules. A customer can be visible to all companies, while an internal contact is only visible to its own.
Common pitfalls
Forgetting to set company on records (they end up "global" and visible everywhere). Misconfigured record rules that let users see data they shouldn't. Intercompany transactions not booked correctly. Test every flow with users in each company.
Multi-company in Odoo works well for groups with similar processes. If companies have completely different operations, separate databases can be simpler to maintain.