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. Core
  3. Roles v 19.0
  4. Sales Conditions FAQ

Roles

by Syntax & Sabotage https://praetorx.net , Lars Weiler https://praetorx.net
Odoo

$ 44.79

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Community Apps Dependencies Show
Base
Lines of code 1297
Technical Name praetorx_roles
LicenseOPL-1
Websitehttps://praetorx.net
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Community Apps Dependencies Show
Base
Lines of code 1297
Technical Name praetorx_roles
LicenseOPL-1
Websitehttps://praetorx.net
  • Description
  • License

PraetorX Roles

Role-Based User Group Management with Date-Gated Assignments for Odoo 19

v19.0.1.1.0 Community Enterprise Odoo.sh Additive Sync OPL-1

Stop managing individual group memberships. Define roles as named bundles of permissions, assign users to roles with optional date ranges, and let PraetorX Roles handle the rest — including transitive group resolution, additive sync, and automatic expiry via daily cron.

praetorx.net | Syntax & Sabotage

  • Features
  • Screenshots
  • Setup
  • FAQ
  • Releases

Role Management

Named Role Bundles

Define roles as named collections of Odoo groups. Assign users to roles instead of managing individual group memberships. Update a role’s groups and all assigned users re-sync instantly.

Date-Gated Assignments

Optional valid-from and valid-until dates per user assignment. Access activates and expires automatically at midnight — no admin intervention required.

Additive Sync

Groups outside the role system are never touched. Manually assigned permissions, portal access, and third-party module groups coexist safely alongside role-managed groups.

Transitive Group Resolution

Full implied-group closure is computed automatically. Assign a parent group to a role and all transitively implied groups are resolved and applied without manual configuration.

CSV Bulk Import

Import hundreds of role assignments in seconds. Upload a CSV, preview before applying. Roles are created automatically if they don’t exist, duplicates are skipped with warnings.

Daily Cron Sync

A scheduled action runs every night, recomputes date-based activation, and re-syncs all users. Expired assignments lose their groups automatically. New activations applied without admin action.

How the Sync Engine Works

effective_groups = unmanaged_groups ∪ active_role_groups ∪ {base.group_user}

Unmanaged groups preserved

Groups not referenced by any role are never added or removed by the sync.

Implied closure resolved

Transitive group inheritance is included automatically — no manual configuration needed.

Sync on every change

Assignment CRUD triggers immediate sync. Daily cron handles date-based activation and expiry.

Technical Reference

ComponentDetails
praetorx.roleRole definition — name, groups, resolved groups (implied closure), active user count stat button, archive support
praetorx.role.lineUser assignment — role + user + optional date_from / date_to, computed is_enabled flag
praetorx.role.import.wizardCSV import — columns: role, login, groups (optional), date_from, date_to. Auto-creates roles, skips duplicates
res.usersExtended with role_line_ids — shows all role assignments on the user form
CronDaily sync — recomputes is_enabled for all role lines, re-syncs group memberships system-wide

Use Cases

Seasonal Contractors

Grant warehouse access from Nov 1 to Jan 15 without a reminder to revoke it. The cron handles expiry automatically.

External Auditors

Assign an “Auditor” role scoped to the duration of an engagement. Read-only accounting access, automatically expired.

Future Hires

Pre-configure a new employee’s role assignments before their start date. Access activates on day one.

Team Restructuring

Use the CSV wizard to reassign 200 users in one operation when departments merge or reorganize.

Screenshots

Role Permissions

Role Form — named role with group bundles, resolved groups tab, active user count

Date-Gated Assignments

Date-Gated Assignments — valid-from / valid-until per user, automatic activation and expiry

CSV Bulk Import Wizard

CSV Import Wizard — preview table, auto-create roles, skip duplicates

Setup Guide

Prerequisites
  • Odoo 19.0 (Community or Enterprise)
  • Python 3.10+
  • Required modules: base, praetorx_base
  • No external Python dependencies
  • No external services or API keys

No Enterprise dependency. Works on Community, Enterprise, and Odoo.sh.

Installation

Install from the Odoo Apps menu. Search for “PraetorX Roles” or “Roles”.

Roles requires praetorx_base — this will be installed automatically as a dependency.

Create Your First Role
  1. Navigate to Settings → Users & Companies → Roles
  2. Click New and give the role a name (e.g., “Sales Manager”)
  3. Select the groups this role should grant
  4. Check the Resolved Groups tab to see the full implied-group closure
  5. Click Save
Assign Users
  1. Open a role and go to the Assignments tab
  2. Add users with optional Valid From and Valid Until dates
  3. Groups sync immediately on save

Alternatively, use the CSV Import Wizard (Settings → Users & Companies → Import Roles from CSV) for bulk assignments.

CSV Import Format

Required columns: role (role name), login (user login).

Optional columns: groups (comma-separated XML IDs), date_from and date_to (YYYY-MM-DD format).

Both UTF-8 and Latin-1 encodings are handled automatically.

Security Groups

User: View roles and assignments (read-only).

Manager: Create and edit roles, manage assignments, run CSV import. Admin user is assigned by default.

FAQ

Will this module remove groups I manually assigned?
No. PraetorX Roles uses an additive sync model. Only groups referenced by at least one role are considered “managed.” Groups outside that set are never touched. Manually assigned groups, portal access, and third-party module permissions are fully preserved.
What happens when a date-gated assignment expires?
The daily cron recomputes is_enabled for all role lines and re-syncs group memberships. Expired assignments have their role groups removed at the next cron run. If you need immediate enforcement, trigger a sync manually via the cron action.
Can a user have multiple roles?
Yes. A user can be assigned to any number of roles. The effective group set is the union of all active role groups plus unmanaged groups. Each role assignment can have its own independent date range.
Does this work with Odoo Community Edition?
Yes. PraetorX Roles depends only on base and praetorx_base. It has no dependency on any Enterprise-only module and works on both Community and Enterprise.
What CSV format does the import wizard expect?
Required columns: role (role name), login (user login). Optional columns: groups (comma-separated XML IDs to add to the role), date_from and date_to (YYYY-MM-DD format). Both UTF-8 and Latin-1 encodings are handled automatically.
Does PraetorX Roles have any performance impact?
Sync is lightweight — it computes the set union of role groups and writes the result to res.users. The daily cron processes all role lines in a single batch. There is no observable performance impact at typical user counts (hundreds to thousands).
What happens if I uninstall PraetorX Roles?
Users retain whatever groups they had at the time of uninstallation. The role definitions and assignment records are removed, but group memberships on users are not modified during uninstall.

Release History

v19.0.1.1.0 — April 2026

Current Release

  • i18n: all source strings converted from German to English
  • German translations provided via i18n/de.po
  • Geschlechtergerechte Sprache preserved in German translations

v19.0.1.0.0 — March 2026

Initial Release

  • Role definitions with named bundles of res.groups
  • Date-gated assignments — optional valid-from / valid-until per user
  • Automatic group sync on assignment changes
  • Full implied-group closure (transitive resolution)
  • Additive sync — unmanaged groups never touched
  • Daily cron for date-based activation and expiry
  • CSV import wizard with preview, auto-create, and duplicate detection
  • Resolved groups preview tab on role form
  • Active user count stat button with drilldown
  • Archive support for roles
  • 18 automated tests (CRUD, date logic, sync)

You May Also Like

PraetorX Shell Works with Roles

Branded backend theme with sidebar, home tiles, activity dashboard, and per-role color theming.

Free
Cockpit

Role-based tile dashboard — counters, queues, charts, actions, and real-time updates.

Free
PraetorX Base

Reusable technical patterns, shared security groups, and menus for PraetorX modules. Required dependency.

Free
MCP Security

Model Context Protocol security — API access control and audit logging.

Free

Made with ♥ by Syntax & Sabotage

© 2026 Syntax & Sabotage, Lars Weiler. All rights reserved. OPL-1.

Impressum · support@syntaxandsabotage.io

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

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 or have a question related to your purchase, please use the support page.
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