- Accueil
- Apps
- Multichannel & PIM Tools
- Material Stock and Purchase Requisitions
Aperçu illustratifA build-to-order Odoo module that captures employee material demand,
routes multi-level purchase requisition approvals, and turns approved lines into RFQs or internal stock transfers.
ECOSIRE scopes, builds, installs, and supports it on your Odoo 17, 18, or 19.
Qu'est-ce que Material Stock and Purchase Requisitions ?
A build-to-order Odoo module that captures employee material demand, routes multi-level purchase requisition approvals, and turns approved lines into RFQs or internal stock transfers. ECOSIRE scopes, builds, installs, and supports it on your Odoo 17, 18, or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Fonctionnalités clés
Fait sur commande, clé en main
Aucune configuration à faire vous-même — une app fonctionnelle conçue, installée et prise en charge par ECOSIRE.
- 1
Vous commandez
Commencez par un prix de développement unique. Nous cadrons le projet avec vous au lancement.
- 2
Nous développons et installons
ECOSIRE la développe, la configure et l'installe sur votre Odoo.
- 3
Mise en ligne + assistance
Vous êtes en ligne en une semaine ouvrée environ, avec deux semaines d’assistance après la mise en production. Les défauts du code que nous livrons sont corrigés gratuitement.
Spécifications techniques
- Compatibilité Odoo
- Odoo 17, Odoo 18, Odoo 19
- Éditions
- Enterprise et Community
- Licence
- Licence à confirmer
- Version Python requise
- Python 3.10+
- Base de données
- PostgreSQL 12+
À propos de ce produit
Most teams running Odoo hit the same wall the moment a warehouse operator, technician, or site supervisor needs material: there is no first-class place for an employee to say "I need 40 units of this to keep working." Odoo core gives you Purchase Requisitions (purchase.requisition) as a Manager-facing tendering tool and Purchase Agreements — but those are procurement instruments, not shop-floor demand capture. The gap gets filled with spreadsheets, WhatsApp messages, and internal transfer requests raised by whoever has stock access, which means no audit trail on who asked for what, no budget check before someone commits spend, and no clean handoff from "employee raised a need" to "buyer raised an RFQ" or "stock team issued an internal transfer." When procurement, inventory, and the requesting department each keep their own version of the truth, over-ordering, stock-outs, and unapproved purchases follow.
We build a made-to-order Odoo module that gives every employee a governed way to request material and gives Purchase and Inventory a single approval spine to run it through. At its core is a material.requisition model (header + material.requisition.line) with state transitions (draft → submitted → approved → sourced → done / rejected / cancelled), compute fields via @api.depends for on-hand vs forecasted availability pulled from stock.quant and product.product, and a configurable approval matrix driven by mrp-style routing or an amount/department threshold. Each approved line is dispatched intelligently: if the item is available in a source warehouse it raises a stock.picking internal transfer; if it must be bought it seeds a draft purchase.order line (or a purchase.requisition tender when you want multi-vendor bidding), carrying the requester, analytic account, and budget line through so nothing loses its origin. Access is locked down with ir.model.access.csv plus record rules so employees see only their own requests while approvers and buyers see their queues; multi-level approvals use Odoo's activity/automated-action framework so escalations and reminders are native, not bolted on. Everything is exposed through standard views (list, form, kanban by state, a pivot for demand analysis), a QWeb PDF requisition slip for signature, and the XML-RPC/JSON-RPC API so an external portal, mobile app, or MES can post requisitions programmatically. We ship a proper __manifest__.py with pinned dependencies and target your exact Odoo series — 17.0, 18.0, or 19.0 — accounting for Community vs Enterprise differences (for example, approval-tier and advanced routing behavior) so the module fits your edition rather than assuming features you may not have.
Because this is build-to-order, delivery starts with a scoping call, not a download. After we confirm the exact states, approval hierarchy, sourcing rules, and any integration points, typical delivery is one working week from confirmed scope: we develop against your version on an isolated staging environment, run UAT with your team, then install to production with a documented rollback path and a git repository handover. Pricing starts from $999 (indicative, single-company base scope); multi-company routing, deeper procurement/budget integrations, localization requirements, or migrating a large backlog of historical requisition data increase the quoted scope. You get a fixed quote after the scoping call — never a surprise invoice.
Ce que vous obtenez
- Installable Odoo module source code targeting your exact series (17.0, 18.0, or 19.0) and edition
- Installation and configuration on your environment, including approval matrix, sequences, and sourcing-rule setup
- Technical documentation: data model, `state` machine, security rules, and integration/API reference
- End-user guide plus a live training session for requesters, approvers, and buyers
- UAT on an isolated staging environment with a documented rollback plan before production go-live
- Post-go-live support window for defect fixes and configuration adjustments
- Git repository handover with full commit history and tagged release
- Deployment notes covering dependencies, upgrade considerations, and Community vs Enterprise caveats
Pour qui c'est
Procurement / Purchasing Manager
Wants every material need to arrive as an approved, budget-checked requisition that cleanly becomes an RFQ or purchase order — with a full audit trail of who requested what and why, instead of ad-hoc emails and spreadsheets.
Warehouse / Inventory Lead
Needs employee demand routed through a single queue so available stock is issued via internal transfers first and only genuine shortfalls trigger buying, cutting duplicate orders and surprise stock-outs.
Department or Site Supervisor
Wants their team to raise material requests in Odoo in seconds — from the backend or a simple link — and to see request status without chasing procurement, while keeping their own cost-center spend visible.
Odoo Administrator / IT Owner
Responsible for a maintainable module that respects Odoo's security model, upgrades cleanly across the 17/18/19 line, and exposes an API so requisitions can be created from external systems.
Comment Material Stock and Purchase Requisitions se compare
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Natif Odoo |
|---|---|---|---|---|
| Employee material demand capture | First-class requester UI plus portal/API entry | Possible but you design and build it | Often procurement-only, limited requester view | No dedicated employee demand form |
| Multi-level approval matrix | Configurable by amount, department, category | Whatever you code and maintain | Fixed or shallow approval flow | Basic; tiered approval only on Enterprise |
| Stock-aware sourcing | Internal transfer if available, else RFQ/PO | You wire the stock/purchase logic yourself | Usually routes straight to purchase | No unified requisition-to-source path |
| Row-level security | Record rules scope requester vs approver vs buyer | Depends on your implementation rigor | Varies; often coarse access | Standard groups, not tailored to this flow |
| Fit to your version/edition | Built for your exact 17/18/19 and edition | Yours to match and upgrade | Generic build across many versions | N/A — you adapt to it |
| API / external integration | XML-RPC/JSON-RPC endpoints designed in | Add it yourself | Rarely documented for this use | Generic ORM API, no requisition helpers |
| Support & ownership | Support window + git repo handover | You own all maintenance | Vendor SLA varies, source often opaque | Community/your team support only |
| Time to production | Typically one working week from confirmed scope | Unpredictable, dev-capacity dependent | Install fast, fit later | Immediate but functionality gap remains |
Foire aux questions sur Material Stock and Purchase Requisitions
How long does delivery take?
This is a build-to-order module, not an instant download. After a scoping call to confirm states, approval hierarchy, and sourcing rules, typical delivery is one working week from confirmed scope. We develop and UAT on staging, then install to production with a rollback plan.
How does pricing and scoping work?
Pricing starts from $999 as an indicative single-company base-scope figure. After a short scoping call we send a fixed quote — no surprise invoice. Drivers such as multi-company routing, deeper budget/procurement integrations, localization, or migrating a large backlog of historical requisitions increase the quoted scope.
What support and updates do I get?
Every build includes a post-go-live support window for defect fixes and configuration tweaks, plus technical docs and a git repo handover so any Odoo team can maintain it. Version upgrades (for example moving from 18.0 to 19.0) and new feature work are quoted separately as change requests.
Does it work with my Odoo edition and version?
Yes. We target your exact series — 17.0, 18.0, or 19.0 — and account for Community vs Enterprise differences (such as approval-tier and advanced routing availability) so the module fits your edition rather than assuming features you may not have.
How is this different from Odoo's built-in Purchase Requisitions?
Odoo core's `purchase.requisition` is a Manager-facing tendering tool for procurement. This module adds the missing front end: employees raise material demand, it runs through a configurable multi-level approval matrix, checks stock availability, and only then becomes an internal transfer or a purchase — with row-level security so requesters see just their own requests.
Can employees request material without full backend access?
Yes. We can expose requisition creation through the portal, an activity/email approval link, or the XML-RPC/JSON-RPC API so a lightweight app or website form posts requests — with `ir.model.access.csv` and record rules ensuring each user only sees what they should.
Can requisitions be created from an external system?
Yes. The module is API-first: an external portal, mobile app, or MES can create and query requisitions over Odoo's XML-RPC/JSON-RPC API, carrying requester, product, quantity, warehouse, and cost-center so the same approval and sourcing logic applies.
Modules associés

Marketplace Order & Fee Reconciliation / Settlement
Tie Amazon, eBay & Walmart settlement payouts to Odoo orders, fees, refunds & bank deposits — built to order for Odoo 17/18/19.

Marketplace Promotions & Coupon Sync
A build-to-order Odoo module that turns Odoo into the control tower for every marketplace promotion — one calendar to schedule deals, coupons, lightning deals and storewide sales, push them to Amazon/eBay/Walmart where APIs allow, and measure real uplift against margin guardrails.

Mirakl Marketplace Connector (Seller + Operator)
Sync catalog, offers, orders, shipments and returns between Odoo and Mirakl marketplaces. Built-to-order and installed by ECOSIRE for Odoo 17/18/19.

Multi-Carrier Shipping Aggregator & Label Engine
Rate-shop many carriers, bulk-print labels and sync tracking straight from Odoo deliveries. Built, installed and supported by ECOSIRE.
Material Stock and Purchase Requisitions
A build-to-order Odoo module that captures employee material demand, routes multi-level purchase requisition approvals, and turns approved lines into RFQs or internal stock transfers. ECOSIRE scopes, builds, installs, and supports it on your Odoo 17, 18, or 19.
- `material.requisition` and `material.requisition.line` models with a full `state` machine (`draft → submitted → approved → sourced → done`, plus `rejected`/`cancelled`) and enforced transition guards
- Configurable multi-level approval matrix driven by amount thresholds, department, or product category, using Odoo activities and automated actions for escalation and reminders
- `@api.depends` compute fields showing on-hand, reserved, and forecasted availability per line by joining `stock.quant` and `product.product` in real time
- Smart line dispatch: available items raise a `stock.picking` internal transfer; buyable items seed a draft `purchase.order` line, preserving requester, analytic account, and source warehouse