This module defines a technical field to store the related sale order line on stock move level in order to get all chained moves on sale order line side.
In case the stock move contains multiple lines of the same product, Odoo's default behaviour is to merge those lines into the same one.
With this module, there is the option of preserving one move for each sale order line, which enables correct tracing of each move back to its source.
Each stock rule can define how the moves it creates should behave. If at least one move in the chain of moves is set to preserve one move per sale order line, all moves in the chain will act accordingly.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Adds a setting on stock rules to keep one stock move per sale order line instead of merging moves of the same product, and lets you see all chained stock moves directly from a sale order line.
When Odoo processes a sale order, it normally merges stock moves for the same product into a single move, which makes it hard to trace which move belongs to which sale order line. This module adds a checkbox called "Preserve Separate Sale Order Lines" on stock rules (the rules that decide how products are moved between locations). When this option is enabled, Odoo keeps a separate stock move for each sale order line, so you can follow each move back to its original line.
The module also adds a new field on sale order lines that lists all related stock moves, including moves created later in the chain (for example, moves generated by manufacturing or additional delivery steps). This list is visible on the sale order line form.
On each stock move, a link to the related sale order line is stored. If any move in a chain is set to preserve separate lines, all moves in that chain follow the same behaviour. After installing the module, existing moves are updated automatically to link them to their sale order lines.
You will find the new checkbox on the stock rule form, right after the "Procure Method" field. The module works with sale orders, stock moves, and stock rules.
Depends on
Required by other modules
Models and fields (3)
- stock.move · extends an existing modelrelated_sale_line_id
- stock.rule · extends an existing modelpreserve_separate_so_lines (Preserve Separate Sale Order Lines)
- sale.order.line · extends an existing modelchained_move_ids
Text generated by AI (DeepSeek) from reading the Odoo 18.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-03Confirmation status: 4 confirmed, 5 with no information of 9 versions.
Sources · Odoo 13.0
Confirmed on 2026-11-03 in branch 13.0 of OCA/sale-workflow.
terminal Installation and usage
OCA documentation · Odoo 18.0Usage
Source · Odoo 18.0Navigate to Inventory \> Configuration \> Rules.
For each rule, select "Preserve Separate Sale Order Lines" if you would like to have one move for each order line. Uncheck the option if you're ok with Odoo merging lines with the same product.
No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.