Shop Floor: Request Replenishment
by Odoo DevHouse https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse$ 150.00
Shop Floor: Request Replenishment
Let Shop Floor operators request a replenishment for a short component right from the Manufacturing Order menu - missing quantity auto-computed, additional stock picking created automatically from the product's own routes.
In the standard Shop Floor interface, the "Add Component" button lets an operator append an extra component line to a Manufacturing Order. That's all it does.
- It never checks whether the component is actually in stock
- It never compares required quantity against available quantity
- It never triggers replenishment - no picking, no purchase, nothing
- Operators have to leave Shop Floor, find Inventory, and manually create a transfer for every shortage
- Production stalls waiting on components nobody flagged as missing
This module adds a new "Request Replenishment" button next to Add Component in the Shop Floor options menu - "Add Component" itself is left completely untouched. Clicking it opens a pop-up restricted to the components already on the Manufacturing Order. Pick one, and the missing quantity (required minus available) is auto-filled. Confirm, and Odoo's own procurement engine creates the additional stock picking needed to cover the shortfall, following the component's configured routes.
- Request Replenishment Button - appears next to Add Component in the Shop Floor options menu
- Add Component Untouched - zero changes to the existing button, its label, or its behavior
- Scoped Component Picker - the pop-up only lists products already on the Manufacturing Order's component lines
- Auto-Computed Missing Quantity - required quantity minus what's actually available, calculated instantly
- One-Click Confirm - "Confirm Replenishment" creates the additional picking immediately
- Reuses Core Procurement - built on Odoo's own
stock.ruleengine, so routes, warehouses and rules behave exactly as configured - Preferred Route Override - optionally pick a specific route instead of the product's default
- Instant Success Notification - a confirmation toast appears top-right once the picking is created
- Dedicated Permission - gated by a "Shopfloor: Allow Replenishment" access right, independent from other Shop Floor permissions
- OWL-Powered - built as a template extension on Odoo 19's native OWL framework; zero core modifications
- Works With 2 or 3-Step Manufacturing - designed for warehouses with a Pre-Production supply step
1. Grant the "Shopfloor: Allow Replenishment" Permission
In Settings > Users, open a user's Access Rights tab and check "Shopfloor: Allow Replenishment". Only users with this permission see the Request Replenishment button - everyone else's Shop Floor is completely unaffected.
2. Open Shop Floor - See Your Manufacturing Orders
Confirmed Manufacturing Orders appear as cards on the Shop Floor board, exactly as in standard Odoo.
3. Open the Options Menu on the MO Card
Click the "⋮" icon on a Manufacturing Order card - here, "SFRR Finished Good" is short 5 units of its "SFRR Component".
4. "Request Replenishment" Sits Right Next to "Add Component"
The options menu shows the standard, unmodified Add Component button alongside the new Request Replenishment button.
5. Pick the Short Component
The Component field only lists products already on this Manufacturing Order's component lines - no browsing the full product catalog.
6. Missing Quantity Fills In Automatically
Demand is 5.00, nothing is available, so Missing Qty auto-fills to 5.00. An optional Preferred Route can override the product's default route.
7. Confirm - Instant Success Notification
Click Confirm Replenishment. A green success toast confirms the request was created, without ever leaving Shop Floor.
8. The Additional Picking Shows Up in Inventory
A new "Pick Components" transfer is created automatically, following the component's route - no manual transfer creation needed.
9. Fully Traceable Back to the Manufacturing Order
The picking's Source Document links straight back to the originating Manufacturing Order, with the exact missing quantity as demand.
Shop Floor Shortages
An operator notices a component is short mid-production and requests a replenishment without leaving the tablet.
2 or 3-Step Manufacturing
Warehouses using a Pre-Production step get an additional Pick Components transfer created exactly where it's needed.
Route-Driven Supply
Buy, manufacture, or transfer routes are all respected - the replenishment follows whatever's configured on the product.
Controlled Access
Only operators with the "Shopfloor: Allow Replenishment" right see the button - everyone else's Shop Floor is unchanged.
Tablet-First Operations
Designed for the same tablet/kiosk workflow as the rest of Shop Floor - large touch targets, no extra navigation.
Full Traceability
Every replenishment picking's Source Document links back to the Manufacturing Order that triggered it.
Fewer Production Stalls
Shortages get flagged and replenished the moment they're noticed, instead of surfacing only when the MO can't be closed.
No Extra Navigation
Operators stay inside Shop Floor - no switching apps to open Inventory and build a transfer by hand.
Correct Quantities, Every Time
Missing quantity is computed by the system, not guessed by the operator, and stays editable if a manual adjustment is needed.
No Core Modifications
Built entirely as additive OWL template extensions and a new wizard - the standard Add Component flow is never touched.
Step 1 - Enable Multi-Step Manufacturing
Go to Inventory > Configuration > Warehouses, open your warehouse, and set Manufacture to 2 steps or 3 steps so a Pre-Production supply location exists.
Step 2 - Grant the Replenishment Permission
Go to Settings > Users, open a user, and check "Shopfloor: Allow Replenishment" in the Access Rights tab.
Step 3 - Confirm a Manufacturing Order and Open Shop Floor
Create a Manufacturing Order, click Confirm, then open Shop Floor.
Step 4 - Request Replenishment
Open the card's options menu ("⋮"), click Request Replenishment, pick the short component, review the auto-filled Missing Qty, and click Confirm Replenishment.
Step 5 - Track the Transfer
Go to Inventory > Operations > Pick Components to find the new transfer, linked back to the Manufacturing Order via its Source Document.
Pro Tip - Add Component Stays Standard
This module never renames or alters "Add Component" - it only adds "Request Replenishment" alongside it, so existing training and documentation for Add Component still apply unchanged.
Need Help or Want a Custom Feature?
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Manufacturing (mrp)
• Employees (hr) • Discuss (mail) • Inventory (stock) |
| Lines of code | 152 |
| Technical Name |
shopfloor_request_replenishment |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module