OdooWiki OCA HUB

Production Grouped By Product

mrp_production_grouped_by_product folder_open OCA/manufacture open_in_new
MRP License: AGPL-3

When you have several sales orders with make to order (MTO) products that require to be manufactured, you end up with one manufacturing order for each of these sales orders, which is very bad for the management.

With this module, each time an MTO manufacturing order is required to be created, it first checks that there's no other existing order not yet started for the same product and bill of materials inside the specied time frame , and if there's one, then the quantity of that order is increased instead of creating a new one.

auto_awesome What this module does

AI-generated from the code · Odoo 16.0

Automatically merges new manufacturing orders for the same product and bill of materials into an existing unstarted order, instead of creating a separate order for each sales order. Grouping rules are configured per operation type.

When Odoo needs to manufacture a product for a sales order (make-to-order), it normally creates a separate manufacturing order each time. This module changes that: before creating a new order, Odoo looks for an existing order for the same product, operation type, bill of materials and company that is still in draft or confirmed state, and whose deadline falls inside the configured time window. If one is found, the new quantity is added to that order instead of creating a new one, and the origin references are combined.

Grouping rules are set on each operation type (for example Manufacturing) in a new section of the operation type form: - MO grouping max. hour (UTC): the cut-off hour (0-23) used to define the grouping period; default 19. - MO grouping interval (days): how many days back the period covers; default 1.

Odoo validates these values: the hour must be between 0 and 23 and the interval must be positive. The module also avoids creating duplicate work orders and finished-product moves for orders that are being merged, and skips creating raw material moves when the target order already has them. It touches the manufacturing order, stock move, stock rule and operation type models.

Depends on

mrp
Models and fields (3)
  • stock.move · extends an existing model
  • mrp.production · extends an existing model
  • stock.picking.type · extends an existing modelmo_grouping_interval (MO grouping interval (days)), mo_grouping_max_hour (MO grouping max. hour (UTC))

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

Sources · Odoo 16.0

Confirmed on 2026-11-03 in branch 16.0 of OCA/manufacture.

terminal Installation and usage

OCA documentation · Odoo 16.0

To configure the time frame for grouping manufacturing order:

  • Go to Inventory > Configuration > Warehouse Management > Operation Types
  • Locate the manufacturing type you are using (default one is called "Manufacturing").
  • Open it and change these 2 values:
  • MO grouping max. hour (UTC): The maximum hour (between 0 and 23) for considering new manufacturing orders inside the same interval period, and thus being grouped on the same MO. IMPORTANT: The hour should be expressed in UTC.
  • MO grouping interval (days): The number of days for grouping together on the same manufacturing order. Example: If you leave the default values 19 and 1, all the planned orders between 19:00:01 of the previous day and 20:00:00 of the target date will be grouped together.

No verified information in OCA: Installation, Usage.

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.