- Home
- Apps
- SaaS Tools
- Role & Group Access Designer
Illustrative previewA build-to-order Odoo module that turns raw security groups into job-based business roles,
assigns them across users in a bulk matrix, and clones one user's access onto many.
ECOSIRE designs, builds, and installs it to your access model — it is not an off-the-shelf download.
What is Role & Group Access Designer?
A build-to-order Odoo module that turns raw security groups into job-based business roles, assigns them across users in a bulk matrix, and clones one user's access onto many. ECOSIRE designs, builds, and installs it to your access model — it is not an off-the-shelf download. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
Odoo's native access control is powerful but atomic: permissions are scattered across dozens of individual security groups, and there is no first-class notion of a "job role." When a warehouse lead or an AP clerk joins, an admin opens each user form and hand-ticks the right combination of groups from memory, then repeats the guesswork for the next hire. res.groups inheritance means one wrong checkbox silently grants far more than intended, ir.model.access.csv and record rules become impossible to reason about at a glance, and there is no bulk way to onboard twenty people to the same access profile or to see who is over-privileged. Odoo core gives you the raw groups; it gives you no way to manage access the way the business actually thinks about it — by function.
Role & Group Access Designer is a made-to-order Odoo module that ECOSIRE builds on base and web to add a role abstraction layer on top of res.groups. We introduce a res.role model whose many2many bundles the exact security groups that define a business function — 'Warehouse Lead', 'AP Clerk', 'Sales Manager' — and a compute method (@api.depends on the role's group set) that recomputes each assigned user's effective groups_id automatically, so ir.model.access and record rules stay clean and derived rather than hand-maintained. The build includes a bulk user-to-group matrix view (OWL/JS client action over a server-side read) with multi-select, filtering, and inline toggles; a clone-access action that copies every group from a source user onto one or many targets in a single call; and an implied-groups visualizer that walks the inheritance graph so an admin sees the full effective permission set behind any user or role, not just the boxes they ticked.
Beyond the core, we build the operational guardrails that make access governance auditable. Time-bound roles carry optional start/end dates and an ir.cron scheduled action that auto-revokes expired temporary access; a diff view compares two users' or two roles' group membership side by side; and an orphan/over-privileged detector flags anyone sitting in base.group_system or technical groups, or holding no role at all. Every grant is written to a full assignment audit trail (who assigned which role to whom, and when), and a role-template library with export/import — serialized as XML data or pushed via the JSON-RPC/XML-RPC API — lets you deploy the same role set across staging, production, and multiple databases. In multi-company environments, role assignment is company-scoped so a user's function can differ per company. Everything is delivered in both Community and Enterprise flavors and targets Odoo 17.0, 18.0, and 19.0.
Because this is build-to-order, we start with a short scoping call to map your existing groups, job functions, and multi-company topology, then confirm a fixed scope and quote before writing a line of code. We build against your target Odoo version, deliver on a staging database for UAT, and only cut over to production once you have signed off — typical delivery is one working week from confirmed scope. You receive the full source, git repo handover, and a defined post-go-live support window. Pricing starts from $999 (indicative, single-company base scope); multi-company role scoping, heavier group inheritance graphs, cross-database template syncing, and integration with an external IdP or SSO provisioning flow increase the quoted scope.
What you get
- Installable, version-pinned source code for your build, targeting your chosen Odoo 17.0 / 18.0 / 19.0 edition
- Installation and configuration on your environment, including initial role definitions mapped from your current groups
- Technical documentation covering the data model, compute logic, scheduled actions, and API endpoints
- End-user guide plus a live training session for your admins and consultants
- UAT on a staging database with a documented rollback plan before production cutover
- Defined post-go-live support window for defect fixes and configuration questions
- Git repository handover with full commit history and branch/tag structure
- Seed set of role templates (export/import files) for your common job functions
Who this is for
HR-adjacent access administrator
Owns onboarding and offboarding for dozens to hundreds of employees and needs to grant the right access by job function in minutes, not by hand-ticking groups per user. Wants roles, a bulk matrix, and clone-access so a new warehouse hire gets exactly the same access as the last one.
Odoo implementation consultant
Deploys the same access model across multiple client databases and staging/production environments. Needs exportable role templates, a diff view to reconcile drift between databases, and a clean role abstraction that survives migrations across Odoo 17/18/19.
IT security and compliance lead
Accountable for who can access what and for proving it during audits. Wants the over-privileged/orphan detector, the full assignment audit trail, time-bound temporary access that auto-expires, and an effective-access report to sign off against.
Multi-company operations manager
Runs several legal entities in one Odoo database where the same person may hold different functions per company. Needs company-scoped role assignment and a clear view of each user's effective permissions per `res.company`.
How Role & Group Access Designer Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Job-based roles | First-class `res.role` bundling groups by function | Possible, but you design and maintain the abstraction yourself | Some offer a role concept; fit and depth vary | None — only individual security groups |
| Bulk assignment | OWL user-to-group matrix with multi-select and inline toggles | Build the UI and batching from scratch | Often list-based, rarely a true editable matrix | One user form at a time, manual checkboxes |
| Clone access | Copy a user's full group set onto many targets in one action | Scriptable, but you write and test the logic | Sometimes single-target duplication only | No clone — re-tick every group by hand |
| Over-privileged detection | Flags admin/technical-group and no-role users automatically | Requires custom queries and a reporting view | Rarely included | No detection — manual inspection only |
| Time-bound access | Start/end dates with `ir.cron` auto-revocation | Build the model field and scheduled action yourself | Uncommon; expiry usually manual | No expiry — access persists until removed |
| Audit trail | Full record of who assigned which role, to whom, when | You design the logging model and views | Varies; often partial or absent | No dedicated access-assignment audit log |
| Cross-database templates | Export/import role templates across staging and prod | Hand-roll XML data or migration scripts | Rarely supported out of the box | No template concept for reusing role sets |
| Delivery & fit | Built to your model, UAT on staging, source + support | Full in-house build, longer and higher risk | Generic install; you adapt to its assumptions | Included, but no role tooling to configure |
Frequently Asked Questions about Role & Group Access Designer
Is this an app I can download and install today?
No. Role & Group Access Designer is built to order. ECOSIRE designs and builds it against your specific groups, job functions, and Odoo version, then installs it for you. It is not an existing apps.odoo.com download, and we never ship a generic binary — every build is scoped to your access model.
How long does delivery take?
Typical delivery is one working week from confirmed scope. After the scoping call we agree on the exact role model and features, you approve a fixed quote, then we build against your target Odoo version, deliver on a staging database for UAT, and cut over to production once you sign off. Larger multi-company or IdP-integrated scopes may extend the timeline, which we confirm up front.
How does pricing and scoping work?
Pricing starts from $999 as an indicative from-price for a single-company base scope. It is not a fixed final price. After a short scoping call we send a fixed written quote based on your actual requirements — multi-company role scoping, complex group inheritance, cross-database template syncing, and SSO/IdP integration increase the quoted scope. You approve the fixed quote before we start building.
What happens to support and updates after go-live?
Every build includes a defined post-go-live support window for defect fixes and configuration questions, plus full source and git repo handover so your team can maintain it. Version upgrades (for example moving your build from Odoo 18.0 to 19.0) or new feature work are quoted separately as a follow-on engagement.
Will it work with my existing security groups and record rules?
Yes. The module layers a role abstraction on top of your existing `res.groups` — it does not replace them. Roles bundle the groups you already have, and assigning a role recomputes each user's effective `groups_id`, so your `ir.model.access.csv` entries and record rules keep working. During scoping we map your current groups to business roles so nothing is lost.
Does it support multi-company and both Community and Enterprise?
Yes. Role assignment can be scoped per `res.company`, so the same user can hold different functions in different companies. We build for both Community and Enterprise editions, respecting the group definitions that differ between them, and target Odoo 17.0, 18.0, or 19.0 as you specify.
Can external systems assign roles automatically?
Yes. The role and assignment models are exposed over Odoo's JSON-RPC/XML-RPC API, so an external HR system or identity provider can create roles, assign them, and read effective access programmatically. Provisioning integrations are scoped as an add-on and confirmed in the quote.
Related Modules

RingCentral SMS for Odoo CRM
A build-to-order Odoo CRM extension that sends, receives, and threads RingCentral SMS conversations against contacts and leads — with templates, bulk send, opt-out handling, and delivery tracking logged to the chatter. ECOSIRE builds, installs, and supports it after you request a quotation.

RingCentral Telephony Connector for Odoo
A build-to-order Odoo connector that ties your RingCentral phone system into CRM, Contacts and Helpdesk — click-to-dial, incoming-call screen-pop, and automatic call logging against the right record. ECOSIRE builds, installs and supports it after a short scoping call.

Sale Invoice – Exclude Salesperson
A build-to-order Odoo module that prevents the salesperson linked to a sales order or customer from being automatically subscribed as a follower on the resulting invoice. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17.0, 18.0, or 19.0 instance.
Role & Group Access Designer
A build-to-order Odoo module that turns raw security groups into job-based business roles, assigns them across users in a bulk matrix, and clones one user's access onto many. ECOSIRE designs, builds, and installs it to your access model — it is not an off-the-shelf download.
- `res.role` model bundling any number of `res.groups` into one named business role, with a compute method that recomputes each user's effective `groups_id` on assignment via `@api.depends`
- Automatic effective-group recomputation that keeps `ir.model.access` and record rules derived from roles rather than hand-edited per user
- Bulk user-to-group assignment matrix — an OWL/JS client action with multi-select rows, group-column filtering, and inline toggles that write in batched ORM calls
- Clone-access action that copies the complete `groups_id` set of one source user onto one or many target users in a single confirmed operation
