Odoo 20 Access Rights: Life After Record Rules

Abstract illustration of access rights as layered filters controlling which records different users can see

Odoo 20 removes record rules entirely and folds record-level filtering into a single ir.access model, where each access right carries its operations plus a domain. This article explains the old two-layer system, the new grant-versus-restriction semantics, the new ir.access.csv format, and a step-by-step migration plan for custom rules.