Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Extra Tools
  3. Hide Menus per User v 19.0
  4. Sales Conditions FAQ

Hide Menus per User

by HIGA https://higa.group/
Odoo
v 19.0 Third Party 13
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 118
Technical Name hide_menus_per_user
LicenseLGPL-3
Websitehttps://higa.group/
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 118
Technical Name hide_menus_per_user
LicenseLGPL-3
Websitehttps://higa.group/
Versions 16.0 17.0 18.0 19.0

How it works

The module adds a Many2many field hidden_menu_ids on res.users pointing to ir.ui.menu, restricted to root menus only. From there it does four things:

1. Resolve blocked models
For each user, the module walks the menu tree under every selected root menu and collects the action models. Models also reachable from a non-blocked menu are excluded, so shared models (res.partner, product.template...) keep working everywhere else. The result is cached per user with ormcache.
2. Empty the lists
_search is overridden so that, when the current user has at least one blocked model, queries against those models return no records. The view still renders — the user just sees the standard empty state.
3. Remove the buttons
List, kanban and form views inherit from base with attributes that disable create, edit, delete, duplicate, import and export when the model is blocked for the user.
4. Block the ORM
create() is overridden to raise AccessError on blocked models, so even an external script using XML-RPC or JSON-RPC cannot bypass the restriction.

What is and is not protected

Behavior Status
Lists / kanban inside a blocked moduleEmpty
New / Edit / Delete / Duplicate buttonsRemoved
Import (Upload) / Export buttonsRemoved
Direct create() via UI or RPC on a blocked modelBlocked (AccessError)
Reading a single record by URLStill governed by standard Odoo security (groups + record rules)
Framework models (ir.*, base.*, res.users, res.groups, res.company...)Never blocked, even if listed under a blocked menu

Key features

  • Per-user configuration: set up directly on the user form, no security groups to create.
  • Granularity by root menu: pick Sales, Purchase, Inventory, Invoicing... selecting a root applies to every exclusive sub-model.
  • Smart scope: shared models (e.g. res.partner, product.template) stay usable from non-blocked menus.
  • Framework-safe: ir.*, base.* and core res.* models are excluded from blocking on principle.
  • ORM-level enforcement: creation is blocked for direct API calls, not only in the UI.
  • Cached and lightweight: blocked-model set is computed once per user and cached with ormcache.
  • Reload, no logout: changes apply on the next page reload.

Installation

  1. Drop the module in your addons path (e.g. /mnt/extra-addons/hide_menus_per_user).
  2. Restart the Odoo server.
  3. Activate developer mode: Settings → Developer Tools → Activate the developer mode.
  4. Go to Apps, click Update Apps List, search for Hide Menus per User (the module is in the Tools category) and install.

Compatibility

Odoo Version Status Notes
Odoo 16.0SupportedViews use <tree> tag.
Odoo 17.0SupportedViews use <tree> tag.
Odoo 18.0SupportedViews use <list> tag.
Odoo 19.0SupportedViews use <list> tag.

FAQ

Why is the menu still visible? I expected it to be hidden.
By design. The user can still navigate to the module, but every list will be empty and there will be no buttons to create, edit or export anything. If you also want the menu itself hidden, combine this module with security groups.

Will the user still be able to read existing records by typing a record URL?
Reading a single record is still controlled by the standard Odoo security layer (groups and record rules). This module focuses on listing, creating and editing. To fully forbid read, also remove the user from the relevant security groups.

Does the change require a logout?
No, a page reload is enough.

Does it impact performance?
Negligible. The set of blocked models is cached per user with ormcache; the override only adds a frozenset membership check on each _search call when the user has at least one blocked module configured.

Can I block submenus only?
No. Restriction is by root menu and applies to every model exclusive to that subtree.

Does it work with multi-company?
Yes. The configuration is per user, so multi-company set-ups are supported transparently.

Enhance your team's security seamlessly.


Desarrollado por HIGA

Soluciones avanzadas para tu ecosistema Odoo.
Visita nuestra web para más información

License: LGPL-3

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with