OdooWiki OCA HUB

Project Roles

project_role folder_open OCA/project open_in_new
Project License: AGPL-3

This module allows maintaining project roster based on roles and assignments. List of roles is configured at company level, while assignments can be created on project, company, and cross-company levels, with configurable inheritance.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Define project roles and assign users to them, either company-wide or per project. Odoo blocks duplicate or conflicting assignments and can restrict which roles a user may take.

This module adds a roster of roles to projects. You first create roles (with an optional parent role to build a hierarchy) under Project Roles, reachable from the Project configuration menu or from the Roles & Assignments section of Project settings.

Assignments link a user to a role, either for a specific project or company-wide (no project). They are managed from the new Assignments menu, from the Assignments button and tab on each project, and can be viewed as list, kanban, pivot or graph. Each assignment has a chatter for messages.

Business rules are enforced automatically: - A user can only be assigned once per role within a project, once per role within a company, and once per role overall when no project or company is set. - Conflicting assignments are refused with an error naming the existing assignment. - A role can only be assigned if it is active; inactive roles cannot be used. - A role cannot be activated while its parent role is inactive. - Role names must be unique per company, and shared roles must have unique names.

Two company-level settings control defaults for new projects: projects can inherit company assignments, and project roles can be limited to existing assignments. Both settings are also available on each project.

Depends on

projectmail

Menus it adds

Assignmentsproject_menu_config_roles
Models and fields (5)
  • res.company · extends an existing modelproject_inherit_assignments (Projects Inherit Assignments), project_limit_role_to_assignments (Limit Project Role to Assignments)
  • project.role · new modelname, active, child_ids (Child Roles), parent_id (Parent Role), company_id (Company), description, parent_path, complete_name
  • project.project · extends an existing modelassignment_ids (Project Assignments), inherit_assignments, limit_role_to_assignments
  • project.assignment · new modelname, active, role_id (Role), user_id (User), company_id (Company), project_id (Project)
  • res.config.settings · extends an existing modelproject_inherit_assignments, project_limit_role_to_assignments

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: 7 confirmed, 2 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 18.0

To configure the list of roles avalable:

  • Go to Project \> Configuration \> Project Roles
  • Add/remove roles according to your business processes

To manage assignments on particular project:

  • Go to Project \> Projects
  • Open project of interest
  • Click on Assignments smart-button
  • Add/remove assignments as needed

To manage assignments:

  • Go to Project \> Assignments
  • Add/remove assignments as needed

Also, it's recommended to consider using web_m2x_options module in order to avoid unneeded creation of roles and projects using Quick Create action by setting the web_m2x_options.create system parameter to False.

No verified information in OCA: Installation, Usage.

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.