Purchase Matrix

purchase_product_matrix
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/19.0/purchase_product_matrix
VERSION
VERSION 1.0
CATEGORY
CATEGORYSupply Chain/Purchase
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo S.A.
MAINTAINERS
MAINTAINERSOdoo S.A.
COMMITTERS
COMMITTERSOdoo Translation Bot, Julien Castiaux, William Henrotin, Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, Dylan Kiss (dyki), nihp-odoo, Stéphane Diez, Pierre Pulinckx (PIPU), khsr-odoo, Michaël Mattiello, Pierre Pulinckx, Bastien PIERRE, joseph, Lulu Grimalkin (lugr), srap-odoo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:51:45
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - http_routing
    - auth_signup
    - digest
    - resource
    - product_matrix
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows to fill Purchase Orders rapidly
by choosing product variants quantity through a Grid Entry.
    

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
grid_purchaseorder_inherit grid_purchaseorder_inherit ir.ui.view qweb Inherits purchase.report_purchaseorder_document
grid_report_purchaseorder_template_inherit grid_report_purchaseorder_template_inherit ir.ui.view qweb Inherits purchase.report_purchasequotation_document
purchase_order_form_matrix purchase.order.form.inherit.matrix purchase.order xpath Inherits purchase.purchase_order_form
Models touched (2)

New fields (4)
  • grid Char
    help='Technical storage of grid. \nIf grid_update, will be loaded on the PO. \nIf not, represents the matrix to open.' store=False
  • grid_product_tmpl_id Many2one → product.template
    help='Technical field for product_matrix functionalities.' store=False args: 'product.template'
  • grid_update Boolean
    default=False help='Whether the grid field contains a new matrix to apply or not.' store=False
  • report_grids Boolean
    default=True help='If set, the matrix of configurable products will be shown on the report of this order.' string='Print Variant Grids'
Public methods (1)
  • get_report_matrixes(self)
    Reporting method.

New fields (3)
  • is_configurable_product Boolean
    related='product_template_id.has_configurable_attributes' args: 'Is the product configurable?'
  • product_template_attribute_value_ids Many2many
    readonly=True related='product_id.product_template_attribute_value_ids'
  • product_template_id Many2one → product.template
    domain=[('purchase_ok', '=', True)] related='product_id.product_tmpl_id' string='Product Template' args: 'product.template'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/18.0/purchase_product_matrix
VERSION
VERSION 1.0
CATEGORY
CATEGORYInventory/Purchase
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Aaron Bohy, Odoo Online, Victor Feyens, William Henrotin, Tiffany Chang (tic), Gorash, Dylan Kiss (dyki), sami odoo, Louis (wil), Pierre Pulinckx (PIPU), khsr-odoo, Pierre Pulinckx (pipu), Bastien PIERRE, joseph, rare-odoo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:25:58
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - product_matrix
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows to fill Purchase Orders rapidly
by choosing product variants quantity through a Grid Entry.
    

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
grid_purchaseorder_inherit grid_purchaseorder_inherit ir.ui.view qweb Inherits purchase.report_purchaseorder_document
grid_report_purchaseorder_template_inherit grid_report_purchaseorder_template_inherit ir.ui.view qweb Inherits purchase.report_purchasequotation_document
purchase_order_form_matrix purchase.order.form.inherit.matrix purchase.order xpath Inherits purchase.purchase_order_form
Models touched (2)

New fields (4)
  • grid Char
    help='Technical storage of grid. \nIf grid_update, will be loaded on the PO. \nIf not, represents the matrix to open.' store=False
  • grid_product_tmpl_id Many2one → product.template
    help='Technical field for product_matrix functionalities.' store=False args: 'product.template'
  • grid_update Boolean
    default=False help='Whether the grid field contains a new matrix to apply or not.' store=False
  • report_grids Boolean
    default=True help='If set, the matrix of configurable products will be shown on the report of this order.' string='Print Variant Grids'
Public methods (1)
  • get_report_matrixes(self)
    Reporting method.

New fields (4)
  • is_configurable_product Boolean
    related='product_template_id.has_configurable_attributes' args: 'Is the product configurable?'
  • product_no_variant_attribute_value_ids Many2many → product.template.attribute.value
    ondelete='restrict' string='Product attribute values that do not create variants' args: 'product.template.attribute.value'
  • product_template_attribute_value_ids Many2many
    readonly=True related='product_id.product_template_attribute_value_ids'
  • product_template_id Many2one → product.template
    domain=[('purchase_ok', '=', True)] related='product_id.product_tmpl_id' string='Product Template' args: 'product.template'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/17.0/purchase_product_matrix
VERSION
VERSION 1.0
CATEGORY
CATEGORYInventory/Purchase
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Géry Debongnie, Aaron Bohy, Odoo Online, Jorge Pinna Puissant, Victor Feyens, William Henrotin, Joseph Caburnay, Samuel Degueldre, Tiffany Chang (tic), Gorash, Pierre Paridans, Valentin Chevalier, Louis Wicket (wil), clesgow, Dylan Kiss (dyki), Michael (mcm), Louis (wil), Mathieu (mano), Pierre Pulinckx (pipu)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:02:09
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - product_matrix
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows to fill Purchase Orders rapidly
by choosing product variants quantity through a Grid Entry.
    

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
grid_purchaseorder_inherit grid_purchaseorder_inherit ir.ui.view qweb Inherits purchase.report_purchaseorder_document
grid_report_purchaseorder_template_inherit grid_report_purchaseorder_template_inherit ir.ui.view qweb Inherits purchase.report_purchasequotation_document
purchase_order_form_matrix purchase.order.form.inherit.matrix purchase.order xpath Inherits purchase.purchase_order_form
Models touched (2)

New fields (4)
  • grid Char
    help='Technical storage of grid. \nIf grid_update, will be loaded on the PO. \nIf not, represents the matrix to open.' store=False
  • grid_product_tmpl_id Many2one → product.template
    help='Technical field for product_matrix functionalities.' store=False args: 'product.template'
  • grid_update Boolean
    default=False help='Whether the grid field contains a new matrix to apply or not.' store=False
  • report_grids Boolean
    default=True help='If set, the matrix of configurable products will be shown on the report of this order.' string='Print Variant Grids'
Public methods (1)
  • get_report_matrixes(self)
    Reporting method.

New fields (4)
  • is_configurable_product Boolean
    related='product_template_id.has_configurable_attributes' args: 'Is the product configurable?'
  • product_no_variant_attribute_value_ids Many2many → product.template.attribute.value
    ondelete='restrict' string='Product attribute values that do not create variants' args: 'product.template.attribute.value'
  • product_template_attribute_value_ids Many2many
    readonly=True related='product_id.product_template_attribute_value_ids'
  • product_template_id Many2one → product.template
    domain=[('purchase_ok', '=', True)] related='product_id.product_tmpl_id' string='Product Template' args: 'product.template'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/16.0/purchase_product_matrix
VERSION
VERSION 1.0
CATEGORY
CATEGORYInventory/Purchase
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSRaphael Collet, Odoo Translation Bot, Martin Trigaux, Xavier Morel, Damien Bouvy, Victor Feyens, William Henrotin, Touati Djamel (otd), Tiffany Chang (tic), Pierre Paridans, Michael (mcm), Julien Carion (juca), Martin Trigaux (mat)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:53
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - product_matrix
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
        This module allows to fill Purchase Orders rapidly
        by choosing product variants quantity through a Grid Entry.
    

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
grid_purchaseorder_inherit grid_purchaseorder_inherit ir.ui.view qweb Inherits purchase.report_purchaseorder_document
grid_report_purchaseorder_template_inherit grid_report_purchaseorder_template_inherit ir.ui.view qweb Inherits purchase.report_purchasequotation_document
purchase_order_form_matrix purchase.order.form.inherit.matrix purchase.order xpath Inherits purchase.purchase_order_form
Models touched (2)

New fields (4)
  • grid Char
    help='Technical storage of grid. \nIf grid_update, will be loaded on the PO. \nIf not, represents the matrix to open.' store=False
  • grid_product_tmpl_id Many2one → product.template
    help='Technical field for product_matrix functionalities.' store=False args: 'product.template'
  • grid_update Boolean
    default=False help='Whether the grid field contains a new matrix to apply or not.' store=False
  • report_grids Boolean
    default=True help='If set, the matrix of configurable products will be shown on the report of this order.' string='Print Variant Grids'
Public methods (1)
  • get_report_matrixes(self)
    Reporting method.

New fields (4)
  • is_configurable_product Boolean
    related='product_template_id.has_configurable_attributes' args: 'Is the product configurable?'
  • product_no_variant_attribute_value_ids Many2many → product.template.attribute.value
    ondelete='restrict' string='Product attribute values that do not create variants' args: 'product.template.attribute.value'
  • product_template_attribute_value_ids Many2many
    readonly=True related='product_id.product_template_attribute_value_ids'
  • product_template_id Many2one → product.template
    domain=[('purchase_ok', '=', True)] related='product_id.product_tmpl_id' string='Product Template' args: 'product.template'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/15.0/purchase_product_matrix
VERSION
VERSION 1.0
CATEGORY
CATEGORYInventory/Purchase
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Aaron Bohy, Xavier-Do, Victor Feyens, Andrea Grazioso (agr-odoo), Julien Mougenot, Anh Thao Pham (pta), Achraf (abz), Adrien Widart, Touati Djamel (otd), Pierre Paridans, yhu-odoo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:25:29
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - product_matrix
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
        This module allows to fill Purchase Orders rapidly
        by choosing product variants quantity through a Grid Entry.
    

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
grid_purchaseorder_inherit grid_purchaseorder_inherit ir.ui.view qweb Inherits purchase.report_purchaseorder_document
grid_report_purchaseorder_template_inherit grid_report_purchaseorder_template_inherit ir.ui.view qweb Inherits purchase.report_purchasequotation_document
purchase_order_form_matrix purchase.order.form.inherit.matrix purchase.order xpath Inherits purchase.purchase_order_form
Models touched (2)

New fields (4)
  • grid Char
    help='Technical storage of grid. \nIf grid_update, will be loaded on the PO. \nIf not, represents the matrix to open.' store=False
  • grid_product_tmpl_id Many2one → product.template
    help='Technical field for product_matrix functionalities.' store=False args: 'product.template'
  • grid_update Boolean
    default=False help='Whether the grid field contains a new matrix to apply or not.' store=False
  • report_grids Boolean
    default=True help='If set, the matrix of configurable products will be shown on the report of this order.' string='Print Variant Grids'
Public methods (1)
  • get_report_matrixes(self)
    Reporting method.

New fields (4)
  • is_configurable_product Boolean
    related='product_template_id.has_configurable_attributes' args: 'Is the product configurable?'
  • product_no_variant_attribute_value_ids Many2many → product.template.attribute.value
    ondelete='restrict' string='Product attribute values that do not create variants' args: 'product.template.attribute.value'
  • product_template_attribute_value_ids Many2many
    readonly=True related='product_id.product_template_attribute_value_ids'
  • product_template_id Many2one → product.template
    domain=[('purchase_ok', '=', True)] related='product_id.product_tmpl_id' string='Product Template' args: 'product.template'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/14.0/purchase_product_matrix
VERSION
VERSION 1.0
CATEGORY
CATEGORYInventory/Purchase
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Olivier Dony, Christophe Simonis, Aaron Bohy, Yannick Tivisse, Adrien Dieudonne, mreficent, Xavier-Do, Victor Feyens, Andrea Grazioso (agr-odoo), Sébastien Theys, Julien Mougenot, Anh Thao Pham (pta), Achraf (abz), Adrien Widart, Touati Djamel (otd), Pierre Paridans, Kevin Baptiste, yhu-odoo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:14:30
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - product_matrix
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
        This module allows to fill Purchase Orders rapidly
        by choosing product variants quantity through a Grid Entry.
    

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend_inherit_purchase Purchase Grid assets ir.ui.view qweb Inherits web.assets_backend
assets_tests Purchase Product Matrix Assets Tests ir.ui.view qweb Inherits web.assets_tests
grid_purchaseorder_inherit grid_purchaseorder_inherit ir.ui.view qweb Inherits purchase.report_purchaseorder_document
grid_report_purchaseorder_template_inherit grid_report_purchaseorder_template_inherit ir.ui.view qweb Inherits purchase.report_purchasequotation_document
purchase_order_form_matrix purchase.order.form.inherit.matrix purchase.order xpath Inherits purchase.purchase_order_form
qunit_suite purchase_product_matrix tests ir.ui.view qweb Inherits web.qunit_suite_tests
Models touched (2)

New fields (4)
  • grid Char
    help='Technical storage of grid. \nIf grid_update, will be loaded on the PO. \nIf not, represents the matrix to open.' store=False
  • grid_product_tmpl_id Many2one → product.template
    help='Technical field for product_matrix functionalities.' store=False args: 'product.template'
  • grid_update Boolean
    default=False help='Whether the grid field contains a new matrix to apply or not.' store=False
  • report_grids Boolean
    default=True help='If set, the matrix of configurable products will be shown on the report of this order.' string='Print Variant Grids'
Public methods (1)
  • get_report_matrixes(self)
    Reporting method.

New fields (4)
  • is_configurable_product Boolean
    related='product_template_id.has_configurable_attributes' args: 'Is the product configurable?'
  • product_no_variant_attribute_value_ids Many2many → product.template.attribute.value
    ondelete='restrict' string='Product attribute values that do not create variants' args: 'product.template.attribute.value'
  • product_template_attribute_value_ids Many2many
    readonly=True related='product_id.product_template_attribute_value_ids'
  • product_template_id Many2one → product.template
    domain=[('purchase_ok', '=', True)] related='product_id.product_tmpl_id' string='Product Template' args: 'product.template'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/13.0/purchase_product_matrix
VERSION
VERSION 1.0
CATEGORY
CATEGORYOperations/Purchase
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Damien Bouvy, mreficent, Xavier-Do, Victor Feyens, Andrea Grazioso (agr-odoo), Sébastien Theys, Anh Thao Pham (pta), Touati Djamel (otd)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:06:43
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - product_matrix
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
        This module allows to fill Purchase Orders rapidly
        by choosing product variants quantity through a Grid Entry.
    

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend_inherit_purchase Purchase Grid assets ir.ui.view qweb Inherits web.assets_backend
assets_tests Purchase Product Matrix Assets Tests ir.ui.view qweb Inherits web.assets_tests
grid_purchaseorder_inherit grid_purchaseorder_inherit ir.ui.view qweb Inherits purchase.report_purchaseorder_document
grid_report_purchaseorder_template_inherit grid_report_purchaseorder_template_inherit ir.ui.view qweb Inherits purchase.report_purchasequotation_document
purchase_order_form_matrix purchase.order.form.inherit.matrix purchase.order xpath Inherits purchase.purchase_order_form
qunit_suite purchase_product_matrix tests ir.ui.view qweb Inherits web.qunit_suite
Models touched (2)

New fields (4)
  • grid Char
    help='Technical storage of grid. \nIf grid_update, will be loaded on the SO. \nIf not, represents the matrix to open.' store=False
  • grid_product_tmpl_id Many2one → product.template
    help='Technical field for product_matrix functionalities.' store=False args: 'product.template'
  • grid_update Boolean
    default=False help='Whether the grid field contains a new matrix to apply or not.' store=False
  • report_grids Boolean
    default=True help='If set, the matrix of configurable products will be shown on the report of this order.' string='Print Variant Grids'
Public methods (1)
  • get_report_matrixes(self)
    Reporting method.

New fields (4)
  • is_configurable_product Boolean
    related='product_template_id.has_configurable_attributes' args: 'Is the product configurable?'
  • product_no_variant_attribute_value_ids Many2many → product.template.attribute.value
    ondelete='restrict' string='Product attribute values that do not create variants' args: 'product.template.attribute.value'
  • product_template_attribute_value_ids Many2many
    readonly=True related='product_id.product_template_attribute_value_ids'
  • product_template_id Many2one → product.template
    domain=[('purchase_ok', '=', True)] related='product_id.product_tmpl_id' string='Product Template' args: 'product.template'
Public methods (0)

No public methods.