Skip to main content
Warehouse Access Management — A build-to-order Odoo module that restricts which warehouses each user can see and act in, enfo — 1/1Illustrative preview

A build-to-order Odoo module that restricts which warehouses each user can see and act in,

enforced at the record-rule level across inventory operations.

ECOSIRE designs, builds, installs, and supports it against your exact warehouse and role structure.

What is Warehouse Access Management?

A build-to-order Odoo module that restricts which warehouses each user can see and act in, enforced at the record-rule level across inventory operations. ECOSIRE designs, builds, installs, and supports it against your exact warehouse and role 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

User-to-warehouse assignment via a many2many on res.users, with an optional per-user default warehouse for new operations
Record-rule (ir.rule) enforcement on stock.picking, stock.move, stock.quant, and stock.location so restrictions hold in views, search, and the RPC API
Computed allowed-warehouse and allowed-location ID sets via @api.depends, keeping rules consistent as assignments change
Granular security groups separating view, create/transfer, validate, and inventory-adjust rights per warehouse
ir.model.access.csv access matrix generated for your exact role structure, no over-broad Inventory/User grants
Source and destination location filtering in transfer and internal-move flows so stock cannot be routed to unassigned sites
Inventory adjustment scoping so counts and quant edits are only possible in a user's assigned warehouses
Optional access-log model recording out-of-scope attempts, exposed as a filterable list view
Automated actions (base.automation) to alert managers when a restricted operation is attempted
Warehouse-aware view adjustments (XML/OWL) that hide or pre-filter warehouse and location selectors
Optional QWeb audit report summarizing user-to-warehouse assignments and access events
Manager override group for supervisors who legitimately need cross-warehouse visibility
Company- and multi-company-aware rules that respect record-rule global vs. group semantics
Built and tested for Odoo 17.0, 18.0, or 19.0 on Community or Enterprise, packaged as a versioned upgrade-safe addon

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

Once your Odoo inventory spans more than one warehouse, the native access model starts to leak. Out of the box, Odoo scopes stock through the stock.warehouse and stock.location models, but a user with the Inventory / User group can generally see and transact against every warehouse in the company. There is no built-in "this operator only works in the Karachi DC" boundary — pickers see other sites' operations, transfer wizards list every source location, and inventory adjustments can be posted anywhere. For multi-site operations, third-party logistics, or franchise networks this is both an operational nuisance and a genuine control and audit risk.

Warehouse Access Management is a made-to-order module ECOSIRE builds to close that gap. We introduce an explicit user-to-warehouse assignment (typically a many2many from res.users to stock.warehouse, plus an optional default warehouse per user) and enforce it with Odoo ir.rule record rules on the core stock models — stock.picking, stock.move, stock.quant, stock.location, and inventory adjustments — so a user only ever sees, creates, or validates operations for their assigned sites. The rules are written against a computed set of allowed warehouse and location IDs so they hold consistently in list views, form views, search filters, reports, and the XML-RPC/JSON-RPC API alike — not just the UI. We layer group-based operation gating (view vs. transact vs. validate vs. adjust) on top via ir.model.access.csv and dedicated security groups, and we can constrain the source/destination location selection in transfer and internal-move flows so users cannot route stock outside their remit.

Technically, the build is a clean, upgrade-safe addon: a versioned __manifest__.py, model extensions using models.Model inheritance and @api.depends computed fields for the allowed-warehouse set, security groups and record rules in data XML, adjusted views (XML/OWL) that hide or filter warehouse selectors, and optional QWeb report footers or automated actions (base.automation) to log and alert on out-of-scope access attempts. Every access decision is auditable — we can wire an access-log model and expose it as a filterable list plus an optional QWeb report. The module is delivered for your target Odoo series (17.0, 18.0, or 19.0) and is written to respect Community vs. Enterprise differences in the inventory app so the same access boundaries apply whichever edition you run.

Delivery is build-to-order, not an instant download. It starts with a scoping call where we map your warehouses, roles, and the exact operations each role may perform, then we confirm scope in writing. Typical delivery is one working week from confirmed scope, depending on how many role/warehouse combinations, edge-case flows (drop-ship, inter-warehouse transfers, returns), and existing customizations we must account for. You receive the installable source, install and configuration on your environment, documentation, a training session, and a post-go-live support window. Pricing starts from $999 (indicative, single-company base scope); additional warehouses, complex multi-company or inter-company routing, deeper operation-level gating, and integration with existing custom inventory modules increase the quoted scope.

What you get

  • Installable source code for the module, built for your target Odoo series (17.0, 18.0, or 19.0)
  • Installation and configuration on your staging and production environments, including security-group setup
  • Technical documentation covering the data model, record rules, security groups, and configuration points
  • End-user guide plus a live training session for administrators and warehouse leads
  • UAT on a staging copy with a documented test matrix and a rollback plan before go-live
  • Post-go-live support window for defect fixes and configuration questions
  • Git repository handover with tagged release and commit history
  • Configuration worksheet mapping every user, role, and warehouse to its permitted operations

Who this is for

Multi-site inventory manager

Runs Odoo across several warehouses or distribution centers and needs each site's team confined to its own operations, with clear cross-site visibility reserved for supervisors.

Third-party logistics / fulfillment operator

Handles stock for multiple clients or brands in one Odoo database and must guarantee that each client's operators can only see and touch their own warehouse and quantities.

Compliance and internal-controls lead

Needs enforceable, auditable segregation of duties on inventory — who can view, transfer, validate, and adjust stock at each location — that survives at the record and API level, not just the UI.

Odoo administrator / ERP owner

Manages the Odoo environment and wants a clean, upgrade-safe module using standard ir.rule and ir.model.access.csv rather than brittle ad-hoc customizations they have to maintain.

How Warehouse Access Management Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Warehouse-level access boundaryExplicit user-to-warehouse assignment enforced by record rulesPossible but you design and maintain the rule logic yourselfGeneric warehouse restriction, often UI-only or fixed modelInventory/User group generally sees all warehouses
API / RPC enforcementHolds at record-rule level across XML-RPC and JSON-RPCDepends on how carefully rules are writtenFrequently only filters the UI, not the APINo per-warehouse boundary to enforce
Operation-level gating (view/transfer/validate/adjust)Separate security groups per operation, mapped to your rolesBuildable, but adds significant design effortUsually a single all-or-nothing restrictionCoarse inventory groups only, not per-warehouse
Fit to your exact role structureAccess matrix built from your scoping worksheetFully bespoke but on your time and budgetFixed feature set you must adapt toStandard groups, no site-specific tailoring
Audit and out-of-scope loggingOptional access-log model plus QWeb report and alertsOnly if you scope and build itRarely includedGeneral log/audit only, not access-scoped
Upgrade safety and maintainabilityClean addon with versioned manifest and git handoverQuality varies with the developerDepends on the vendor's release cadenceN/A — no module to maintain
Support and version migrationPost-go-live window plus 17/18/19 upgrade servicesWhoever built it, if still availableMarketplace support, variable responsivenessCovered by your Odoo subscription only
Total cost profileIndicative from $999, fixed quote after scopingTypically the highest — full bespoke buildLow sticker price, limited fit and supportIncluded, but does not solve the requirement

Frequently Asked Questions about Warehouse Access Management

Is this an existing app I can download and install right now?

No. Warehouse Access Management is build-to-order. ECOSIRE designs and builds it against your specific warehouses, roles, and operation rules, then installs and supports it. There is no instant download — the value is a module that fits your exact access model rather than a generic toggle.

How long does delivery take?

Typical delivery is one working week from confirmed scope. After the scoping call we document your warehouse-and-role matrix and edge cases, you confirm it in writing, and the build starts. Timeline depends on the number of role/warehouse combinations and any existing inventory customizations we must integrate with.

How does pricing and scoping work?

Pricing starts from $999 as an indicative figure for a single-company base scope. We give you a fixed quote only after the scoping call, once the warehouse count, role complexity, operation-level gating, and multi-company needs are known. The from-price is a starting point, not a firm final price.

Does the restriction only hide things in the interface, or is it real enforcement?

It is real enforcement. Access is applied through Odoo record rules (ir.rule) and the ir.model.access.csv matrix on the core stock models, so the boundary holds in list and form views, search filters, reports, and the XML-RPC/JSON-RPC API. A restricted user cannot reach another warehouse's records even through the API.

Which Odoo versions and editions do you support?

We build for Odoo 17.0, 18.0, and 19.0, on Community or Enterprise. The module is written to respect the differences between editions in the inventory app so the same access boundaries apply whichever you run. We confirm your exact series and edition during scoping.

What about support and updates after go-live?

Every build includes a post-go-live support window for defect fixes and configuration questions. Beyond that we offer ongoing support and version-upgrade services — for example migrating the module when you move to a newer Odoo series — quoted separately. You also receive the git repository so your own team can maintain it.

Can supervisors still see across all warehouses?

Yes. We include a manager override group so designated supervisors, auditors, or administrators retain cross-warehouse visibility while front-line operators stay confined to their assigned sites. The exact override rights are defined with you during scoping.

Request a quote

Warehouse Access Management

A build-to-order Odoo module that restricts which warehouses each user can see and act in, enforced at the record-rule level across inventory operations. ECOSIRE designs, builds, installs, and supports it against your exact warehouse and role structure.

  • User-to-warehouse assignment via a many2many on res.users, with an optional per-user default warehouse for new operations
  • Record-rule (ir.rule) enforcement on stock.picking, stock.move, stock.quant, and stock.location so restrictions hold in views, search, and the RPC API
  • Computed allowed-warehouse and allowed-location ID sets via @api.depends, keeping rules consistent as assignments change
  • Granular security groups separating view, create/transfer, validate, and inventory-adjust rights per warehouse

Request a Quotation

Tell us about your Warehouse 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.