OdooWiki OCA HUB

Product Configurator

product_configurator folder_open OCA/product-configurator open_in_new
Generic Modules/Base License: AGPL-3

This module has all the mechanics to support product configuration. It serves as a base dependency for configuration interfaces.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Turns Odoo products into configurable products: users pick attribute values step by step in a wizard, with rules, images, extra prices and weights, and the system builds the matching variant.

This module adds the base mechanics for configuring products in Odoo. On a product template you can tick "Can be Configured"; such templates no longer create variants automatically and instead are configured through a wizard.

  • Attributes can be marked as required, multi-value, or allow custom values (text, number, colour, date, attachment), with minimum/maximum values for numbers.
  • On each product you define attribute lines, default values, configuration steps, restrictions (rules that limit which values can be combined), and configuration images shown for given value combinations.
  • The wizard (product.configurator) guides the user through steps, shows the matching image, computes the price and weight, and creates or updates the product variant. Existing variants can be re-configured.
  • Variant names can be generated from a template, and extra weight or price can be attached to attribute values.
  • Checks prevent invalid or duplicate configurations, default values that break the rules, and attribute values not defined on the template.
  • Access rights can restrict who may create, change or delete configurable products.

It touches product.template, product.product, product.attribute, product.attribute.value, attribute lines and prices, and adds new models for restrictions, steps, images, sessions and custom values.

Depends on

accountstock

Menus it adds

ConfiguratorConfigurable ProductsConfigurationmenu_product_configurable_template_actionConfigurable VariantsSettingsConfiguration StepsConfiguration RestrictionsConfiguration Sessionsmenu_attribute_action_configurationmenu_variants_action_configuration
Models and fields (16)
  • product.product · extends an existing modelweight, config_name (Configuration Name), weight_dummy (Manual Weight), weight_extra, config_preset_ok (Is Preset)
  • product.template · extends an existing modelweight, config_ok (Can be Configured), weight_dummy (Manual Weight), mako_tmpl_name (Variant name), config_line_ids (Attribute Dependencies), config_image_ids (Configuration Images), config_step_line_ids (Configuration Lines), attribute_line_val_ids, attribute_value_line_ids (Attribute Value Lines)
  • product.attribute · extends an existing modelimage, multi, active, uom_id (Unit of Measure), max_val (Max Value), min_val (Min Value), required, search_ok (Searchable), val_custom (Custom Value), custom_type (Field Type), description
  • product.config.line · new modelsequence, domain_id (Restrictions), value_ids (Values), product_tmpl_id (Product Template), attr_line_val_ids (Allowed Attribute Values), attribute_line_id (Attribute Line), template_attribute_ids (Template Attributes)
  • product.config.step · new modelname
  • product.config.image · new modelname, sequence, value_ids (Configuration), product_tmpl_id (Product)
  • product.configurator · new modelproduct_id (Product Variant), product_img, config_step_ids (Configuration Steps), config_session_id (Configuration Session), attribute_line_ids (Attributes)
  • product.config.domain · new modelname, implied_ids (Inherited), domain_line_ids (Restrictions), trans_implied_ids (Transitively inherits)
  • product.config.session · new modelname (Configuration Session Number), price, state, weight, user_id (User), value_ids, product_id, config_step (Configuration Step ID), currency_id (Currency), product_tmpl_id (Configurable Template), config_step_name (Configuration Step), custom_value_ids (Custom Values), product_preset_id (Preset)
  • product.attribute.value · extends an existing modelimage, active, product_id
  • product.config.step.line · new modelname, sequence, config_step_id (Configuration Step), product_tmpl_id (Product Template), attribute_line_ids (Attribute Lines)
  • product.config.domain.line · new modeloperator (Operators), sequence, condition, domain_id (Rule), value_ids (Values), attribute_id (Attribute), template_attribute_value_ids (Template Attribute Values)
  • product.attribute.value.line · new modelsequence, value_id (Attribute Value), value_ids (Values Configuration), attribute_id, product_tmpl_id (Product Template), product_value_ids
  • product.template.attribute.line · extends an existing modelmulti, custom, required, sequence, default_val, readonly_condition, required_condition, invisible_condition
  • product.template.attribute.value · extends an existing modelweight_extra (Attribute Weight Extra)
  • product.config.session.custom.value · new modelname, value, attribute_id (Attribute), attachment_ids (Attachments), cfg_session_id (Session)

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 4 confirmed, 5 with no information of 9 versions.

Sources · Odoo 18.0

Confirmed on 2026-11-03 in branch 18.0 of OCA/product-configurator.

terminal Installation and usage

No verified information

Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.

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.