Manufacturing Order Auto-Validate

mrp_production_auto_validate
REPOSITORY
REPOSITORYOCA/manufacture
GIT
GIThttps://github.com/OCA/manufacture.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/manufacture/tree/18.0/mrp_production_auto_validate
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYManufacturing
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSThierry Ducrest, Weblate, OCA-git-bot, oca-ci, chaule97
WEBSITE
WEBSITEhttps://github.com/OCA/manufacture
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:14
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mrp
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Auto-validate manufacturing orders when the "Pick components" transfer
operation is validated. This feature has to be enabled for each Bill of
Material to produce.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
mrp_bom_form_view mrp.bom.form.inherit mrp.bom field Inherits mrp.mrp_bom_form_view
mrp_production_form_view mrp.production.form.inherit mrp.production div Inherits mrp.mrp_production_form_view
Models touched (6)

New fields (0)

No new fields.

Public methods (1)
  • action_done(self)

New fields (1)
  • mo_auto_validation Boolean
    default=False help="Validate automatically the manufacturing order when the 'Pick Components' transfer is validated.\nThis behavior is available only if the warehouse is configured with 2 or 3 steps." string='Order Auto Validation'
Public methods (1)
  • onchange_type_auto_validation(self)
    @api.onchange('type')

New fields (1)
  • auto_validate Boolean
    compute='_compute_auto_validate' store=True
Public methods (4)
  • adapt_values_qty_for_auto_validation(self, values_list)
    @api.model
    Adapt create values according to qty with auto validated BOM If MOs are to be created with a BOM having auto validation, we must ensure the quantity of the MO is equal to the quantity of the BOM. However when MOs are created through procurements, the requested quantity is based on the procurement quantity, so we should either * increase the quantity to match the BOM if procurement value is lower * split the values to create one MO into multiple values to create multiple MOs matching the BOM quantity if procurement value is bigger
  • check_bom_auto_validate(self)
    @api.constrains('bom_id', 'auto_validate', 'product_qty')
  • create(self, values_list)
    @api.model_create_multi
  • handle_mark_done_result(self, res)

New fields (0)

No new fields.

Public methods (1)
  • action_backorder(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/manufacture
GIT
GIThttps://github.com/OCA/manufacture.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/manufacture/tree/14.0/mrp_production_auto_validate
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYManufacturing
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSSébastien Alix, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/manufacture
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:03
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mrp
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - stock
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
mrp_bom_form_view mrp.bom.form.inherit mrp.bom field Inherits mrp.mrp_bom_form_view
mrp_production_form_view mrp.production.form.inherit mrp.production div Inherits mrp.mrp_production_form_view
Models touched (5)

New fields (2)
  • mo_auto_validation Boolean
    default=False help="Validate automatically the manufacturing order when the 'Pick Components' transfer is validated.\nThis behavior is available only if the warehouse is configured with 2 or 3 steps." string='Order Auto Validation'
  • mo_auto_validation_warning Char
    compute='_compute_mo_auto_validation_warning' string='Order Auto Validation (warning)'
Public methods (1)
  • onchange_type_auto_validation(self)
    @api.onchange('type')

New fields (1)
  • auto_validate Boolean
    compute='_compute_auto_validate' states={'draft': [('readonly', False)]} store=True string='Auto Validate'
Public methods (4)
  • adapt_values_qty_for_auto_validation(self, values_list)
    @api.model
    Adapt create values according to qty with auto validated BOM If MOs are to be created with a BOM having auto validation, we must ensure the quantity of the MO is equal to the quantity of the BOM. However when MOs are created through procurements, the requested quantity is based on the procurement quantity, so we should either * increase the quantity to match the BOM if procurement value is lower * split the values to create one MO into multiple values to create multiple MOs matching the BOM quantity if procurement value is bigger
  • check_bom_auto_validate(self)
    @api.constrains('bom_id', 'auto_validate', 'product_qty')
  • create(self, values_list)
    @api.model_create_multi
  • handle_mark_done_result(self, res)

New fields (0)

No new fields.

Public methods (1)
  • action_backorder(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.