About Advanced Menu Management
Menu Management Interface
How to Manage Access to Odoo Menus
Access to Odoo menus can be managed at different levels. You can hide the menu for everyone and show/hide the menu for specific companies, groups of users, or individual users.
If any menu or submenu is not of use to your business, you can hide it for everyone. To do this, in the Menu Management interface, locate the menu/submenu that you no longer need and select the 'Hide for everyone' box. After that, no user will be able to access such an entry.
If the menu is required again, you will still be able to recover visibility by removing the tick from the 'Hide for everyone' box.
The setting is prioritized over the settings 'Show only for users' and 'Show only for groups'. For example, the 'Events' menu was available to Anita Oliver and all users with the 'Sales/User: Own Documents Only' role. However, we later decided to hide the menu for everyone and ticked the 'Hide for everyone' option. After that, the menu was hidden from all users, including Anita Oliver and users with the role 'Sales/User: Own Documents Only'.

Hide/Show Menus for Companies
If you work in a multi-company environment where company specifics differ, it may be helpful to hide/show specific menus and submenus for each company. This way, the set of shown menus may vary according to the company's needs.
To make specific menus/submenus invisible for companies, choose the companies in the field 'Hide for companies'. Please note that if a user has any available companies outside of this list, the menu will be displayed. For example, we have decided to hide the 'Discuss' menu from the company 'San Francisco' and selected it in the field. After that, the menu will be hidden for all users related to the company.
To show specific menus/submenus for companies, choose the companies in the field 'Show only for companies'. If a company is defined, then the menu for other companies will be hidden. For example, if we specify the company 'Chicago' in the 'Discuss' menu field, then no other company will be able to access the 'Discuss' menu, except for the chosen one.
Note that if a company is listed in both fields of the same menu/submenu, the 'Hide for companies' field takes priority over the 'Show only for companies' field, while the restrictions are cumulative. Therefore, the menu will be unavailable for both the company and all other companies.
Suppose a user has access to multiple companies, and one of the companies is listed in both fields. In that case, the related menu/submenu will be visible only when various companies are selected in the top right corner, unless hidden by other fields (for example, 'Hide for users').
For example, we have a menu 'Discuss' that we don't need, so we decided to make it invisible for all companies except 'San Francisco' and added the company 'San Francisco' to the field 'Show only for companies'. After reloading the page, the field became unavailable for all companies, except 'San Francisco'. Then, we added the company to the field 'Hide for companies' of the same menu, and the menu became unavailable for the company 'San Francisco' as well. Simultaneously, our user, Mitchel Admin, has access to several companies (San Francisco and Chicago). When both companies are selected in the top right corner, the 'Discuss' menu becomes visible to him.

Hide/Show Menu for Users
It is possible to hide/show menus and submenus for particular users. It is helpful if you don't want a certain menu/submenu to be visible for a user, but you can't regulate it through the access rights. In case a menu/submenu is hardly ever used and/or is distracting, hide it from the user or all users except the chosen ones.
To make specific menus/submenus invisible for particular users, choose the users in the field 'Hide for users'. For example, add Mitchel Admin to the 'Contacts' menu field, and it will be hidden for him.
To show specific menus/submenus for particular users, choose the users in the field 'Show only for users'. If defined, for other users, the menu will be hidden. For example, add Abigail Peterson and Billy Fox to this field by using the 'Contacts' menu, and other users, such as Anita Oliver, will not see the menu.
If the user is selected in both fields of the same menu/submenu, the field 'Hide for users' will be prioritized over the field 'Show only for users'. For example, if Abigail Peterson is mentioned in both fields, then the menu will be unavailable for her and for other users who aren't mentioned in the field 'Shown only for users'.
Please note that the menu may still be hidden for selected users if other settings (e.g., 'Hide for everyone') are enabled.
Optionally, allow certain users to hide the menus they don't need. This way, they will be able to concentrate on the required menu entries without being distracted by other menus. The menus, which were hidden by the users personally, can be viewed and modified by administrators in the 'Hide for users (personal)' column (see Access Rights).

Hide/Show Menus for User Groups
It is also possible to show specific menus and submenus only for the chosen groups of users. It might be beneficial to quickly hide a specific menu for all users who don't have the related group assigned.
Unlike in standard Odoo, the module retains access changes, so even after updating the modules/Odoo core, the set groups will be saved and will retain access accordingly.
To display specific menus/submenus for particular user groups, select the groups in the 'Show only for groups' field. If defined, for other groups, the menu will be hidden. For example, we decided to display the 'Events' menu only to users with the 'Sales/Administrator' user group. We have added the group to the field, and the menu was hidden for all other users, e.g., for Anita Oliver, who had the role 'Sales: Own Documents Only' assigned.
Take into account that the menu might still be hidden for the users of the chosen-in-the-field user groups if it is assumed by other settings (e.g., 'Hide for companies' or 'Hide for users'). For example, Mitchel Admin has the role 'Sales/Administrator' assigned, but he was added to the field 'Hide for users', so the menu 'Events' was hidden for him.

Access Rights
The right to access the module's menu belongs to the users with the 'Administration > Settings right. You can assign it to one or several users to manage the access to menus on different levels. For that:
1. Go to General Settings
2. Click 'Manage Users' and choose a user
3. Find the section 'Administration' and in the field 'Administration' choose the option 'Settings'.
After that, the user will see the option 'Menu Management' in the systray of General Settings.

In case you have accidentally hidden a specific menu, for example, the menu 'Settings', so even the users with access 'Administration > Settings' cannot access the Menu Management interface, you can always open the interface through the related button in the user's preferences. For that:
1. Click on the user's picture in the top right corner and open the menu 'Preferences' (the menu might be called 'My profile' depending on the installed modules)
2. In the tab 'Preferences', find the button 'Menu Management'.
As you click on the button, you will be redirected to the menu management interface, from where you will be able to manage the available menus.
Please note that the button is visible only to users with the proper Administration > Settings permissions.

Additionally, you can grant access to any internal user(s), allowing them to determine which menus should be hidden. For that:
1. Go to General Settings
2. Turn on the developer mode
3. Click 'Manage Users' and choose a user
4. Find the section Other at the bottom of the page and tick the 'Hide Menus through Preferences' option.

After that, a special field 'Hide menus' will appear in the tab preferences of the user. To hide one's own menus:
1. Click on the picture in the top right corner and choose the option 'My Profile'
2. In the tab preferences, find the field 'Hide Menus'
3. Choose one or several menus that should be hidden.
After reloading the page, the chosen menus will be hidden from the user's main menu. To show them again, remove the selection from the 'Hide menus' field.
For example, our internal user Anita Oliver has access to the menu Discussion, but she doesn't read or participate in any of them. The menu distracts her as she prefers to have only relevant ones. So, she chooses the menu 'Discuss' in the field 'Hide Menus'. Then, the menu becomes hidden for her.
The 'Hide menus' field in the user's preferences and the 'Hide for users (personal)' field in the 'Menu Management' section are interconnected. Therefore, if a user chooses to hide specific menus, the responsible person can see this and manage it accordingly. For example, suppose Anita Oliver decided to hide the menu item 'Discuss'. In that case, then the responsible user 'Mitchel Admin' sees her name in the menu in the field 'Hide for users (personal)' and can make it visible again.

If you want to hide a specific menu from a user, without allowing them to change that, state the user in the column 'Hide for users (global)'. Such menus will not be displayed in the 'Hide Menus' field of the user's preferences.

Use Notes
Sometimes, there may be a need to manage the visibility of specific menus and submenus across multiple levels simultaneously. In such cases, it is crucial to understand how the fields interact with one another.
For example, if we select the 'Hide for everyone' option, the menu will be hidden from everyone, regardless of other settings.
If we decide to hide a menu for the company 'San Francisco' and choose a user related to the company in the field 'Show only for users', then the menu will be hidden for them unless he has access to another company.
If we decide to show a menu for the company 'San Francisco' and choose a user related to the company in the field 'Hide for users', then the menu will be visible to all users of the company except for that user.
If we decide to hide a menu for the company 'San Francisco' and choose a user group in the field 'Show only for groups', then the menu will be hidden for all users within the company and all users, except those with the selected user group assigned in other companies.
If we decide to hide a menu for a particular user, e.g., Anita Oliver, and add one of her user groups 'Sales: Own Documents Only' to the field 'Show only for groups', then the menu will still be invisible for her, while being visible to all other users with the group 'Sales: Own Documents Only'.
If we decide to show a menu for a particular user, e.g., Anita Oliver, hide the same menu for Mitchel Admin, and show it to all users with the rights 'Sales/Administrator' and 'Purchase/Administrator', then the menu will be shown to all users with those groups and to Anita Oliver. But, it will be hidden from Mitchel Admin, regardless of his user groups.
About Advanced Menu Management
Advanced Menu Management is an Odoo tool that efficiently hides and shows menus for Odoo users, companies, and security groups.
The module enables managing access to Odoo menus through a specialized interface with an innovative hierarchical menu view. Menus are organized in a tree, providing an instant overview of all visibility rules and one-click access to update access settings. All options are provided with practical help hints.
If any menu or submenu is not valuable for your business, you can hide it with a single click. None of the users will be able to access such an entry. If necessary, recover visibility to it with just a click.
Specify companies or Odoo users for which a specific menu item should become invisible. Or, do it vice versa, and define companies, users, and/or user groups for which this menu should be shown. For others, it would be hidden. The changes are saved even when the modules are updated.
Allow specific users to hide the menus of their choice. They could concentrate on the ones they really need.
Hide entries globally
Hide/show menus user-wise
Hide/show menus company-wise
Restrict menu access by user groups
Menu Management Interface
The module enables managing access to Odoo menus through a specialized interface with an innovative hierarchical menu view. Menus are organized in a tree, providing an instant overview of all visibility rules and one-click access to update access settings. A convenient hierarchy enables quickly finding the related submenu to manage access to it.
To view and decide which menus to hide/show, go to General Settings and click the 'Menu Management' option in the systray.
As you open the interface, on the vertical scale, you see a list of available menus that can be shown/hidden, and on the horizontal scale, you see the options for hiding/showing them.
You can hover over the top column cells to view helpful hints.
With the help of filtering and searching options, you can quickly find the menus you need.
The available filtering options are All, Only Root, Hidden from Everyone, Not Hidden for Everyone, and Archive. To apply the option, choose it from the list. To view all available menus, select the 'All' option.
The available searching criteria are: Menu Title, Parent Menu, Hide for users (global, personal), Show only for users, Hide for companies, Show only for companies, and Show only for groups. To find a menu using the search bar, select one of the search criteria, enter your request, and click the search icon. To reset the search, click on the 'Reset' icon.
How to Manage Access to Odoo Menus
Access to Odoo menus can be managed at different levels. You can hide the menu for everyone and show/hide the menu for specific companies, groups of users, or individual users.
If any menu or submenu is not of use to your business, you can hide it for everyone. To do this, in the Menu Management interface, locate the menu/submenu that you no longer need and select the 'Hide for everyone' box. After that, no user will be able to access such an entry.
If the menu is required again, you will still be able to recover visibility by removing the tick from the 'Hide for everyone' box.
The setting is prioritized over the settings 'Show only for users' and 'Show only for groups'. For example, the 'Events' menu was available to Anita Oliver and all users with the 'Sales/User: Own Documents Only' role. However, we later decided to hide the menu for everyone and ticked the 'Hide for everyone' option. After that, the menu was hidden from all users, including Anita Oliver and users with the role 'Sales/User: Own Documents Only'.
Hide/Show Menus for Companies
If you work in a multi-company environment where company specifics differ, it may be helpful to hide/show specific menus and submenus for each company. This way, the set of shown menus may vary according to the company's needs.
To make specific menus/submenus invisible for companies, choose the companies in the field 'Hide for companies'. Please note that if a user has any available companies outside of this list, the menu will be displayed. For example, we have decided to hide the 'Discuss' menu from the company 'San Francisco' and selected it in the field. After that, the menu will be hidden for all users related to the company.
To show specific menus/submenus for companies, choose the companies in the field 'Show only for companies'. If a company is defined, then the menu for other companies will be hidden. For example, if we specify the company 'Chicago' in the 'Discuss' menu field, then no other company will be able to access the 'Discuss' menu, except for the chosen one.
Note that if a company is listed in both fields of the same menu/submenu, the 'Hide for companies' field takes priority over the 'Show only for companies' field, while the restrictions are cumulative. Therefore, the menu will be unavailable for both the company and all other companies.
Suppose a user has access to multiple companies, and one of the companies is listed in both fields. In that case, the related menu/submenu will be visible only when various companies are selected in the top right corner, unless hidden by other fields (for example, 'Hide for users').
For example, we have a menu 'Discuss' that we don't need, so we decided to make it invisible for all companies except 'San Francisco' and added the company 'San Francisco' to the field 'Show only for companies'. After reloading the page, the field became unavailable for all companies, except 'San Francisco'. Then, we added the company to the field 'Hide for companies' of the same menu, and the menu became unavailable for the company 'San Francisco' as well. Simultaneously, our user, Mitchel Admin, has access to several companies (San Francisco and Chicago). When both companies are selected in the top right corner, the 'Discuss' menu becomes visible to him.
Hide/Show Menu for Users
It is possible to hide/show menus and submenus for particular users. It is helpful if you don't want a certain menu/submenu to be visible for a user, but you can't regulate it through the access rights. In case a menu/submenu is hardly ever used and/or is distracting, hide it from the user or all users except the chosen ones.
To make specific menus/submenus invisible for particular users, choose the users in the field 'Hide for users'. For example, add Mitchel Admin to the 'Contacts' menu field, and it will be hidden for him.
To show specific menus/submenus for particular users, choose the users in the field 'Show only for users'. If defined, for other users, the menu will be hidden. For example, add Abigail Peterson and Billy Fox to this field by using the 'Contacts' menu, and other users, such as Anita Oliver, will not see the menu.
If the user is selected in both fields of the same menu/submenu, the field 'Hide for users' will be prioritized over the field 'Show only for users'. For example, if Abigail Peterson is mentioned in both fields, then the menu will be unavailable for her and for other users who aren't mentioned in the field 'Shown only for users'.
Please note that the menu may still be hidden for selected users if other settings (e.g., 'Hide for everyone') are enabled.
Optionally, allow certain users to hide the menus they don't need. This way, they will be able to concentrate on the required menu entries without being distracted by other menus. The menus, which were hidden by the users personally, can be viewed and modified by administrators in the 'Hide for users (personal)' column (see Access Rights).
Hide/Show Menus for User Groups
It is also possible to show specific menus and submenus only for the chosen groups of users. It might be beneficial to quickly hide a specific menu for all users who don't have the related group assigned.
Unlike in standard Odoo, the module retains access changes, so even after updating the modules/Odoo core, the set groups will be saved and will retain access accordingly.
To display specific menus/submenus for particular user groups, select the groups in the 'Show only for groups' field. If defined, for other groups, the menu will be hidden. For example, we decided to display the 'Events' menu only to users with the 'Sales/Administrator' user group. We have added the group to the field, and the menu was hidden for all other users, e.g., for Anita Oliver, who had the role 'Sales: Own Documents Only' assigned.
Take into account that the menu might still be hidden for the users of the chosen-in-the-field user groups if it is assumed by other settings (e.g., 'Hide for companies' or 'Hide for users'). For example, Mitchel Admin has the role 'Sales/Administrator' assigned, but he was added to the field 'Hide for users', so the menu 'Events' was hidden for him.
Access Rights
The right to access the module's menu belongs to the users with the 'Administration > Settings right. You can assign it to one or several users to manage the access to menus on different levels. For that:
1. Go to General Settings
2. Click 'Manage Users' and choose a user
3. Find the section 'Administration' and in the field 'Administration' choose the option 'Settings'.
After that, the user will see the option 'Menu Management' in the systray of General Settings.
In case you have accidentally hidden a specific menu, for example, the menu 'Settings', so even the users with access 'Administration > Settings' cannot access the Menu Management interface, you can always open the interface through the related button in the user's preferences. For that:
1. Click on the user's picture in the top right corner and open the menu 'Preferences' (the menu might be called 'My profile' depending on the installed modules)
2. In the tab 'Preferences', find the button 'Menu Management'.
As you click on the button, you will be redirected to the menu management interface, from where you will be able to manage the available menus.
Please note that the button is visible only to users with the proper Administration > Settings permissions.
Additionally, you can grant access to any internal user(s), allowing them to determine which menus should be hidden. For that:
1. Go to General Settings
2. Turn on the developer mode
3. Click 'Manage Users' and choose a user
4. Find the section Other at the bottom of the page and tick the 'Hide Menus through Preferences' option.
After that, a special field 'Hide menus' will appear in the tab preferences of the user. To hide one's own menus:
1. Click on the picture in the top right corner and choose the option 'My Profile'
2. In the tab preferences, find the field 'Hide Menus'
3. Choose one or several menus that should be hidden.
After reloading the page, the chosen menus will be hidden from the user's main menu. To show them again, remove the selection from the 'Hide menus' field.
For example, our internal user Anita Oliver has access to the menu Discussion, but she doesn't read or participate in any of them. The menu distracts her as she prefers to have only relevant ones. So, she chooses the menu 'Discuss' in the field 'Hide Menus'. Then, the menu becomes hidden for her.
The 'Hide menus' field in the user's preferences and the 'Hide for users (personal)' field in the 'Menu Management' section are interconnected. Therefore, if a user chooses to hide specific menus, the responsible person can see this and manage it accordingly. For example, suppose Anita Oliver decided to hide the menu item 'Discuss'. In that case, then the responsible user 'Mitchel Admin' sees her name in the menu in the field 'Hide for users (personal)' and can make it visible again.
If you want to hide a specific menu from a user, without allowing them to change that, state the user in the column 'Hide for users (global)'. Such menus will not be displayed in the 'Hide Menus' field of the user's preferences.
Use Notes
Sometimes, there may be a need to manage the visibility of specific menus and submenus across multiple levels simultaneously. In such cases, it is crucial to understand how the fields interact with one another.
For example, if we select the 'Hide for everyone' option, the menu will be hidden from everyone, regardless of other settings.
If we decide to hide a menu for the company 'San Francisco' and choose a user related to the company in the field 'Show only for users', then the menu will be hidden for them unless he has access to another company.
If we decide to show a menu for the company 'San Francisco' and choose a user related to the company in the field 'Hide for users', then the menu will be visible to all users of the company except for that user.
If we decide to hide a menu for the company 'San Francisco' and choose a user group in the field 'Show only for groups', then the menu will be hidden for all users within the company and all users, except those with the selected user group assigned in other companies.
If we decide to hide a menu for a particular user, e.g., Anita Oliver, and add one of her user groups 'Sales: Own Documents Only' to the field 'Show only for groups', then the menu will still be invisible for her, while being visible to all other users with the group 'Sales: Own Documents Only'.
If we decide to show a menu for a particular user, e.g., Anita Oliver, hide the same menu for Mitchel Admin, and show it to all users with the rights 'Sales/Administrator' and 'Purchase/Administrator', then the menu will be shown to all users with those groups and to Anita Oliver. But, it will be hidden from Mitchel Admin, regardless of his user groups.