Introducing Menu Configuration for Microsoft Dynamics 365 F&O
Usually, when people asked if it is possible to hide menus as they don’t need specific menus or if it only contains duplicate menu items already present in another menu, then I had to say that the option is not available in the standard application. Already a long time ago, I found a place where to interact, but wanted to make this easily configurable. With the release of this post, I’m thrilled to announce that I created a small solution for Dynamics 365 F&O where you can manage which menus will be visible to a user. You can find more details in this blog and links to download the solution with the current features for free.
Personalization
Since the first version of Damgaard Axapta, released in 1998, the application has had options to personalize screens and save values for using forms with only the relevant information for your tasks to complete. As part of the personalization, you could also configure which menus were visible in various versions of the application. Maybe you have worked with, e.g., Dynamics AX 2012, where you could manage the visibility of menus and also reorder them to your preferences. Despite having created an idea on the ideas portal, it apparently needs more votes for many years already. See: Personalization option for main menu – Microsoft Idea.
When I talk with other people, they have requirements to hide menus, so I decided to work on my own solution, which is now available.
Use cases
There are several reasons why you want to hide menus for users. In the standard application, there are already over 40 menus in the main menu. If ISV solutions or partner add-ons are installed, the list of menus grows. Let me list some of the use cases.
- Security roles grant access to menu items. Then all menus where the menu item is used are visible to the user. Some menus can be hidden to limit the choices.
- Some basic security roles, like the System user role, grant access to elements not required for the user.
- A system administrator bypasses all security and will see all menus, even when not all features of the application are in use.
- When demonstrating Dynamics 365 to a prospect, having a small number of menus will ensure that the prospect will not be overwhelmed when they see all options. They are interested in specific use cases as part of the demo.
Introduction
As mentioned, I developed a solution for configuring the visibility of menu items; you can watch the demo video to get a first impression. Below the video, I will explain more details of the solution.
Managing the visibility of the menus by either an administrator or an individual user will improve the user’s productivity, as the correct menu can be found more quickly with a smaller list of menus. Note that the utility will only hide the menu; it will not be a replacement for security. A user can still find and open pages using the search bar or by manipulating the URL in the browser.
There are two levels for managing the menus.
- An administrator can manage the visibility of menus linked to security roles. This is managed via the Menu configuration.
- A user can personalize the menu visibility. This can be achieved by opening the page User menu configuration.
The Menu configuration page can be opened using the following menu path: System administration > Setup > Menu configuration. It is located just below the menu item Personalization.

It will open the page with a focus on the Security roles tab. Initially, the menus per security role may not show up. To be able to get the menus listed, you will first need to manage the parameters. You can switch to the Parameters tab for the first quick configuration of the solution.

On this tab, there are three parameters.
| Enable menu personalization | Use this option to fully disable the menu configuration solution. No menu will be hidden when disabled. |
| User configuration allowed | If this option is enabled, users can personalize the menu by hiding individual menus. The user should have a security role with permissions to open the User menu configuration. |
| Enable metadata cache | This option is recommended to remain enabled for performance optimization when opening the pages for configuring the menus. The metadata cache is a table that contains the combination of security roles and the menus. When the option is disabled, loading of the Menu configuration pages will need to query live which menus are part of which security role or which menus are available to the user. This takes about 10-15 seconds in a standard demo environment, but can last for several minutes in environments with a lot of security roles and additional menus part of ISV solutions or customizations. |
The Refresh metadata cache task is running a-synchronous when you start it. Depending on the number of security roles and menus in your environment, the task will complete in about 15 seconds up to several minutes. Once you get a message in the alert center, the data is ready and you can reload the Menu configuration page to get all data initialized.

Now we can control which menus should be hidden or always available to users assigned to the role. As you can see, for the Accounts payable manager, the number of menus is relatively extensive for what might be required for the daily work. A user with this role, the Employee role, and the System user role will have almost 30 menus to work with.
You can perform a multi-select and then choose one of the actions from above the grid.
- Hidden – this will set all selected rows to the status Hidden.
- Visible – this ensures that the menu will always be visible, regardless of settings on other security roles.
- Reset – this option will revert the status to Unset.
The configuration is effective the moment you make a change. The next time a user will open Dynamics 365, the list of menus is trimmed.

User menu configuration
When allowed via the parameters, users themselves can hide menus they don’t need. They can also reset the visibility, but only for those menus that are not controlled by the settings on the security role.
To be able to override the menu visibility, the user must be assigned the Menu configuration user security role.

At the right-top corner of the application, there is a Setup button. The user will find the menu item with the name User menu configuration.

This option will open a dialog where the user can manage the menu visibility.

Similar to the User configuration page, there is a support for multi-selection and the user can hide or reset only the menus not locked by settings on their security roles.
A system administrator or security administrator with an additional security role Menu configuration administrator is able to manage the user settings from the User page. This is similar how the User options can be managed per user.
Select a user and click on the button User menu configuration.

There is more…
You can download the module and use it for free. Remember to read the End User License Agreement before installing the module.
You must realize that this is a configuration and not an option to secure the application. Using URL manipulation, a user can open all menu items part of their security role, even when the menu is hidden. The intention of this module is a productivity enhancements for the users.
Downloads
You can download the feature from the options below. There is support for deployments via Lifecycle Services (LCS) and the environment managed in the Power Platform Admin Center (PPAC). You can use the online documentation for instructions on installing the module via DevOps Pipelines, deploying the package in LCS, or using the command prompt.
Please send me your experiences and feedback when using this solution in your environments and implementations.
I do hope you liked this post and will add value for you in your daily work as a professional. If you have related questions or feedback, don’t hesitate to use the Comment feature below.
That’s all for now. Till next time!



Hi André, shared your blog and publications with some of my Italian team mates.
Greetz
Hedwig
Hi Hedwig,
Thanks for sharing internally. Hope to speak with you again soon.
Kind regards,
André
Assume i am adding couple of standard roles and system shows that part of SCM License and team member licenses are applicable. If i hide all menu items related to SCM using your custom form, it will hide those SCM related menus but what about license allocation? Will license usage summary also will change to only team member licenses or it will again show both SCM and team member licenses?
Hi Hari,
Thanks for your question. I’m happy to provide clarity on this. As mentioned in the blog, hiding menus is not impacting security. What permissions are granted in the security role determines the licensing. Hiding one or more menus isn’t lowering the license requirement. So, the Menu Configuration utility does not help you lower the license requirement. The license report calculation logic looks at the contents of the security role, not at additional configuration tools. To lower the licenses, you need to change the contents of the security roles in your environment, or remove role assignments from users. You can learn more about this on my blog. E.g.: Dynamics 365 Licensing Enforcement Advent Calendar
Kind regards,
André
Nice Andre. Very useful as well for demonstrations. Still have the administrator rights, but don’t show a menu with more items than needed for you demonstration.
Hi Eric,
Thanks for your feedback. Intentionally, I added support for system administrators, as they don’t need everything when performing administrative tasks, and for a pre-sales consultant like you to demo the application without overwhelming your audience with all the modules.
Hi Andre,
Yes, I see that really working. The smaller the menu, the less overwheling it feels for the audience.
Very nice.