MRP - BoM version

mrp_bom_version
REPOSITORY
REPOSITORYOCA/manufacture
GIT
GIThttps://github.com/OCA/manufacture.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/manufacture/tree/18.0/mrp_bom_version
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYManufacturing
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), AvanzOSC, OdooMRP team, Serv. Tecnol. Avanzados - Pedro M. Baeza
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), AvanzOSC, OdooMRP team, Serv. Tecnol. Avanzados - Pedro M. Baeza
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Bhavesh Heliconia
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
# MRP - BoM Version

This module provides a state in the BoM whether to allow their use in
manufacturing.

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
mrp_bom_version_form_view mrp.bom sheet Inherits mrp.mrp_bom_form_view
mrp_bom_version_search_view mrp.bom filter Inherits mrp.view_mrp_bom_filter
mrp_bom_version_tree_view mrp.bom list Inherits mrp.mrp_bom_tree_view
mrp_config_settings_versioning res.config.settings setting Inherits mrp.res_config_settings_view_form
Models touched (2)

New fields (20)
  • active Boolean
    default=_default_active readonly=True
  • bom_line_ids One2many
  • byproduct_ids One2many
  • code Char
  • company_id Many2one
  • consumption Selection
  • historical_date Date
    copy=False readonly=True
  • old_versions Many2many → mrp.bom
    comodel_name='mrp.bom' compute='_compute_old_versions'
  • operation_ids One2many
  • picking_type_id Many2one
  • previous_bom_id Many2one → mrp.bom
    comodel_name='mrp.bom' copy=False string='Previous BoM'
  • product_id Many2one
  • product_qty Float
  • product_tmpl_id Many2one
  • product_uom_id Many2one
  • ready_to_produce Selection
  • sequence Integer
  • state Selection
    copy=False default=_default_state index=True readonly=True selection=[('draft', 'Draft'), ('active', 'Active'), ('historical', 'Historical')] string='Status'
  • type Selection
  • version Integer
    copy=False default=1
Public methods (6)
  • button_activate(self)
  • button_draft(self)
  • button_historical(self)
  • button_new_version(self)
  • get_view(self, view_id=None, view_type='form', **options)
    @api.model
  • search(self, args, offset=0, limit=None, order=None)
    @api.model
    Add search argument for field type if the context says so. This should be in old API because context argument is not the last one.

New fields (2)
  • active_draft Boolean
    config_parameter='mrp_bom_version.active_draft' help='This will allow you to define if those BoM passed back to draft are still activated or not' string='Keep re-editing BoM active'
  • group_mrp_bom_version Boolean
    help='The active state may be passed back to state draft' implied_group='mrp_bom_version.group_mrp_bom_version' string='Allow to re-edit BoMs'
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/16.0/mrp_bom_version
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYManufacturing
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), AvanzOSC, OdooMRP team, Serv. Tecnol. Avanzados - Pedro M. Baeza
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), AvanzOSC, OdooMRP team, Serv. Tecnol. Avanzados - Pedro M. Baeza
COMMITTERS
COMMITTERSGitHub, Weblate, oca-ci, Berezi Amubieta, Kay K. Cross
WEBSITE
WEBSITEhttps://github.com/OCA/manufacture
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:50
ODOO DEPENDENCIES
ODOO DEPENDENCIES 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
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
mrp_bom_version_form_view mrp.bom sheet Inherits mrp.mrp_bom_form_view
mrp_bom_version_search_view mrp.bom filter Inherits mrp.view_mrp_bom_filter
mrp_bom_version_tree_view mrp.bom tree Inherits mrp.mrp_bom_tree_view
mrp_config_settings_versioning res.config.settings div Inherits mrp.res_config_settings_view_form
Models touched (2)

New fields (20)
  • active Boolean
    default=_default_active readonly=True states={'draft': [('readonly', False)]}
  • bom_line_ids One2many
    readonly=True states={'draft': [('readonly', False)]}
  • byproduct_ids One2many
    readonly=True states={'draft': [('readonly', False)]}
  • code Char
    states={'historical': [('readonly', True)]}
  • company_id Many2one
    states={'historical': [('readonly', True)]}
  • consumption Selection
    states={'historical': [('readonly', True)]}
  • historical_date Date
    copy=False readonly=True
  • old_versions Many2many → mrp.bom
    comodel_name='mrp.bom' compute='_compute_old_versions'
  • operation_ids One2many
    readonly=True states={'draft': [('readonly', False)]}
  • picking_type_id Many2one
    states={'historical': [('readonly', True)]}
  • previous_bom_id Many2one → mrp.bom
    comodel_name='mrp.bom' copy=False string='Previous BoM'
  • product_id Many2one
    readonly=True states={'draft': [('readonly', False)]}
  • product_qty Float
    readonly=True states={'draft': [('readonly', False)]}
  • product_tmpl_id Many2one
    readonly=True states={'draft': [('readonly', False)]}
  • product_uom_id Many2one
    states={'historical': [('readonly', True)]}
  • ready_to_produce Selection
    states={'historical': [('readonly', True)]}
  • sequence Integer
    states={'historical': [('readonly', True)]}
  • state Selection
    copy=False default=_default_state index=True readonly=True selection=[('draft', 'Draft'), ('active', 'Active'), ('historical', 'Historical')] string='Status'
  • type Selection
    states={'historical': [('readonly', True)]}
  • version Integer
    copy=False default=1 states={'historical': [('readonly', True)]}
Public methods (5)
  • button_activate(self)
  • button_draft(self)
  • button_historical(self)
  • button_new_version(self)
  • search(self, args, offset=0, limit=None, order=None, count=False)
    @api.model
    Add search argument for field type if the context says so. This should be in old API because context argument is not the last one.

New fields (2)
  • active_draft Boolean
    config_parameter='mrp_bom_version.active_draft' help='This will allow you to define if those BoM passed back to draft are still activated or not' string='Keep re-editing BoM active'
  • group_mrp_bom_version Boolean
    help='The active state may be passed back to state draft' implied_group='mrp_bom_version.group_mrp_bom_version' string='Allow to re-edit BoMs'
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/8.0/mrp_bom_version
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYManufacturing
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), AvanzOSC, OdooMRP team, Serv. Tecnol. Avanzados - Pedro M. Baeza
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), AvanzOSC, OdooMRP team, Serv. Tecnol. Avanzados - Pedro M. Baeza
COMMITTERS
COMMITTERSPedro M. Baeza, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate, OCA-git-bot, oihane, Oihane Crucelaegui
WEBSITE
WEBSITEhttp://www.odoomrp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:24
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mrp
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - report
    - procurement
    - stock_account
    - stock
    - board
    - web_kanban_gauge
    - web_kanban_sparkline
    - account
    - analytic
    - edi
    - email_template
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
mrp.mrp_bom_tree_parent_view mrp.bom.tree mrp.bom tree New
mrp_bom_version_form_view mrp.bom.version.form mrp.bom xpath Inherits mrp.mrp_bom_form_view
mrp_bom_version_search_view mrp.bom.version.search mrp.bom field Inherits mrp.view_mrp_bom_filter
mrp_bom_version_tree_view mrp.bom.version.tree mrp.bom field Inherits mrp.mrp_bom_tree_parent_view
mrp_config_settings_versioning mrp.config.settings.versioning mrp.config.settings xpath Inherits mrp.view_mrp_config
Models touched (2)

New fields (24)
  • active Boolean
    default=_default_active readonly=True states={'draft': [('readonly', False)]}
  • bom_line_ids One2many
    readonly=True states={'draft': [('readonly', False)]}
  • code Char
    states={'historical': [('readonly', True)]}
  • company_id Many2one
    states={'historical': [('readonly', True)]}
  • date_start Date
    states={'historical': [('readonly', True)]}
  • date_stop Date
    states={'historical': [('readonly', True)]}
  • historical_date Date
    readonly=True string='Historical Date'
  • message_follower_ids Many2many
    states={'historical': [('readonly', True)]}
  • message_ids One2many
    states={'historical': [('readonly', True)]}
  • name Char
    states={'historical': [('readonly', True)]}
  • old_versions Many2many → mrp.bom
    comodel_name='mrp.bom' compute='_get_old_versions' string='Old Versions'
  • parent_bom Many2one → mrp.bom
    comodel_name='mrp.bom' copy=False string='Parent BoM'
  • position Char
    states={'historical': [('readonly', True)]}
  • product_efficiency Float
    states={'historical': [('readonly', True)]}
  • product_id Many2one
    readonly=True states={'draft': [('readonly', False)]}
  • product_qty Float
    readonly=True states={'draft': [('readonly', False)]}
  • product_rounding Float
    states={'historical': [('readonly', True)]}
  • product_tmpl_id Many2one
    readonly=True states={'draft': [('readonly', False)]}
  • product_uom Many2one
    states={'historical': [('readonly', True)]}
  • property_ids Many2many
    states={'historical': [('readonly', True)]}
  • routing_id Many2one
    readonly=True states={'draft': [('readonly', False)]}
  • state Selection
    copy=False default=_default_state index=True readonly=True selection=[('draft', 'Draft'), ('active', 'Active'), ('historical', 'Historical')] string='State'
  • type Selection
    states={'historical': [('readonly', True)]}
  • version Integer
    copy=False default=1 states={'historical': [('readonly', True)]}
Public methods (5)
  • button_activate(self)
    @api.multi
  • button_draft(self)
    @api.multi
  • button_historical(self)
    @api.multi
  • button_new_version(self)
    @api.multi
  • search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False)
    Add search argument for field type if the context says so. This should be in old API because context argument is not the last one.

New fields (2)
  • active_draft Boolean
    help='This will allow you to define if those BoM passed back to draft are still activated or not' string='Keep re-editing BoM active'
  • group_mrp_bom_version Boolean
    help='The active state may be passed back to state draft' implied_group='mrp_bom_version.group_mrp_bom_version' string='Allow to re-edit BoMs'
Public methods (2)
  • get_default_parameters(self)
    @api.multi
  • set_parameters(self)
    @api.multi
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/manufacture
PULL REQUEST
PULL REQUEST[17.0][MIG] mrp_bom_version: Migration to 17.0 (#1681)