OdooWiki OCA HUB

Handle easily multiple variants on Sales Orders

sale_order_variant_mgmt folder_open OCA/product-variant open_in_new
Sale License: AGPL-3

This module allows to add/modify of all the variants of a product in a direct screen without the need of handling them one by one

auto_awesome What this module does

AI-generated from the code · Odoo 12.0

Add or modify all variants of a product on a sales order from a single grid screen, instead of adding each variant line one by one.

On a sales order in draft or sent state, a new button "Add or Modify Variants" appears above the order lines. It opens a pop-up where you pick a product template and see a two-dimensional grid of its attribute values (for example size against colour). You type the quantity you want for each combination directly in the grid.

  • The grid is built automatically from the product's attributes; only attributes that create variants are used, and templates with more than two attributes are not supported by the grid.
  • Quantities already present on the order are pre-filled, so you can adjust them.
  • Pressing "Transfer to order" updates existing order lines with the new quantities, creates new lines for combinations that had no quantity before, and removes lines whose quantity you set to zero.
  • A "Modify Variants" button is also available on each order line that has variants, opening the same screen pre-filled with that product.

The module adds two hidden helper fields on sale.order.line and works with the sale.order form. It is only visible to users who can manage product variants.

Models and fields (3)
  • sale.order.line · extends an existing modelproduct_attribute_value_ids, product_tmpl_id_sale_order_variant_mgmt
  • sale.manage.variant · new modelproduct_tmpl_id (Template), variant_line_ids (Variant Lines)
  • sale.manage.variant.line · new modelvalue_x, value_y, product_uom_qty (Quantity)

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

Sources · Odoo 12.0

Confirmed on 2026-11-03 in branch 12.0 of OCA/product-variant.

terminal Installation and usage

OCA documentation · Odoo 12.0

This module requires the module web_widget_x2many_2d_matrix, which is located at OCA/web repository.

  • Configure your user to have any permission from "Sales" group.
  • Create a product with 2 attributes and several values.
  • Go to Sales > Orders > Quotations
  • Create a new quotation or edit an existing one.
  • Press "Add variants" button located in the upper right corner of the "Order Lines" tab.
  • A new screen will appear allowing you to select the products that have variants.
  • Once you select the product, a 2D matrix will appear with the first attribute values as columns and the second one as rows.
  • If there are already order lines for the product variants, the current quantity will be pre-filled in the matrix.
  • Change the quantities for the variant you want and click on "Transfer to order"
  • Order lines for the variants will be created/removed to comply with the input you have done.

As extra feature for saving steps, there's also a button on each existing line that corresponds to a variant that opens the dialog directly with the product selected.

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.