Saltar al contenido principal
Los detalles del producto se muestran en inglés. Próximamente traducciones.
Warehouse Restriction for User — A build-to-order Odoo module that restricts which warehouses and stock locations each user c — 1/1Vista previa ilustrativa

A build-to-order Odoo module that restricts which warehouses and stock locations each user can see and transact against.

ECOSIRE scopes, builds, installs, and supports it — it is not an off-the-shelf download.

¿Qué es Warehouse Restriction for User?

A build-to-order Odoo module that restricts which warehouses and stock locations each user can see and transact against. ECOSIRE scopes, builds, installs, and supports it — 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.

Características clave

Many2many linking `res.users` to allowed `stock.warehouse` records, with optional per-`stock.location` granularity for finer control
Enforcement via `ir.rule` record rules on `stock.warehouse`, `stock.location`, `stock.picking`, `stock.move`, and `stock.quant` — evaluated at the ORM layer, not just hidden in views
Restrictions hold over XML-RPC/JSON-RPC API calls, exports, and scheduled actions — a user cannot bypass by scripting or by changing the view
Warehouse selector on `stock.picking`, `sale.order`, and `purchase.order` filtered to the user's permitted set via dynamic domains
Source/destination location domains on transfers constrained to allowed locations through `@api.onchange` computes
Automatic default warehouse pre-fill on new operations based on the user's assigned home warehouse
Dedicated security group (e.g. `Warehouse: Restricted`) plus an admin/bypass group so managers retain full visibility
Optional read-only vs. read-write distinction per warehouse for supervisory roles
Inventory reports and dashboards (`stock.quant`, valuation, forecasted) automatically scoped so restricted users see only their sites
Composes with existing multi-company rules and standard `stock` groups instead of overriding them
`ir.model.access.csv` entries and record rules delivered as data files, versioned and reviewable in the handover repo
Configuration screen to manage the user-to-warehouse restriction matrix from Settings without touching code
Tested against your real `stock.location` hierarchy so domains match your actual warehouse/location tree
Built and verified against Odoo 17.0, 18.0, or 19.0, Community or Enterprise, per your environment

Hecho a medida, listo para ti

Sin configuración por tu cuenta: una app funcional creada, instalada y con soporte de ECOSIRE.

  1. 1

    Haces el pedido

    Empieza con un precio único de desarrollo. Definimos el alcance contigo en el arranque.

  2. 2

    Creamos e instalamos

    ECOSIRE la crea, la configura y la instala en tu Odoo.

  3. 3

    En marcha + soporte

    Sales en vivo en aproximadamente una semana laboral, con dos semanas de soporte tras la puesta en marcha. Los defectos en el código que entregamos se corrigen sin coste.

Especificaciones técnicas

Compatibilidad con Odoo
Odoo 17, Odoo 18, Odoo 19
Ediciones
Enterprise y Community
Licencia
La licencia requiere confirmación
Requisito de Python
Python 3.10+
Base de datos
PostgreSQL 12+

Sobre este producto

In a multi-site Odoo deployment, every internal user with inventory rights can see every warehouse and every stock location by default. A picker in your Dubai branch can pull quants from the Karachi warehouse; a branch storekeeper can select the wrong source location on a delivery; and inventory reports mix numbers across sites that should never be cross-visible. Odoo core gives you stock.warehouse and stock.location records and a few multi-company sharing rules, but it has no concept of "this user may only operate within these warehouses." Once you have more than one physical site — or franchisees, 3PL partners, and branch teams sharing one database — that missing access boundary becomes a daily source of mis-picks, wrong-location stock moves, and data leakage.

We build a made-to-order module that adds a genuine per-user warehouse and location restriction layer. Technically, it introduces a many2many between res.users and stock.warehouse (and, where you need finer control, stock.location) declared in a __manifest__.py that depends on stock. Enforcement is done the right way — through ir.rule record rules against stock.warehouse, stock.location, stock.picking, stock.move, and stock.quant, evaluated with user.id in the domain so the restriction holds on the ORM, in every list/kanban/form view, in reports, and over the XML-RPC/JSON-RPC API alike (not just hidden in the UI, which a smart user can bypass). Default warehouse assignment on operations, source/destination location domains, and the warehouse selector on stock.picking and sale.order are constrained to the user's allowed set via @api.onchange/@api.depends computes and domain filters. Because it is record-rule based, it composes cleanly with your existing multi-company setup and Odoo's security groups rather than fighting them.

The behavior is configured to your reality: a warehouse-manager group that sees a defined subset, an admin group that bypasses the restriction, optional read-only vs. read-write distinction per site, and sensible defaults so a restricted user's new transfers and orders pre-fill their home warehouse. We ship it as installable source you own, tested on your actual location tree so the record-rule domains match how your stock.location hierarchy is really structured — Community or Enterprise, on Odoo 17.0, 18.0, or 19.0.

Because this is build-to-order, delivery is typically one working week from confirmed scope: we run a short scoping call, agree the exact restriction matrix and edge cases, build on a staging copy of your database, run UAT with your users, then install to production with a rollback plan. Pricing starts from $999 (indicative, single-company base scope); multi-company enforcement, per-location (not just per-warehouse) granularity, restrictions extended to purchase/manufacturing/POS documents, and data migration of existing user-warehouse mappings increase the quoted scope. You receive a fixed quote after the scoping call — never a surprise.

lo que obtienes

  • Installable, version-pinned source code for your Odoo major version (17.0 / 18.0 / 19.0), Community or Enterprise
  • Installation and configuration on your environment, including the initial user-to-warehouse restriction matrix
  • Technical documentation: models, `ir.rule` domains, security groups, and extension points
  • End-user guide plus a live training session for administrators and warehouse managers
  • UAT on a staging copy of your database with a documented rollback plan before production install
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover with full commit history and README
  • Optional data migration of existing user/warehouse assignments into the new restriction model

¿Para quién es esto?

Multi-site operations manager

Runs several physical warehouses in one Odoo database and needs each branch team to see and transact only against their own site — no cross-site picks, no mixed reports — without spinning up separate databases.

3PL / franchise administrator

Shares one Odoo instance across partners or franchisees and must guarantee each external user is walled into their assigned locations, with enforcement that holds over the API and exports, not just in the UI.

Inventory / IT lead evaluating security

Owns data-access governance and wants restrictions implemented as auditable `ir.rule` record rules and security groups in a repo they control, so the boundary survives upgrades and can be reviewed.

Warehouse supervisor

Oversees a subset of sites and needs read visibility across those while staff below them stay confined to a single home warehouse, requiring a configurable per-warehouse access matrix.

Cómo se compara Warehouse Restriction for User

CriterioECOSIREConstrucción personalizadaCompetidorNativo de Odoo
Per-user warehouse restrictionBuilt to your exact restriction matrixPossible but you build and maintain itFixed feature set, may not fit your treeNot available — all users see all warehouses
Enforcement layer`ir.rule` record rules at the ORMDepends on your developer's approachOften UI-only, sometimes bypassableOnly broad multi-company sharing rules
Per-location granularityOptional, scoped to your `stock.location` treeBuild it yourselfRarely supportedNone
API / export coverageHolds over XML-RPC/JSON-RPC and exportsOnly if you design for itVaries, often not coveredNo restriction to enforce
Fit to your dataTested on a staging copy of your DBYours to testGeneric, install-and-hopeN/A
Ownership & maintainabilitySource in a git repo you ownYou own it and its upkeepVendor-controlled, licence-boundCore, upgrades with Odoo
Delivery modelBuilt, installed, supported in one working weekYour team's timeline and riskInstant download, self-integratedAlready present, no build
Support & upgradesSupport window + upgrade path 17/18/19Self-supportedDepends on vendor planCovered by Odoo releases

Preguntas frecuentes sobre Warehouse Restriction for User

Is this an existing app I can download and install today?

No. This is a build-to-order module. ECOSIRE builds it to match your warehouse and location structure, then installs and supports it. You receive installable source code you own — it is not an instant download from the Odoo app store.

How long does delivery take?

Typically one working week from confirmed scope. After a scoping call we agree the exact restriction matrix and edge cases, build on a staging copy of your database, run UAT, then install to production. Complex multi-company or per-location scopes can extend the timeline, which we state in the quote.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base figure. We run a short scoping call to understand your warehouses, locations, user roles, and edge cases, then give you a fixed written quote. Drivers like multi-company enforcement, per-location granularity, extension to purchase/manufacturing/POS, and data migration affect the final price.

How do I get support and updates after go-live?

Every build includes a post-go-live support window for defect fixes and configuration adjustments. Because you receive the source in a git repo you own, you can maintain it yourself or contract ECOSIRE for ongoing support and version upgrades (for example, moving from 17.0 to 18.0 or 19.0).

Will the restriction hold if a user tries to bypass the interface?

Yes. Enforcement is done with `ir.rule` record rules evaluated at the ORM layer, so it applies in views, reports, exports, and over the XML-RPC/JSON-RPC API. Hiding fields in the UI alone would be bypassable; record-rule enforcement is not.

Does it work on Odoo Community and Enterprise, and which versions?

Yes. We build and verify against Odoo 17.0, 18.0, or 19.0, on Community or Enterprise, targeting the exact version and edition you run. The `__manifest__.py` depends only on the standard `stock` module, so it works regardless of edition.

Can it restrict individual stock locations, not just whole warehouses?

Yes, as a scope option. The base scope restricts by warehouse; we can extend the record rules to `stock.location` for per-location control (for example, separating a quarantine or returns zone within a shared warehouse). This is one of the drivers that adjusts the quote.

Solicitar presupuesto

Warehouse Restriction for User

A build-to-order Odoo module that restricts which warehouses and stock locations each user can see and transact against. ECOSIRE scopes, builds, installs, and supports it — it is not an off-the-shelf download.

  • Many2many linking `res.users` to allowed `stock.warehouse` records, with optional per-`stock.location` granularity for finer control
  • Enforcement via `ir.rule` record rules on `stock.warehouse`, `stock.location`, `stock.picking`, `stock.move`, and `stock.quant` — evaluated at the ORM layer, not just hidden in views
  • Restrictions hold over XML-RPC/JSON-RPC API calls, exports, and scheduled actions — a user cannot bypass by scripting or by changing the view
  • Warehouse selector on `stock.picking`, `sale.order`, and `purchase.order` filtered to the user's permitted set via dynamic domains

Solicitar presupuesto

Cuéntanos tus necesidades de Warehouse Restriction for User y te enviaremos precios, opciones de licencia y una propuesta a medida, normalmente en un día hábil.

Sin pago ahora. Esto envía una solicitud de presupuesto a nuestro equipo; te responderemos por correo con precios y próximos pasos.