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 $249.00 USD; request a quote for a scoped proposal.
ऐप मैनिफ़ेस्ट
आपके वर्कफ़्लो के अनुरूप बनाया गया
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.
स्वयं सेटअप की ज़रूरत नहीं — ECOSIRE द्वारा निर्मित, इंस्टॉल और समर्थित एक कार्यशील ऐप।
एक बार के निर्माण मूल्य से शुरू करें। किकऑफ़ पर हम आपके साथ मिलकर दायरा तय करते हैं।
ECOSIRE इसे आपके Odoo पर बनाता, कॉन्फ़िगर और इंस्टॉल करता है।
आप लगभग 2–4 सप्ताह में लाइव हो जाते हैं, लॉन्च के बाद समर्थन अवधि के साथ।
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 2-4 weeks 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 $249 (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.
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.
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.
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.
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.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Per-user warehouse restriction | Built to your exact restriction matrix | Possible but you build and maintain it | Fixed feature set, may not fit your tree | |
| Enforcement layer | `ir.rule` record rules at the ORM | Depends on your developer's approach | Often UI-only, sometimes bypassable | |
| Per-location granularity | Optional, scoped to your `stock.location` tree | Build it yourself | Rarely supported | |
| API / export coverage | Holds over XML-RPC/JSON-RPC and exports | Only if you design for it | Varies, often not covered | |
| Fit to your data | Tested on a staging copy of your DB | Yours to test | Generic, install-and-hope | |
| Ownership & maintainability | Source in a git repo you own | You own it and its upkeep | Vendor-controlled, licence-bound | |
| Delivery model | Built, installed, supported in 2-4 weeks | Your team's timeline and risk | Instant download, self-integrated | |
| Support & upgrades | Support window + upgrade path 17/18/19 | Self-supported | Depends on vendor plan |
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.
Typically 2-4 weeks 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.
Pricing starts from $249 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.
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).
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.
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.
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.
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.