Ever noticed the Procurement Group (group_id) field in Odoo and wondered what it actually does? It’s not just another technical field — it’s the hidden link that ties your Sales Orders, Purchase Orders, Manufacturing Orders, and Stock Moves together. This connection is what keeps your Odoo supply chain in sync, ensuring every step — from customer demand to final delivery — remains traceable.
In this post, we’ll explore what the Procurement Group is, how it propagates, and why it’s critical for achieving smooth, automated fulfillment flows in Odoo.
What Is a Procurement Group in Odoo?
In Odoo, a Procurement Group is a unique identifier (group_id) that links all operations related to a specific demand.
When a Sales Order is confirmed, Odoo creates a Procurement Group (e.g., SO001). This group ID is then assigned to all related stock moves, purchase orders, and manufacturing orders generated by that sales order.
In simple terms: The Procurement Group acts as a thread that connects all documents in one fulfillment flow.
How Odoo Fills the Procurement Group Field
Here’s how different operations in Odoo handle the group_id:
- Sales Orders: When confirmed, a new group (e.g., SO001) is created and attached to all related stock moves and purchase orders.
- Manufacturing Orders (MTO): If triggered by a sales order, they inherit the same group.
- Purchase Orders (MTO or Drop Shipping): Inherit the group from the originating sales order.
- Reordering Rules (Make to Stock): No group is created since the replenishment isn’t tied to a specific demand.
This consistency ensures traceability and demand-driven automation across your supply chain.
What Is Procurement Group Propagation?
Procurement Group Propagation is the process by which Odoo passes the same group_id from one document to another — ensuring all related records share the same origin.
For example: A Sales Order creates a Procurement Group → that group is propagated to the Purchase Order → which passes it to related Stock Moves.
This is how Odoo maintains end-to-end traceability.
Step-by-Step: How Group Propagation Works
Let’s break it down:
Sales Order Confirmation:
- A new Procurement Group is created.
- The group is assigned to the originating stock moves.
Procurement Rule Execution:
- Procurement Rules from routes decide how the demand is fulfilled (Buy, Manufacture, or Transfer).
- During this process, the group_id is propagated to new records.
Purchase or Manufacturing Creation
- The resulting Purchase Order or Manufacturing Order inherits the same group_id.
Stock Moves and Transfers
- All stock moves generated downstream keep the same group, maintaining full traceability.
Route Settings: Controlling Propagation
Propagation behavior in Odoo is controlled at the Route level. When editing a route (e.g., “Buy” or “Manufacture”), you’ll find options like:
- Propagate Procurement Group: ✔️
- Propagate Warehouse: ✔️
- ✅ If “Propagate Procurement Group” is enabled → the group_id is inherited.
- ❌ If disabled → Odoo creates a new group, breaking the link.
This flexibility allows you to control how tightly your flows are connected — ideal for complex multi-warehouse or intercompany setups.
Example: End-to-End Procurement Flow
- Step Document: Sales Order (SO001) → Group ID: SO001 → Propagation: Group created
- Step Document: Purchase Order → Group ID: SO001→ Propagation: Group inherited
- Step Document: Incoming Shipment→ Group ID:SO001→ Propagation: Group inherited
- Step Document: Delivery Order → Group ID: SO001→ Propagation: Group inherited
Every document is tied to the same Procurement Group, ensuring full traceability.
When Propagation Doesn’t Occur
There are cases where Odoo doesn’t propagate the group:
- The route or rule doesn’t have “Propagate Procurement Group” enabled.
- The document was created manually.
- The product uses Make to Stock (MTS) instead of Make to Order (MTO).
In these scenarios, Odoo either creates a new group or leaves the field empty.
Why Procurement Group & Propagation Matter
- Traceability: Easily track every operation from Sales Order to Delivery.
- Debugging: Quickly identify breaks in fulfillment chains.
- Reporting: Group-based analysis for clearer visibility.
- Automation: Keeps routes, stock moves, and purchases aligned.
Pro Tip: Debugging with Developer Mode
To see Procurement Groups in action:
- Activate Developer Mode
- Open any Sales, Purchase, or Stock Move record
- Check the Procurement Group field
This helps confirm whether propagation is working correctly — and where it might be broken.
Key Takeaways
- The Procurement Group is the backbone of Odoo’s fulfillment flow.
- Propagation ensures that the same group travels through all related documents.
- Controlled via routes and rules, it gives flexibility for different fulfillment strategies.
- Proper setup = full traceability, better automation, and smoother operations.