MENU ACCESS

How to hide a menu for certain users in Odoo

Restrict the model's Views switch for that Access Profile. This removes the menu the same way Odoo's native groups attribute on a menu item does — but because the restriction lives on the model, it also holds outside the menu.

If the goal is to actually stop that group reaching the data — not just to tidy their home screen — read why hiding a menu isn't the same as restricting the model first.

Global menu access in Access Manager Pro — hide menus for a profile, not just one user
01

Find the model behind the menu

Every Odoo menu item points at a model or an action — that's what you're actually restricting.

02

Turn off Views for the profile

This removes the menu entry and blocks the model's own view access together.

03

Decide if you need the deeper fix

If the group could still reach the data through a report, smart button, or the API, restrict the model fully.

Menu vs model

Hiding a menu does not hide the model

Odoo menus are ir.ui.menu records with optional groups. Clearing the menu is what people mean by “they shouldn’t see Accounting.” The model is still there: a smart button on a contact, a related field, a report, a bookmarked URL, XML-RPC. Access rights on the model are the control that matters. The longer piece is why hiding a menu is not restricting the model.

Access Manager Pro’s Views switch on the model is meant to tidy navigation and hold outside the menu. Use it when the goal is “this role does not work in that app,” not “please hide the icon and hope.”

When a hidden menu is still correct

Still hide the menu — just do not stop there

A warehouse user with a home screen full of accounting menus will click the wrong thing and file a ticket. Hiding menus is good UX. Pair it with model rights so the accidental URL does not open a journal item.

App icons are one level up again: hiding an app is not the same as restricting every model that app installed. Test with a smart button from a document they are allowed to open.

How to test it

Three tests that catch a menu-only restriction

As the restricted user: (1) the menu is gone; (2) a related record’s smart button that would open the model is gone or refused; (3) an API search_read on that model is refused. If (1) passes and (2) or (3) fail, you have a navigation change, not security.

Admins should stay exempt so you cannot hide Settings from yourself. That is a product rule in Access Manager Pro, and a reason native group experiments go badly on production.

Questions

Before you set it up

If the menu is gone, can they still open the model?

Yes — smart buttons, related fields, reports, a typed URL, or an API call. Hiding a menu is UI. Restricting the model is access rights. See why hiding a menu is not restricting the model.

Should I still hide the menu?

Yes, for a cleaner home screen. Just do not treat that as the security layer.

Does this apply to Enterprise as well as Community?

Yes. Menu visibility and model-level access rights are separate in both editions.

Ready to lock this down?

Try it on the live sandbox first — nothing to install.