OdooWiki OCA HUB

Stock Picking Purchase Propagate

stock_picking_purchase_propagate folder_open OCA/stock-logistics-workflow open_in_new
Warehouse License: AGPL-3

This module allows to propagate the procurement group and the quantity of the purchase order at its confirmation to the ensuing picking and stock moves and their destination moves and pickings.

auto_awesome What this module does

AI-generated from the code · Odoo 12.0

When a purchase order is confirmed, this module copies the procurement group and the ordered quantity from the purchase order lines to the linked downstream stock moves and pickings, keeping the whole chain consistent.

This module works behind the scenes when you confirm a purchase order. It extends the purchase order line and stock move behaviour so that the link between the receipt and the following operations (for example delivery or internal transfers) stays consistent.

  • When stock moves are created from a purchase order line, the module looks for the destination moves that are marked to propagate and have no procurement group yet, and assigns them the same procurement group as the purchase move.
  • It then reassigns those moves to a picking so that moves with different procurement groups are not mixed in the same transfer.
  • It also copies the quantity from the purchase move to the destination move, but only when there is exactly one destination move and the move is marked to propagate. If the units of measure differ, the quantity is converted before being written.
  • This propagation repeats along the chain of linked moves, so the group and quantity follow the goods through several steps.

It touches purchase.order.line and stock.move. There are no new menus or screens; the changes happen automatically during purchase order confirmation and stock move processing.

Models and fields (2)
  • stock.move · extends an existing model
  • purchase.order.line · extends an existing model

Text generated by AI (DeepSeek) from reading the Odoo 12.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 12.0

Confirmed on 2026-11-03 in branch 12.0 of OCA/stock-logistics-workflow.

terminal Installation and usage

OCA documentation · Odoo 12.0

This module can help you if your warehouse uses two- or three- steps reception.

In such a case, odoo's scheduler will generate internal transfers pickings with the procurement group defined on each orderpoint of the products in need.

So, if no procurement group is defined on the orderpoints, Odoo will generate only one internal transfer picking for all the products having needs, even if suppliers and delays could be totally different.

If the product is to be purchased, the scheduler will also generate a purchase order. However when confirming this purchase order, the generated receipt picking and its move will get the procurement group from the sale order, which doesn't match the procurement group of the ensuing internal transfers, what could be baffling for the stock operator who has to find the ensuing internal transfer.

Moreover, if the quantity is changed before confirming the purchase order, the receipt picking will be generated with the PO's quantity, whereas the ensuing moves and picking will still have the original quantity from the orderpoint. Therefore, if the quantity was reduced on the purchase order, the stock operator won't be able to close the move line in waiting state, although it's not expected to receive more quantity until the next purchase order.

Instead of provoking such headaches to stock operators, this module will propagate the procurement group and the quantity of the purchase order to the whole chain of moves and reassign them to new pickings.

This allows to have a clear match through the procurement group between purchase order, receipts and internal transfers, and allows as well stock operators not to worry about missing quantities which weren't ordered in the first place.

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.