Switch Company Access Control
by Odoo DevHouse https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse$ 25.00
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 41 |
| Technical Name |
switch_company_access_dh |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 41 |
| Technical Name |
switch_company_access_dh |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
Switch Company Access Control
Restrict multi-company selection to authorised users only - users without the permission group can only be active in one company at a time, preventing accidental cross-company data access.
In a standard Odoo multi-company setup, any user who has access to more than one company can freely switch between them - or activate several companies simultaneously - directly from the top-bar company button. There is no built-in permission to restrict this behaviour.
- No granular control - Odoo does not provide a built-in group to limit multi-company selection
- Data leakage risk - users active in multiple companies can inadvertently see or create records that cross company boundaries
- Accounting integrity - journal entries, invoices, and stock moves created while multiple companies are active may be posted to the wrong company
- Compliance concerns - regulated environments require strict company separation that standard Odoo cannot enforce at the UI level
- Confusing UX - non-power users working in multi-company mode are often confused by the merged views and unexpected record visibility
This module adds a single permission group - "Multi-Company Selection" - under the Administration category. Users not assigned to this group can only be active in one company at a time. When they click the toggle icon next to any company in the switcher, they are immediately switched to that company exclusively. Users in the group retain the standard multi-company behaviour unchanged.
- Permission-based restriction - only users in the "Multi-Company Selection" group can activate multiple companies at once
- Seamless single-company mode - for restricted users, clicking the checkbox icon switches company immediately (same as clicking the company name)
- "Select All" disabled for restricted users - the select-all shortcut is blocked, preventing bulk multi-company activation
- Administrators always have access - the system administrator group is automatically included in the permission group
- Zero configuration UI - no settings page, no extra menus; just assign the group and it works
- Frontend enforcement - restriction is applied in the browser via a JavaScript patch on the company selector component
- Session-based flag - group membership is injected into the session at login; no per-click server calls required
- Compatible with company hierarchy - parent/child company structures are respected correctly in single-company mode
- Depends only on
web- installs on any Odoo instance regardless of installed apps
Step 1 - Configure User Permissions
Go to Settings -> Users & Companies -> Users, open any user, and look for the Switch Company section (under Administration). Toggle Multi-Company Selection to grant or deny multi-company access for that user.
- Group not assigned (default): user can only be active in one company at a time
- Group assigned: user can select multiple companies simultaneously as in standard Odoo
- System administrators: always have multi-company access regardless of the group setting
User form - Multi-Company Selection permission under the Switch Company privilege
Step 2 - Without Access Rights (Single-Company Mode)
For users without the "Multi-Company Selection" group, clicking the checkbox icon next to any company in the top-bar switcher immediately switches to that company exclusively. The previous company is deselected automatically. The user is always working in exactly one company.
- Clicking the checkbox icon -> switches to that company only (no multi-selection)
- Clicking the company name -> switches to that company only (standard behaviour, unchanged)
- Select All shortcut is disabled - clicking it does nothing
- No "Confirm" button appears - the switch is instant
Company switcher for a restricted user - only one company can be active at a time
Step 3 - With Access Rights (Multi-Company Mode)
For users with the "Multi-Company Selection" group, the company switcher behaves exactly as in standard Odoo. They can toggle multiple companies on/off, use Select All, and confirm the combined selection.
- Clicking the checkbox icon -> toggles that company in/out of the active selection
- Clicking the company name -> switches to that company only
- Select All activates or deactivates all visible companies
- Confirm / Reset buttons appear to apply or undo the pending selection
Company switcher for an authorised user - full multi-company selection available
- Copy the switch_company_access_dh folder into your Odoo addons path.
- Restart the Odoo server to pick up the new module.
- Go to Settings -> Activate developer mode, then Apps -> Update Apps List.
- Search for "Switch Company Access Control" and click Install.
- Navigate to Settings -> Users & Companies -> Users, open each user, and assign or leave the Multi-Company Selection group as appropriate.
No database migration, no additional configuration - the restriction is active immediately after installation.
Holding Companies
Subsidiaries have dedicated accountants who must stay within their own entity. Only group controllers get multi-company access.
Compliance & Audit
Regulated industries (finance, healthcare, pharma) require strict company separation. Prevent employees from operating across entities without explicit authorisation.
Managed Service Providers
Odoo implementers hosting multiple client databases on a shared instance can control which users see multiple clients simultaneously.
Training Environments
Demo or training databases shared across multiple virtual companies - restrict trainees to their assigned company while trainers can switch freely.
Franchises
Franchisee staff operate in their branch company only. Franchise managers who oversee multiple branches retain multi-company access.
Data Segregation Policy
Enforce an internal policy that employees must never work in mixed-company mode, reducing the risk of cross-company record creation errors.
Reduced Data Entry Errors
Preventing users from operating across companies eliminates the most common source of mis-posted invoices, bills, and journal entries in multi-company Odoo setups.
Stronger Access Governance
Auditors and compliance officers can verify that only named power users have multi-company capability, satisfying access-control review requirements.
Simpler UX for Regular Users
Non-power users never see a merged multi-company view, making the interface cleaner and less confusing. They switch companies in the same familiar way - just without the multi-select option.
Lightweight & Instant Setup
The module adds no database tables, no extra views, and no scheduled jobs. Install it in seconds and control access with a single group assignment per user.
Need Assistance or a Custom Feature?
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module