Repository
OCA/stock-logistics-workflow · module folder · Try on Runboat
Module version
1.0.0
Category
Inventory
Folder size
0.11 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/stock-logistics-workflow
Last tracking update
2026-07-13 19:38:11
Authors
Odoo Community Association (OCA), APSL-Nagarro
Maintainers
Odoo Community Association (OCA), APSL-Nagarro
Committers
OCA-git-bot, oca-ci, Antoni Marroig Campomar
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module extends the integration between Stock Picking (Transfers) and Manufacturing Orders (MOs) in Odoo, introducing the capability to generate multiple production orders in bulk directly from a validated or in-progress picking. 
This significantly optimizes workflows in mass manufacturing environments. The tool not only ensures data consistency by validating that the quantity to produce never exceeds the available stock but also intelligently handles inventory complexity: it accounts for material marked as scrapped to ensure only truly usable raw material is allocated. Furthermore, it precisely manages changes in picking lines (such as splits or backorders), guaranteeing that new MOs are linked exclusively to the correct stock move segments that are still pending consumption, ensuring perfect traceability and preventing the double allocation of material.

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_picking_form_inherit stock.picking.form.inherit stock.picking form Inherits stock.view_picking_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (0)

No new fields.

Public methods (4)
  • action_create(self)
  • consume_products(self, moves, sum_scraps, quantity)
  • link_mrp_production_orders(self, picking, res)
  • raise_error_qty_to_consume(self, quantity, sum_moves_qty, sum_scraps, sum_moves_qty_cons, product)

New fields (1)
  • manufacturing_picking_id Many2one → stock.picking
    string='Manufacturing Picking' args: 'stock.picking'
Public methods (0)

No public methods.

New fields (1)
  • consumed_quantity Float
    default=0 digits='Product Unit of Measure'
Public methods (0)

No public methods.

New fields (2)
  • mrp_picking_count Integer
    compute='_compute_mrp_picking_count'
  • mrp_picking_ids One2many → mrp.production
    string='Manufacturing Picking Orders' args: 'mrp.production', 'manufacturing_picking_id'
Public methods (2)
  • action_mrp_mass_production_order(self)
  • action_view_mrp_picking_ids(self)