Skip to main content

Provides an abstract model for product variant configuration.

Project description

Beta License: AGPL-3 OCA/product-variant Translate me on Weblate Try me on Runbot

Provides an abstract model for product variant configuration. It provides the basic functionality for presenting a table with the attributes of a template and the possibility to select one of the valid values. You can try this functionality creating a product variant directly selecting a product template that has attributes.

This module also prevents in a configurable way the creation of the product variants when defining the attributes and attribute values of the product template.

Table of contents


(after installing sale_management application)

To configure the creation of the variants behaviour, you need to:

  1. Go to Sales > Configuration > Settings, and select “Attributes and Variants (Set product attributes (e.g. color, size) to sell variants)” on “Product Catalog” section.
  2. Go to Sales > Catalog > Products, and select a product.
  3. On the Variants tab edit the value of the field Variant Creation.
  4. If you want to stop the automatic creation of the variant, and have the same behaviour for all the products in the same category, go to Inventory > Configuration > Product Categories, select the category and check the checkbox Don't create variants automatically.


(after installing sale_management application)

  1. Go to Sales > Catalog > Product Variants.
  2. Click on “Create” button for creating a new one.
  3. On the field “Product Template”, select a product template that has several attributes.
  4. A table with the attributes of the template will appear below.
  5. Select all the attribute values and click on “Save” button.
  6. A new product variant will be created for that attributes.
  7. An error will raise if there’s another variant with the same attribute values or if you haven’t filled all the required values.


To use product configurator in your model, you need to:

  1. The product.configurator is an abstract model, hence, to be used it must be inherited in your model:
  2. If the model you’re inheriting has name attribute, and it uses the related parameter you must override it.
class AModel(models.Model):
    _inherit = ['module.model', 'product.configurator']
    name = fields.Char(related="delegated_field.related_field")

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.



  • AvanzOSC
  • Tecnativa



This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/product-variant project on GitHub.

You are welcome to contribute. To learn how please visit

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for odoo11-addon-product-variant-configurator, version
Filename, size File type Python version Upload date Hashes
Filename, size odoo11_addon_product_variant_configurator- (185.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page