Table of Contents

An expertise-backed guide to managing complex product configuration in Odoo — how each works, what it genuinely cannot do, and when each approach breaks down in practice.

Manage Complex Product Configuration in Odoo

Use Standard Odoo Variants & Attributes

This is the core of Odoo’s configuration system.

Attributes (Color, Size, Material) are defined globally or per-product. Each attribute has discrete values (Red, Blue / S, M, L). Every valid combination of values produces a distinct product variant- a unique database record with its own inventory count, barcode, cost, and sales records.

This means, a T-shirt with 4 colors × 5 sizes generates exactly 20 independent variants.

Display Types

Attributes can render as Pills (selectable buttons), Color swatches (HTML hex), Radio buttons, Select dropdowns, or Multi-checkbox. Display Type affects the Product Configurator, POS dashboard, and eCommerce storefront independently.

 

display type odoo

Attribute Value Price

Each attribute value can carry a fixed price surcharge added to the base price. These are visible in the Product Configurator at the moment of selection on a quotation, making per-option pricing clear to the salesperson.

Product Variant Price in Odoo

Exclusion Rules (“Exclude for”)

Each variant value has an “Exclude for” field to block specific value combinations (e.g., “White” unavailable in “XXL”). Odoo marks excluded combinations as unavailable in eCommerce. This is the only native compatibility constraint mechanism in the variant layer.

Variant-Level Data

Each variant stores its own: barcode/SKU, internal reference, cost, sales price, weight, and product images, fully independent from sibling variants. All downstream apps treat each variant as a distinct product.

Variant Creation Modes

The Variant Creation Mode is the most architecturally significant attribute setting. It is set per attribute and, critically, cannot be edited once the attribute is used on any product. Choosing the wrong mode requires deleting the attribute and rebuilding from scratch.

Mode Behaviour POS Best Fit
Instantly All variants created immediately when attributes are added to the product template. Every combination exists as a record from day one. Yes Fixed catalogues with ≤ 3 attributes; all combinations valid and stocked
Dynamically Variant records are only created when added to an actual sales order. Large option spaces remain manageable in the database. No — products vanish from POS Large option spaces where most combinations are never ordered
Never (option) No discrete variant records created. Attributes are informational only. Required for the Multi-checkbox display type to function correctly. Limited Free-text customisations, engravings, personalised notes

Limitations of Standard Odoo Product Configurator

When Variants Multiply Uncontrollably standard Odoo breaks

Odoo generates variants as a Cartesian product of all attribute values. Five attributes with five values each produces 3,125 variants. Community reports and GitHub issues confirm measurable performance degradation on the screen beyond approximately 1,000 variants per template. Large imports (8,000+ variants) can take hours to process.

How to Manage Variant Explosion in Odoo?

No Compatibility Rules Engine in Odoo Quote Calculator

All attributes are presented simultaneously. There is no native “show attribute B only if attribute A = X” step-by-step guided flow. Conditional logic between attributes is absent from the standard configurator.

Standard Odoo Configuration flow Stops at Procurement

The Product Configurator is available on Sales orders, POS, and eCommerce. It is not included natively on Purchase Orders. Third-party or custom modules are required for configurable-product purchasing workflows with vendors.

Can’t Select Multiple Variants at a Time

The Product Configurator adds one variant per interaction. For multi-variant orders, the salesperson must reopen it for each variant. Order Grid Entry resolves this for 2-attribute matrices only with three or more attributes, the grid becomes impractical.

Can’t set Min / max / default Quantities Per Component

Attribute value extras are binary (selected or not). There is no native way to set minimum, maximum, or default quantities for individual configuration options.

Manage Complex Product Configuration with Odoo CPQ

When variant matrices become too large to manage, pricing depends on engineering parameters, or sales teams need guided constraint-based selection flows, CPQ is the correct architectural response. It operates above and independently of the variant layer.

Suggested: What is CPQ in Odoo?

Configuring Product in Odoo CPQ

Step-by-step product configuration screen dynamically show or hide the next step based on prior answers. Non-technical sales reps can quote highly complex products without engineering involvement on each deal.

Constraint-based configuration with smart compatibility rules, mandatory options, and guided step-by-step question flows. Invalid combinations are blocked proactively, not merely hidden after the fact using attribute exclusions.

Rules spanning multiple attributes: “if Motor = 3-phase AND Voltage = 110V, then Starter = Soft-Start (mandatory).”
The cross-attribute dependency logic that the native variant layer fundamentally cannot express.

Custom Odoo CPQ App

Dynamic Price Calculation in Odoo CPQ

Pricing in Odoo CPQ is an output of the configuration, computed from dimensions, quantities, material costs, and customer tier simultaneously.

When a configured price falls below defined margin thresholds or requires an exception discount, CPQ automatically triggers a manager approval chain before the quote can be sent, no separate workaround needed.

Dynamic Price Calculation in Odoo CPQ

Quote & BoM Generation from Configuration

Branded, multi-option proposals generated directly from the configuration output.

CPQ output drives the correct variant BoM components and work center routing. Manufacturing receives exact build specifications from the moment the sale is confirmed, no manual translation from quote to shop floor.

CPQ can generate and resolve configurations without requiring pre-existing product variant records in the database, directly overcoming the single biggest scalability constraint of the native variant system.

Quote & BoM generation in Odoo CPQ

Understand Odoo CPQ better>> Watch Video

Which Product Configuration Method Is Right for Your Business- Standard Configurator vs. CPQ App?

Business Scenario

Standard Product
ATTRIBUTES & VARIANTS

CPQ App

Retail & Consumer Goods

Apparel Color & Size variants Standard
Variants (Instantly) + Order Grid Entry. Color × Size matrix is exactly what the variant system was designed for. Pricelists handle wholesale tiers.
Not needed unless attribute count or seasonal SKU expansion pushes the template beyond ~800 variants.
Consumer electronics — pre-defined specs Standard
Variants (Instantly) + Product Configurator. Storage, colour, and connectivity variants are finite and well-defined. Attribute exclusions handle unavailable combinations (e.g., no Rose Gold in 1 TB).
Not needed for pre-defined SKU catalogues. CPQ only applies if customers can configure custom hardware builds with interdependent specs.
Custom furniture / personalised goods Partially
Standard works for pre-defined fabric/finish/size combinations. The “Never” attribute mode handles engravings or personalised text as informational options without creating stock variants.
CPQ needed when:
Dimensions are customer-specified (width × height × depth), pricing is formula-driven from area/volume, and material combinations have engineering constraints (frame type must match leg style).

Manufacturing & Industrial

Make-to-stock with variant BoMs Standard
Variants (Instantly) + Variant BoM. Attribute-conditional components cover most make-to-stock scenarios. One BoM with variant-conditioned component lines handles all configurations without separate BoMs per variant.
Not required as long as component quantities are fixed and the attribute matrix remains manageable.
Engineer-to-order (ETO) equipment Standard variants cannot handle ETO. No formula-based component quantities, no cross-attribute engineering constraints, and no guided selling flow for non-technical reps quoting complex machinery. CPQ required
Constraint rules enforce valid motor/voltage/starter combinations. Formula pricing calculates cost from power rating, certification type, and fabrication hours. BoM components are generated automatically from the CPQ output.
Packaging / print with variable dimensions Standard covers pre-defined sizes. Cannot handle open-ended customer-specified dimensions (e.g., W × H × D in mm) as inputs to pricing or component quantity calculations. CPQ required
Formula pricing calculates cost from customer-provided dimensions. Material quantities (paper, adhesive, ink coverage) are computed via expressions — impossible in the standard variant BoM where quantities are fixed.

IT, Software & Managed Services

Hardware + service bundles Standard
Kit BoMs bundle hardware + services into a single sales line. Optional Products handle structured upsell (extended warranty, setup service). Fixed-tier subscription plans work well as standard products or variants.
Not needed for fixed-tier bundles with pre-defined components.
SaaS / cloud with user-count pricing Standard pricelists can handle fixed quantity tiers (1–10 users = X, 11–50 = Y). Breaks down when price is a continuous formula (e.g., per-user rate changes non-linearly with volume or module selection). CPQ needed when:
Pricing depends on user count × selected modules × contract term simultaneously. CPQ formula expressions compute the price dynamically; approval workflows trigger when discount thresholds are breached.
Managed services with conditional SLAs Standard optional products can present SLA tiers, but cannot enforce “if response time = 1hr, then on-site coverage is mandatory” type dependency rules between service options. CPQ required
Guided selling questionnaire walks the rep through support scope, response time, and coverage model. Constraint rules automatically enforce valid SLA combinations; incompatible options are blocked before selection.

Distribution & Wholesale

Multi-variant wholesale orders Standard
Order Grid Entry is built for this. Distributors enter quantities across the full Color × Size matrix in one interaction. Pricelists handle volume breaks and partner-tier discounts automatically.
Not needed unless pricing involves complex conditional formulas beyond standard quantity-break tiers.
Trade kits & solution bundles Standard
Kit BoMs handle fixed-component trade kits cleanly. The kit appears as one line on the distributor’s order; component breakdown is visible on the delivery and invoice only.
CPQ adds value only if kit contents vary by customer selection or if solution configuration requires compatibility enforcement across components.

Construction, Infrastructure & Projects

Project-based services (fixed scope) Standard
Fixed-scope service products with pricelists and optional add-ons cover most project quoting needs. No variant logic needed — scope is defined per quotation manually.
Not needed unless scope selection is configuration-driven (e.g., selected project type automatically determines required tasks and material takeoffs).
Configurable infrastructure (telecom, MEP, solar) Standard variants cannot handle site-specific sizing, regulatory compliance constraints, or pricing that responds to capacity calculations (e.g., kWp × panel area × installation type). CPQ required
CPQ guides reps through site parameters, load requirements, and compliance specs. Formula pricing computes system cost from capacity, component count, and installation complexity. Constraints ensure only compliant configurations are quotable.

Automotive & Speciality

Vehicle / equipment configurator Standard variants collapse under the attribute count- a commercial vehicle with chassis, engine, cab style, transmission, axle, paint, and accessories creates thousands of combinations. Exclusion rules cannot express the full compatibility matrix. CPQ required
Full constraint-based configurator with hundreds of compatibility rules. Formula pricing calculates list price and dealer margins in real time. Multi-option proposals let the buyer compare trim levels. BoM output generates exact build spec for production.
Spare parts with known variant structure Standard
Variants (Dynamically or Instantly depending on catalogue size) + Order Grid Entry. Parts catalogues typically have structured, finite attribute matrices — compatible with the standard variant system.
Not needed unless cross-part compatibility enforcement or formula-based pricing (e.g., price per weight class) is required.

TL; DR

Use Standard Configurator or Quote Calculator in Odoo When-

  • Product options are finite, predictable, and map to a defined attribute matrix
  • Pricing is attribute-extra-based or pricelist-driven — not formula-computed
  • All or most attribute combinations are valid (few exclusion rules needed)
  • Variant count per product template stays below ~500–800
  • Sales reps can select the right variant without guided question flows

Use Custom Odoo CPQ App When-

  • Options have interdependencies, selecting one attribute constrains valid choices in another
  • Pricing is computed from engineering parameters, dimensions, or multi-attribute formulas
  • Sales reps routinely make configuration errors without a guided flow
  • Attribute count would create an unmanageable variant matrix (hundreds of rules)
  • Margin control and approval workflows are needed before a quote can be sent

Not sure which configuration layer fits your product range? Let’s audit your catalogue before you build on the wrong foundation.

Schedule Free Consultation Call.