Skip to main content
Advance Access Management — A build-to-order Odoo access-control layer that adds field-level permissions, role-based profiles — 1/1Illustrative preview

A build-to-order Odoo access-control layer that adds field-level permissions,

role-based profiles, and granular record rules on top of Odoo's native security model.

ECOSIRE scopes, builds, installs, and supports it for your exact org structure.

What is Advance Access Management?

A build-to-order Odoo access-control layer that adds field-level permissions, role-based profiles, and granular record rules on top of Odoo's native security model. ECOSIRE scopes, builds, installs, and supports it for your exact org structure. 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

Field-level access policies per model and field with view / edit / deny modes, enforced server-side via ORM `read`, `write`, and `fields_get` overrides — not just UI hiding
Role / permission-profile abstraction that bundles model ACLs, record rules, field policies, menu visibility, and export rights into one assignable unit
Dynamic view adaptation: injects computed `readonly` and `invisible` modifiers into form/list/kanban XML so restricted fields never render for unauthorized users
QWeb report masking so field-level restrictions also apply to printed PDFs and downloadable reports, not only on-screen views
Programmatic generation of `ir.rule` record rules from role definitions for row-level scoping (own records, team, company, custom domains)
Menu, action, and button visibility control tied to roles, keeping restricted workflows out of the UI entirely for unentitled users
Immutable audit-log model capturing every access-relevant change with user, timestamp, model/field, and old/new values for compliance review
Export and import gating so users with read access can still be blocked from bulk-exporting sensitive datasets via the list-view export
`@api.constrains` guards preventing privilege-escalation conflicts (e.g. a role granting write on a field it denies read on)
Multi-company aware policies so a role can carry different field and record rules per `res.company`
XML-RPC / JSON-RPC endpoints for provisioning and de-provisioning roles from an external IdP, SSO, or HR system
Effective-permission viewer: a screen that resolves and shows exactly what a given user can see and do across models, for audit and troubleshooting
Time-bound or delegated access grants via automated actions that expire elevated permissions on schedule
Built and tested against Odoo 17.0, 18.0, and 19.0, Community or Enterprise, with clean module dependencies declared in `__manifest__.py`

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 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

Most teams hit the same wall as their Odoo footprint grows: the native security model gives you ir.model.access.csv (create/read/write/unlink per group) and record rules for row-level scoping, but it has no concept of hiding or read-only-ing an individual field by role, no reusable "permission profile" you can assign to a job function, and no built-in audit trail of who changed what access when. So sensitive data — supplier cost prices, salary fields on hr.employee, bank details on res.partner, margins on sale lines — ends up visible to anyone with model access, and access design drifts into a sprawl of one-off groups that nobody can reason about at audit time. This is a real governance and compliance gap, not a cosmetic one.

Advance Access Management is a build-to-order module ECOSIRE designs and builds for your instance to close that gap. At its core it introduces a field-level access layer: per model and per field, you define which roles can view, edit, or are denied a field, enforced both server-side (via ORM read/write/fields_get overrides and computed readonly/invisible modifiers injected into views) and reflected in the UI (XML/OWL view adaptation and QWeb report masking) so restricted data never reaches an unauthorized user's browser or PDF. On top of that we build a role/permission-profile abstraction — a role bundles model ACLs, record rules, field policies, menu and action visibility, and export/import rights into one assignable unit, so onboarding a new "Warehouse Supervisor" or "AP Clerk" is one assignment instead of a dozen group toggles.

Technically this is delivered as a clean, dependency-declared module: new models (models.Model with fields, @api.depends computes, and @api.constrains guards) hold the role and field-policy definitions; the enforcement rides on ORM method overrides and dynamically generated ir.rule records rather than monkey-patching, so upgrades stay safe. Automated actions and server actions can react to access events, an audit log model captures every access-relevant change with user, timestamp, and old/new values, and the whole policy surface is reachable over XML-RPC/JSON-RPC for provisioning from your IdP or HR system. We respect Community vs Enterprise boundaries — nothing depends on Enterprise-only modules unless your instance already runs them — and we build against your target series among Odoo 17.0, 18.0, and 19.0.

Because it is build-to-order, nothing ships until we agree on scope. It starts with a short scoping call to map your roles, the models and fields that matter, and your compliance requirements; we then confirm a fixed quote, build on a staging copy of your database, run UAT with your team, and cut over with a rollback plan. Typical delivery is one working week from confirmed scope. You receive the full installable source and the git repository — this is your module, not a rented black box.

Pricing starts from $999 (indicative, single-company base scope); multi-company rule sets, deeper field coverage across many models, IdP/HR provisioning integrations, and localization or migration of existing group structures increase the quoted scope. We give you a firm fixed quote after the scoping call — never a surprise on delivery.

What you get

  • Installable source code for your Odoo version (17.0 / 18.0 / 19.0), Community or Enterprise, as a clean dependency-declared module
  • Installation and configuration on your staging then production instance, including initial role and field-policy setup for your key job functions
  • Technical documentation: data model, enforcement architecture, ir.rule generation logic, and XML-RPC/JSON-RPC provisioning reference
  • Administrator user guide plus a live training session for the team who will own role and permission management
  • Post-go-live support window for bug fixes and access-policy adjustments after cutover
  • UAT on a staging copy of your database with a documented test matrix and a rollback plan before production cutover
  • Handover of the git repository with full commit history so the module is yours to maintain or extend
  • Audit-log configuration and a walkthrough of the effective-permission viewer for your compliance or security reviewer

Who this is for

Odoo System Administrator / Internal IT

Owns the instance and is drowning in one-off security groups. Needs reusable role profiles, an effective-permission viewer, and a way to grant onboarding access in one assignment instead of a dozen toggles — without hand-editing ir.model.access.csv every time.

Compliance / Internal Audit Lead

Answerable to auditors for segregation of duties and data access. Needs field-level restriction on sensitive data (salaries, costs, bank details), an immutable audit trail of access changes, and a clear report of who can see what.

Finance / HR Operations Manager

Runs a department where clerks must process records without seeing margins, cost prices, or colleagues' pay. Needs field-level read/edit control and export gating so day-to-day work continues while sensitive fields stay masked.

CIO / Head of ERP at a multi-entity group

Runs Odoo across several companies and wants consistent, provisioning-driven access governance. Needs multi-company-aware roles and XML-RPC/JSON-RPC hooks to sync entitlements from an IdP or HR system.

How Advance Access Management Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Field-level access (per field, per role)Built in: view / edit / deny enforced at ORM and view layerPossible but you design and maintain the enforcement yourselfVaries; often UI-only hiding that data can bypassNot supported — access is model-level, not field-level
Reusable role / permission profilesRoles bundle ACLs, rules, field policies, menus in one unitWhatever you choose to build; usually ad-hocSometimes offered, rarely tailored to your job functionsManual security groups, assigned individually
Audit trail of access changesImmutable log with user, timestamp, old/new valuesOnly if you scope and build itRarely included or limitedNone built in for access changes
Fit to your org structureScoped to your exact roles, models, and compliance needsFully bespoke but you carry the design burdenGeneric; you adapt your process to the appGeneric primitives you must assemble yourself
PDF / export enforcementQWeb masking + export gating server-sideMust be built and tested per reportOften missing — restrictions stop at the screenNo field-level report or export control
Ownership and maintainabilityFull source + git repo handover; clean, upgrade-safe moduleYou own it, but quality depends on the builderVendor-locked black box; limited source visibilityN/A — it is Odoo core
Support and deliveryScoping call, UAT on staging, rollback plan, support windowDepends on your team or contractor availabilityTicket-based, no tailoring to your instanceSelf-managed; community forums only
Version coverageBuilt for your target: Odoo 17.0, 18.0, or 19.0Whatever you build forMay lag latest series or force upgradesShips with each Odoo release

Frequently Asked Questions about Advance Access Management

Is this an app I can download and install today?

No. Advance Access Management is build-to-order: ECOSIRE designs, builds, installs, and supports it for your specific Odoo instance and org structure. It is not an existing apps.odoo.com download, so there is no instant-download link. You get the full source and git repository once it is built for you.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The timeline starts once we have completed the scoping call, agreed the roles/fields/models in play, and you have approved the fixed quote. Larger scopes — many models, multi-company, or IdP provisioning — sit toward the upper end or are staged into phases.

How does pricing and scoping work?

Pricing starts from $999 as an indicative figure for a single-company base scope. It is not a fixed price: after a short scoping call we send a firm fixed quote reflecting your actual field coverage, number of roles, multi-company needs, integrations, and any migration of existing groups. You approve the quote before we build.

Why not just use Odoo's native groups and record rules?

Native security handles model-level ACLs (`ir.model.access.csv`) and row-level record rules well, but it has no field-level view/edit/deny by role, no reusable role profiles, and no built-in audit trail. This module adds that layer on top of the native model — it complements Odoo core rather than replacing it.

Which Odoo versions and editions do you support?

We build and test against Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. The module declares clean dependencies in `__manifest__.py` and does not require Enterprise-only modules unless your instance already runs them. Tell us your version and edition on the scoping call.

What happens after go-live for support and updates?

Every build includes a post-go-live support window for bug fixes and access-policy adjustments. Because you receive the full source and git repository, you can also maintain it yourself. We offer ongoing support and upgrade-to-next-version engagements as a separate agreement when you want us to keep it current.

Will restricted fields leak in exports or PDF reports?

No. Enforcement is server-side at the ORM layer, so restrictions apply to on-screen views, list-view exports, and QWeb PDF reports alike. We also gate the bulk-export action so a user with read access can still be blocked from exporting sensitive datasets.

Request a quote

Advance Access Management

A build-to-order Odoo access-control layer that adds field-level permissions, role-based profiles, and granular record rules on top of Odoo's native security model. ECOSIRE scopes, builds, installs, and supports it for your exact org structure.

  • Field-level access policies per model and field with view / edit / deny modes, enforced server-side via ORM `read`, `write`, and `fields_get` overrides — not just UI hiding
  • Role / permission-profile abstraction that bundles model ACLs, record rules, field policies, menu visibility, and export rights into one assignable unit
  • Dynamic view adaptation: injects computed `readonly` and `invisible` modifiers into form/list/kanban XML so restricted fields never render for unauthorized users
  • QWeb report masking so field-level restrictions also apply to printed PDFs and downloadable reports, not only on-screen views

Request a Quotation

Tell us about your Advance Access Management requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.