OdooWiki OCA HUB

User profiles

base_user_role_profile folder_open OCA/server-backend open_in_new
Tools License: AGPL-3

Extending the base_user_role module, this one adds the notion of profiles. Effectively profiles act as an additional filter to how the roles are used.

This allows users to switch their permission groups dynamically. This can be useful for example to:

  • finer grain control on menu and model permissions (with record rules this becomes very flexible)
  • break down complicated menus into simpler ones
  • easily restrict users accidentally editing or creating records in O2M fields and in general misusing the interface, instead of excessively explaining things to them

When you define a role, you have the possibility to link it to a profile. Roles are applied to users in the following way:

  • Apply user's roles without profiles in any case
  • Apply user's roles that are linked to the currently selected profile

In addition you can:

  • Add a 'no profile' profile to the user's choice of profile, to allow him to select a specific profile which enables only the roles without a profile.
  • Restrict the user to change its profile, which can be useful in a security emergency.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Lets administrators group roles into profiles and lets users switch between their allowed profiles from the top bar, so the active roles (and therefore menus and permissions) change instantly.

This module adds a new concept called a profile on top of the existing roles system. A profile is a named container (for example "Sales" or "Accounting") that you can attach to roles. On the user form you now see the currently allowed profiles, the current profile, a switch to include the default "No profile" option, and a security switch that locks a user into their current profile.

  • Administrators manage profiles under a new "User Profiles" menu inside the Users area, where they can create, order and rename profiles and see which users are allowed to use them.
  • On each role you can pick a profile; roles without a profile always apply, while roles linked to a profile only apply when that profile is the user's current one.
  • Users with more than one allowed profile get a profile switcher in the top bar (also reachable with the Alt+Shift+P shortcut). Choosing a profile reloads the menu and applies only the roles of that profile plus the roles that have no profile.
  • The list of allowed profiles is computed automatically from the user's role lines, and the current profile is adjusted automatically if it is no longer allowed.
  • A "No profile" profile is created by default and existing users are assigned to it when the module is installed.

The module touches res.users, res.users.role, res.users.role.line and adds the new res.users.profile model.

Depends on

Required by other modules

Menus it adds

menu_action_res_users_profile_tree
Models and fields (5)
  • ir.http · extends an existing model
  • res.users · extends an existing modelprofile_id, profile_ids (Currently allowed profiles), include_default_profile, restrict_profile_switching
  • res.users.role · extends an existing modelprofile_id
  • res.users.profile · new modelname, role_ids (Roles), sequence, user_ids (Allowed users)
  • res.users.role.line · extends an existing modelprofile_id

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 3 confirmed, 6 with no information of 9 versions.

Sources · Odoo 12.0

Confirmed on 2026-11-03 in branch 12.0 of OCA/server-backend.

terminal Installation and usage

OCA documentation · Odoo 18.0

To configure this module, you need to go to Configuration / Users / Profiles, and create a new profile.

Then go to Configuration / Users / Roles and set some roles with a profile.

Then go to Configuration / Users / Users and add some roles if not already done. The allowed profiles will computes automatically.

In addition you can:

  • Check the "Include Default Profile" box to have the default profile as an allowed profile.
  • Change the current profile if needed.
  • Check the "Restrict Profile Switching" to restrict the user to change it's profile, in that case you can still change it from the user's settings form.

Once you have set up at least one profile for a user, use the widget in the top bar to switch user profiles. Note that it is possible to use no profile; in this case, the user will only get the roles that always apply (i.e the ones with no profile_id).

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.