OdooWiki OCA HUB

Stock MTS+MTO MRP Rule

stock_mts_mto_mrp_rule folder_open OCA/stock-logistics-warehouse open_in_new
Warehouse License: AGPL-3

This module enhances the procurement management for Manufacturing Order (MRP) components when stock is partial. It extends the functionality of the base stock_mts_mto_rule module to automatically split a component's stock move into two: one Make to Stock (MTS) for the available quantity and another Make to Order (MTO) for the missing quantity.

auto_awesome What this module does

AI-generated from the code · Odoo 17.0

When a manufacturing order needs a component that is only partly in stock, this module automatically splits the component's stock move: the available quantity stays Make to Stock and the missing quantity becomes Make to Order.

This module changes how Odoo handles components for manufacturing orders when stock is only partially available. Instead of treating the whole component line the same way, it divides the line into two: the part that can be covered from stock and the part that must be ordered or produced specifically for that manufacturing order.

  • It works on stock moves linked to a manufacturing order (raw_material_production_id), where the procurement method is Make to Stock.
  • When the move is confirmed, Odoo checks the procurement rules for the source and destination locations. If the rule is a "split procurement" rule, it calculates how much quantity must be ordered (Make to Order) and how much can come from stock.
  • If the whole quantity must be ordered, the move is simply switched to Make to Order. If only part is missing, the move is split: the original move keeps the Make to Stock quantity and a new move is created for the Make to Order quantity.
  • The new move is confirmed and the original move is reserved again, so the available stock is assigned to the Make to Stock part.
  • The same logic also applies when procurement methods are adjusted automatically on existing moves.

It touches stock.move and relies on the procurement rule mechanism (procurement.group). There are no new menus or screens; the behaviour happens automatically in the background during manufacturing order confirmation.

Depends on

Models and fields (1)
  • stock.move · extends an existing model

Text generated by AI (DeepSeek) from reading the Odoo 17.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: 2 confirmed, 7 with no information of 9 versions.

Sources · Odoo 14.0

Confirmed on 2026-11-03 in branch 14.0 of OCA/stock-logistics-warehouse.

terminal Installation and usage

OCA documentation · Odoo 17.0

To activate this functionality, a Route must be configured in the product that contains a Procurement Rule (stock.rule) with the action set to "Split Procurement."

The module ensures that when this rule is found and there is partial stock for an MRP component, the splitting logic is automatically executed.

This module introduces an automatic and transparent solution to this problem. Upon confirming a component's move for a manufacturing order with only partial stock, the module splits the original move as follows:

  • Make to Stock (MTS) Move: A move is created for the quantity that is available in the warehouse. This move is set to "Assigned" status, ready to be consumed by the manufacturing order.
  • Make to Order (MTO) Move: A second, entirely new move is created for the missing quantity. This move is set to "Confirmed" status or "Waiting Availability," generating a clear and traceable purchase requirement (or a new manufacturing order if it's a sub-assembly) for the purchasing team.

No verified information in OCA: Installation.

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.