This module will provide a way to change the way Odoo manages a 'multi-company' implementation.
Abstract
Odoo traditional implementation of multi-company:
- Some models contain a field named Company (company_id) that allows to set one company or None in order to:
- Limit access to that company if set.
- not limiting access to any company if not set.
This module changes that in order to introduce a finer company access. e.g.: If you want to give record access to company A and B but not for C.
This module is not doing anything by its own but provide a transversal implementation for further ones. e.g.: If you want to implement OCA multi-company behaviour for products, install also the 'product_multi_company' or 'partner_multi_company' modules.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Provides the technical foundation that lets other modules give records access to several companies at once instead of just one. On its own it changes nothing visible for users.
This is a technical base module: it does not add menus, screens or reports, and installing it alone does not change what users see. It prepares Odoo so that other modules can let a record belong to several companies at the same time, instead of the usual single company or none.
What it adds behind the scenes:
- A reusable abstract model
multi.company.abstractthat other modules can build on. It gives records two linked fields:company_ids(the list of companies a record is shared with) andcompany_id(a single company, computed from that list). - When a record is saved with a single company, that company is automatically added to its list of companies. If both are provided, the single company is merged into the list rather than conflicting.
- The single company shown is chosen automatically: the company currently in use if it is allowed, otherwise the first company shared by the record and the user.
- Searching and grouping by the single company field are redirected to the list of companies, so filters and group-by still work. Grouping by a more complex variant is refused with a clear message.
- It also adjusts Odoo's company-consistency check (
_check_company) so that the company of the record being checked is taken into account when validating related records.
It also ships helper functions used when installing or removing dependent modules: they activate the matching access rule and copy existing single-company values into the new list of companies.
Required by other modules
Models and fields (2)
- base · extends an existing model
- multi.company.abstract · new modelcompany_id (Company), company_ids (Companies)
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 8 confirmed, 1 with no information of 9 versions.
Sources · Odoo 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/multi-company.
terminal Installation and usage
No verified informationInstallation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.