Access Rights Bulk Edit
Grant or revoke model access rights for many groups and models at once, with the exact list of changes shown before anything is saved
The video below shows Access Rights Bulk Edit running on a real Odoo 19 database. Want it driven against your own data, or a question answered first? Ask and we will set up a session.
Odoo keeps model access rights in a flat list thousands of rows long. Granting one group read on twelve models means finding twelve rows by search. Revoking is worse, because the row you need may not exist yet - and a missing row looks exactly like a row that grants nothing.
Pick the groups, pick the models, tick the permissions. Then read what it is about to do.
Every row it would create or change, named, before a single one is written.
What it does
Grant and revoke, not set
A permission you did not tick is left alone. Granting read does not quietly remove a write somebody already had - which is the failure mode of every matrix-shaped editor that saves the whole row.
It refuses the mistake the row count hides
Revoking the last group holding a permission on a model leaves only the superuser able to do it. Every row in that change looks reasonable on its own; only the total says what happened. The plan names those models, and applying is refused until you say it was deliberate.
A stale plan cannot be applied
Change the groups, the models, the operation or the permissions after working it out, and Apply is blocked until it is worked out again. A list on screen that describes a different change is worse than no list.
Revoking what was never granted writes nothing
An absent row already grants nothing, so creating one to say so would add a row that does not do anything. Those pairs are counted as already correct instead.
It writes ordinary access rights
Plain ir.model.access rows, nothing wrapped or intercepted. Uninstall the app and every right you granted stays exactly where it is. Each change keeps a note of who asked and when.
Screenshots

Requirements
- Odoo 19.0, Community or Enterprise.
- Odoo.sh or On-Premise only. Third-party apps cannot be installed on Odoo Online (SaaS) databases — check your hosting before buying.
- Odoo 19 Community or Enterprise, no other module needed. It grants access to a model, not to particular records or fields - which rows a user sees is Record Rule Preview , which columns they may read is Field Access Rules .
- Module
mh_access_rights_bulk, version 19.0.1.0.13, licensed OPL-1.
Related apps
Move Odoo attachments out of the filestore into a Google Drive folder, using Odoo 19 own cloud storage migration - Drive is the provider Odoo does not ship
Hide or lock any field for the groups you choose, on any model, enforced by the server and not just hidden in the form view
Write a record rule and see how many records it actually leaves a chosen user, counted for real before you save it