Visual Kanban and two-bin pull replenishment for production lines, so line-side components flow on real consumption signals instead of MRP procurement noise. Build-to-order and supported by ECOSIRE on Odoo 17, 18, and 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $249.00 USD; request a quote for a scoped proposal.

Visual Kanban and two-bin pull replenishment for production lines, so line-side components flow on real consumption signals instead of MRP procurement noise. Build-to-order and supported by ECOSIRE on Odoo 17, 18, and 19.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Lean shops that run pull-based line replenishment quickly hit the edge of what Odoo does natively. Odoo's stock.warehouse.orderpoint min/max reordering is quantity-based and warehouse-centric — it fires on a global on-hand threshold, not on a physical empty-bin event at a specific line-side location. There is no first-class concept of a Kanban card, a two-bin loop, or a sized supermarket buffer. Teams end up bolting pull discipline onto spreadsheets and laminated cards, while MRP keeps generating procurement suggestions that ignore the shop-floor signal. The result is either stockouts at the line or piles of WIP nobody asked for.
New `ecosire.kanban.loop` model binding a `product.product`, consuming line-side `stock.location`, source supermarket location, container/bin quantity, and card count
Per-bin state model tracking each physical bin as `full`, `in_use`, or `empty` with a full audit trail of state transitions
Two-bin pull logic: emptying the active bin releases a replenishment signal while the reserve bin feeds the line, eliminating orderpoint-driven MRP noise
Scan-to-replenish empty-bin trigger via barcode on a Kanban card or bin label, flipping bin state and creating the pull `stock.move` in one action
`base.automation` automated actions and server actions that fire the supermarket-to-line internal transfer automatically when a loop hits its reorder point
Line-side supermarket management: dedicated store locations with per-loop min/max exposure, separate from warehouse-wide orderpoints
ECOSIRE builds a dedicated Kanban and two-bin replenishment layer as a proper Odoo module. We add new models — a Kanban loop (ecosire.kanban.loop) that binds a product.product, a consuming line-side stock.location, a source supermarket/store location, a container/bin quantity, and a card count — plus a card/bin state model that tracks each physical bin as full, in_use, or empty. @api.depends computed fields derive loop-level metrics (cards in circulation, quantity exposed, coverage in hours) so planners see the loop health, not just raw stock. When a bin empties, the pull signal creates the appropriate stock.move / internal stock.picking from the supermarket to the line (or a purchase/manufacturing signal at the loop's upstream boundary), so replenishment is driven by consumption, not by an orderpoint sweep.
The empty-bin trigger is where the two-bin discipline becomes real. Operators scan a bin's barcode (or a QWeb-printed Kanban card) from an Odoo barcode-friendly view or a lightweight OWL screen; the scan flips that bin to empty and releases the pull. We wire base.automation automated actions and server actions so that reaching the reorder point in a loop kicks off the transfer automatically, and Community-vs-Enterprise differences are handled cleanly — the module works on Community, and where Enterprise-only apps (like the native Barcode app or Studio) are present we integrate with them rather than duplicate them. Security is enforced with ir.model.access.csv plus record rules so line supervisors, material handlers, and planners each see the loops relevant to their work center, and everything is reachable over the standard XML-RPC / JSON-RPC API for integration with MES, andon, or external scanners.
Because loops need to be sized, not guessed, we include Kanban loop sizing recommendations: a compute that reads recent consumption (average daily usage and variability from stock.move history) against replenishment lead time and container size, and suggests the number of cards to keep the loop stable without over-buffering. Planners get a concrete "you are running N cards, the model suggests M" view, plus a QWeb report and printable cards for the physical board.
This is a build-to-order engagement, not an instant download. After you request a quotation we run a short scoping call to confirm your loops, line-side locations, supermarket layout, and Odoo edition, then build the module against your version. Typical delivery is 2 to 4 weeks from confirmed scope. You receive the installable source for your Odoo version (17.0, 18.0, or 19.0), UAT on a staging database with a rollback plan, installation and configuration on your environment, documentation, a training session, and a post-go-live support window.
Owns the pull system and wants Kanban and two-bin discipline enforced in Odoo instead of on laminated cards, with loop sizing grounded in real consumption data rather than gut feel.
Needs the line fed on time without babysitting MRP. Wants a clear board of which loops are starved or over-carded and a one-scan replenishment action operators can run from the floor.
Manages the line-side supermarket and upstream replenishment. Wants pull signals to drive internal transfers and purchase/manufacturing triggers so buffers stay lean and coverage stays visible.
Responsible for keeping the module maintainable across upgrades. Cares about clean models, record-rule security, API access for MES/andon, and Community-vs-Enterprise compatibility.
Buy the license on ecosire.com and download the Kanban Replenishment & 2-Bin System module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Kanban Replenishment & 2-Bin System, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Replenishment trigger | Physical empty-bin scan releases the pull signal | Whatever your developer wires up | Usually still min/max quantity rules | |
| Two-bin loop model | First-class loop + bin-state model | Built from scratch each time | Rarely a true two-bin concept | |
| Loop sizing | Consumption-based card-count recommendation | Depends on scope and budget | Manual, if offered at all | |
| Line-side supermarket | Dedicated store locations per loop | Possible but bespoke | Generic locations only | |
| Fit to your process | Built to your loops and lines in scoping | Fully bespoke, higher cost/time | Fit your process to the module | |
| Odoo version support | Built for 17.0, 18.0, or 19.0 | Whatever you target | Varies; often lags versions | |
| API / MES integration | XML-RPC/JSON-RPC loops and bin events | Add it if specified | Limited or undocumented | |
| Support & handover | Post-go-live window + git repo handover | Per your contract | Vendor SLA, no source |
This is a build-to-order module, not an instant download. After you request a quotation we run a short scoping call, then build against your Odoo version. Typical delivery is 2 to 4 weeks from confirmed scope, depending on how many loops and integration points are involved.
Native `stock.warehouse.orderpoint` min/max rules are quantity- and warehouse-centric — they fire on a global on-hand threshold and generate MRP/procurement suggestions. This module adds a true pull loop: physical bins with `full`/`in_use`/`empty` states, an empty-bin scan trigger, and supermarket-to-line transfers driven by consumption at a specific line-side location.
It is built to run on Community. Where you have Enterprise apps such as Barcode or Studio, we integrate with them rather than duplicate them. We confirm your edition during scoping and build accordingly for 17.0, 18.0, or 19.0.
Every engagement includes a post-go-live support window for defect fixes and configuration questions. Beyond that, we offer optional support and version-upgrade retainers to keep the module current as you move across Odoo major versions. You also receive the git repository, so your own team can maintain it.
Yes. Scanning a Kanban card or bin label is the fastest path, but bins can also be flipped to `empty` from a list/kanban view or an OWL screen. The pull signal and internal transfer are created the same way regardless of how the empty-bin event is recorded.
Yes. Loops and bin states are standard Odoo models exposed over the XML-RPC and JSON-RPC API, so an MES, andon display, or third-party scanner can read loop health and post empty-bin events. We document the endpoints and fields as part of the handover.
The module includes a sizing recommendation that reads recent consumption — average daily usage and its variability from `stock.move` history — against replenishment lead time and container size, and suggests a card count. Planners see the running count versus the recommended count and can adjust deliberately rather than guessing.
Visual Kanban and two-bin pull replenishment for production lines, so line-side components flow on real consumption signals instead of MRP procurement noise. Build-to-order and supported by ECOSIRE on Odoo 17, 18, and 19.