Product Configurator Manufacturing

product_configurator_mrp
REPOSITORY
REPOSITORYOCA/product-configurator
GIT
GIThttps://github.com/OCA/product-configurator.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/product-configurator/tree/18.0/product_configurator_mrp
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYManufacturing
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Pledra
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Pledra
COMMITTERS
COMMITTERSRuchir Shukla, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/product-configurator
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/product-configurator:
    - product_configurator
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
    - account
    - onboarding
    - analytic
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES mako
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Product Configurator wizard available on Manufacturing Orders.

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
mrp_bom_form_view product.config.mrp.bom.form.view mrp.bom xpath Inherits mrp.mrp_bom_form_view
mrp_bom_line_config_set_form_view mrp.bom.line.configuration.set.form.view mrp.bom.line.configuration.set form New
mrp_bom_line_config_set_tree_view mrp.bom.line.configuration.set.tree.view mrp.bom.line.configuration.set list New
mrp_production_form_view_config product.config.mrp.form.view mrp.production xpath Inherits mrp.mrp_production_form_view
Models touched (7)

New fields (1)
  • config_ok Boolean
    readonly=True related='product_tmpl_id.config_ok' store=True string='Configurable'
Public methods (0)

No public methods.

New fields (1)
  • config_set_id Many2one → mrp.bom.line.configuration.set
    comodel_name='mrp.bom.line.configuration.set' string='Configuration Set'
Public methods (0)

No public methods.

New fields (2)
  • config_set_id Many2one → mrp.bom.line.configuration.set
    comodel_name='mrp.bom.line.configuration.set' ondelete='cascade' required=True
  • value_ids Many2many → product.attribute.value
    comodel_name='product.attribute.value' required=True string='Attribute Values'
Public methods (0)

No public methods.

New fields (3)
  • bom_line_ids One2many → mrp.bom.line
    comodel_name='mrp.bom.line' inverse_name='config_set_id' readonly=True string='BoM Lines'
  • configuration_ids One2many → mrp.bom.line.configuration
    comodel_name='mrp.bom.line.configuration' inverse_name='config_set_id' string='Configurations'
  • name Char
    required=True string='Configuration'
Public methods (0)

No public methods.

New fields (3)
  • config_ok Boolean
    readonly=True related='product_id.config_ok' store=True string='Configurable'
  • config_session_id Many2one → product.config.session
    comodel_name='product.config.session' string='Config Session'
  • custom_value_ids One2many → product.config.session.custom.value
    comodel_name='product.config.session.custom.value' inverse_name='cfg_session_id' related='config_session_id.custom_value_ids' string='Custom Values'
Public methods (2)
  • action_config_start(self)
    @api.model
    Return action to start configuration wizard
  • reconfigure_product(self)
    Creates and launches a product configurator wizard with a linked template and variant in order to re-configure a existing product. It is esetially a shortcut to pre-fill configuration data of a variant

New fields (0)

No new fields.

Public methods (3)
  • create_get_bom(self, variant, product_tmpl_id=None, values=None)
  • create_get_variant(self, value_ids=None, custom_vals=None)
  • sanitized_spec(self, specs)
    New method to sanitize the specifications by removing invalid entries fix the onchange issue. In 'get_onchange_specifications()', all the fields of the model view are retrieved, and their values are returned as "field_name.value", causing issues in the BOM onchange values.

New fields (1)
  • order_id Many2one → mrp.production
    comodel_name='mrp.production' string='Manufacturing Order'
Public methods (2)
  • action_config_done(self)
    Parse values and execute final code before closing the wizard
  • get_mrp_production_action(self)
REPOSITORY
REPOSITORYOCA/product-configurator
GIT
GIThttps://github.com/OCA/product-configurator.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/product-configurator/tree/16.0/product_configurator_mrp
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYManufacturing
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Pledra
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Pledra
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/product-configurator
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:41
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/product-configurator:
    - product_configurator
odoo/odoo:
    - mrp
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - analytic
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES mako
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
mrp_bom_form_view product.config.mrp.bom.form.view mrp.bom xpath Inherits mrp.mrp_bom_form_view
mrp_bom_line_config_set_form_view mrp.bom.line.configuration.set.form.view mrp.bom.line.configuration.set form New
mrp_bom_line_config_set_tree_view mrp.bom.line.configuration.set.tree.view mrp.bom.line.configuration.set tree New
mrp_production_form_view_config product.config.mrp.form.view mrp.production xpath Inherits mrp.mrp_production_form_view
mrp_production_kanban_view_config product.config.mrp.kanban.view mrp.production xpath Inherits mrp.mrp_production_kanban_view
mrp_production_tree_view_config product.config.mrp.tree.view mrp.production xpath Inherits mrp.mrp_production_tree_view
Models touched (7)

New fields (1)
  • config_ok Boolean
    readonly=True related='product_tmpl_id.config_ok' store=True string='Configurable'
Public methods (0)

No public methods.

New fields (1)
  • config_set_id Many2one → mrp.bom.line.configuration.set
    comodel_name='mrp.bom.line.configuration.set' string='Configuration Set'
Public methods (0)

No public methods.

New fields (2)
  • config_set_id Many2one → mrp.bom.line.configuration.set
    comodel_name='mrp.bom.line.configuration.set' ondelete='cascade' required=True
  • value_ids Many2many → product.attribute.value
    comodel_name='product.attribute.value' required=True string='Attribute Values'
Public methods (0)

No public methods.

New fields (3)
  • bom_line_ids One2many → mrp.bom.line
    comodel_name='mrp.bom.line' inverse_name='config_set_id' readonly=True string='BoM Lines'
  • configuration_ids One2many → mrp.bom.line.configuration
    comodel_name='mrp.bom.line.configuration' inverse_name='config_set_id' string='Configurations'
  • name Char
    required=True string='Configuration'
Public methods (0)

No public methods.

New fields (3)
  • config_ok Boolean
    readonly=True related='product_id.config_ok' store=True string='Configurable'
  • config_session_id Many2one → product.config.session
    comodel_name='product.config.session' string='Config Session'
  • custom_value_ids One2many → product.config.session.custom.value
    comodel_name='product.config.session.custom.value' inverse_name='cfg_session_id' related='config_session_id.custom_value_ids' string='Custom Values'
Public methods (2)
  • action_config_start(self)
    Return action to start configuration wizard
  • reconfigure_product(self)
    Creates and launches a product configurator wizard with a linked template and variant in order to re-configure a existing product. It is esetially a shortcut to pre-fill configuration data of a variant

New fields (0)

No new fields.

Public methods (2)
  • create_get_bom(self, variant, product_tmpl_id=None, values=None)
  • create_get_variant(self, value_ids=None, custom_vals=None)

New fields (1)
  • order_id Many2one → mrp.production
    comodel_name='mrp.production' string='Manufacturing Order'
Public methods (2)
  • action_config_done(self)
    Parse values and execute final code before closing the wizard
  • get_mrp_production_action(self)
REPOSITORY
REPOSITORYOCA/product-configurator
GIT
GIThttps://github.com/OCA/product-configurator.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/product-configurator/tree/14.0/product_configurator_mrp
VERSION
VERSION 1.3.0
CATEGORY
CATEGORYManufacturing
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Pledra
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Pledra
COMMITTERS
COMMITTERSGitHub, Paul Catinean, Daniel Reis, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Benjamin Henquet, Vimal Patel, Patrick Wilson, Chandresh Thakkar OSI, PRV
WEBSITE
WEBSITEhttps://github.com/OCA/product-configurator
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:50
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/product-configurator:
    - product_configurator
odoo/odoo:
    - mrp
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - stock
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - analytic
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
assets_backend Product Configurator Assets ir.ui.view qweb Inherits web.assets_backend
mrp_bom_form_view product.config.mrp.bom.form.view mrp.bom xpath Inherits mrp.mrp_bom_form_view
mrp_bom_line_config_set_form_view mrp.bom.line.configuration.set.form.view mrp.bom.line.configuration.set form New
mrp_bom_line_config_set_tree_view mrp.bom.line.configuration.set.tree.view mrp.bom.line.configuration.set tree New
mrp_production_form_view_config product.config.mrp.form.view mrp.production xpath Inherits mrp.mrp_production_form_view
mrp_production_kanban_view_config product.config.mrp.kanban.view mrp.production xpath Inherits mrp.mrp_production_kanban_view
mrp_production_tree_view_config product.config.mrp.tree.view mrp.production xpath Inherits mrp.mrp_production_tree_view
Models touched (7)

New fields (1)
  • config_ok Boolean
    readonly=True related='product_tmpl_id.config_ok' store=True string='Configurable'
Public methods (0)

No public methods.

New fields (1)
  • config_set_id Many2one → mrp.bom.line.configuration.set
    comodel_name='mrp.bom.line.configuration.set' string='Configuration Set'
Public methods (0)

No public methods.

New fields (2)
  • config_set_id Many2one → mrp.bom.line.configuration.set
    comodel_name='mrp.bom.line.configuration.set' ondelete='cascade' required=True
  • value_ids Many2many → product.attribute.value
    comodel_name='product.attribute.value' required=True string='Attribute Values'
Public methods (0)

No public methods.

New fields (3)
  • bom_line_ids One2many → mrp.bom.line
    comodel_name='mrp.bom.line' inverse_name='config_set_id' readonly=True string='BoM Lines'
  • configuration_ids One2many → mrp.bom.line.configuration
    comodel_name='mrp.bom.line.configuration' inverse_name='config_set_id' string='Configurations'
  • name Char
    required=True string='Configuration'
Public methods (0)

No public methods.

New fields (3)
  • config_ok Boolean
    readonly=True related='product_id.config_ok' store=True string='Configurable'
  • config_session_id Many2one → product.config.session
    comodel_name='product.config.session' string='Config Session'
  • custom_value_ids One2many → product.config.session.custom.value
    comodel_name='product.config.session.custom.value' inverse_name='cfg_session_id' related='config_session_id.custom_value_ids' string='Custom Values'
Public methods (2)
  • action_config_start(self)
    Return action to start configuration wizard
  • reconfigure_product(self)
    Creates and launches a product configurator wizard with a linked template and variant in order to re-configure a existing product. It is esetially a shortcut to pre-fill configuration data of a variant

New fields (0)

No new fields.

Public methods (2)
  • create_get_bom(self, variant, product_tmpl_id=None, values=None)
  • create_get_variant(self, value_ids=None, custom_vals=None)

New fields (1)
  • order_id Many2one → mrp.production
    comodel_name='mrp.production' string='Manufacturing Order'
Public methods (2)
  • action_config_done(self)
    Parse values and execute final code before closing the wizard
  • get_mrp_production_action(self)
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/product-configurator
PULL REQUEST
PULL REQUEST[19.0][MIG] product_configurator_mrp: Migration to 19.0. (#177)