Odoo product configurator offers powerful capabilities for managing complex products with dynamic attributes, helping businesses streamline their product variants creation process. Moreover, this free OCA module enables both back-end and e-commerce product configuration through a step-by-step interface, allowing customers to customize products according to their specific needs. In this comprehensive guide, we’ll explore how to implement, configure, and utilize this exceptional tool to transform your product management experience in Odoo.
Understanding the Odoo Product Configurator Module
Before diving into implementation details, let’s understand what makes this product configurator so valuable for businesses using Odoo.
What is the Product Configurator?
The Odoo product configurator is a specialized module developed by PLRA and maintainer Paul, designed to solve the challenging problem of managing complex products with numerous attribute combinations. Unlike standard Odoo attribute management, this configurator doesn’t create all possible variants upfront. Instead, it dynamically generates product variants based on user selections, applying restriction policies to ensure only valid combinations are created.
Key benefits of this approach include:
- Reduced database clutter – Only variants that customers actually want get created
- Logical attribute selection flow – Guided step-by-step configuration process
- Restriction policies – Control which attribute combinations are allowed
- Price management – Each attribute choice can modify the final product price
- Both back-end and e-commerce support – Works in admin interface and customer-facing shop
Therefore, businesses dealing with complex configurable products can significantly improve their operations with this module.
How the Configurator Differs from Standard Attributes
Standard Odoo product attributes create all possible combinations when you add variants. For instance, if you have 5 colors, 3 sizes, and 2 materials, Odoo generates 5×3×2=30 product variants automatically. However, this approach quickly becomes problematic when dealing with products that have many attributes.
The configurator takes a different approach by:
- Creating a step-by-step flow for attribute selection
- Generating variants on-demand only when configured
- Implementing restriction policies to limit invalid combinations
- Managing complex pricing based on attribute selections
As a result, you can handle products with dozens of attributes without overwhelming your database with thousands of unused variants.
Setting Up the Product Configurator in Odoo
Now that we understand the concept, let’s explore how to install and set up the product configurator module in Odoo.
Installation and Prerequisites
To begin using the product configurator:
- Install the module from the OCA repository
- Ensure you’re running Odoo version 17 (the module has been migrated by Simon Rubino)
- Make sure you have proper administrator privileges
The module works with both Community and Enterprise editions of Odoo, although some features may work better with Enterprise.
Creating Master Attributes
The first step in using the configurator is setting up your master attributes. These are the configurable aspects of your product that customers will select.
For example, in a kitchen cabinet configurator:
- Door construction (Shaker, Slab, Fusion)
- Door color
- Door style
- Frame type (framed or frameless)
- Pull color
- Pull type
- Hinge type
Each attribute needs values that customers can select. For instance, the “Door Color” attribute might have values like “White”, “Espresso”, “Natural Wood”, “Grey”, and “Black”.
To create these attributes in Odoo:
- Navigate to your product configurator settings
- Create each attribute with its possible values
- Assign prices to attribute values if they affect the final price
Defining Configuration Steps
After creating attributes, you need to organize them into configuration steps. Steps determine the order in which customers select attributes and help create a logical flow.
For our kitchen cabinet example:
- First step: Door Construction
- Second step: Door Color
- Third step: Door Style
- Fourth step: Frame Type
- Fifth step: Pull Color
- Sixth step: Pull Type
- Seventh step: Hinge Type
Organizing attributes into steps helps customers understand the configuration process and makes it easier to implement restriction policies.
Creating Restriction Policies
Restriction policies are crucial for controlling which attribute combinations are valid. For example, if a customer selects “Shaker” as the door construction, you might want to restrict door style options to only “Shaker” or “Slat”.
To create a restriction policy:
- Define the condition (If Door Construction = “Shaker”)
- Specify the allowed values for dependent attributes (Door Style = “Shaker” or “Slat”)
These policies ensure customers can only select valid combinations, preventing impossible product configurations.
Example restrictions for our kitchen cabinet configurator:
- If Door Construction = “Shaker”, then Door Style can be “Shaker” or “Slat”
- If Door Construction = “Slab”, then Door Style can only be “Slab”
- If Pull Color = “Rose Gold”, then Pull Type can only be “Rose Gold” options
By implementing these restrictions, customers are guided toward valid configurations automatically.
Implementing the Product Configurator
Let’s walk through the implementation process with a practical example.
Creating a Configurable Product Template
First, create a product template that will serve as the base for your configurable product:
- Go to Products > Products
- Create a new product
- Enable the configurator option
- Add all relevant attributes to the product
- Set a base price (attribute selections may modify this later)
Important: Unlike standard attribute products, configurator products don’t automatically generate all variants. Instead, variants are created when customers complete the configuration process.
Setting Up Configuration Workflow
After creating the product template, define the configuration workflow:
- Arrange attributes into logical steps
- Define which attributes appear in each step
- Set up dependencies between steps
- Create restriction policies for attribute combinations
- Add images for visualization if available
This workflow will guide users through the configuration process in a structured manner.
Pricing Configuration
One powerful feature of the product configurator is its flexible pricing system. You can:
- Set a base price for the product template
- Define price adjustments for each attribute value
- Create price formulas for more complex pricing logic
For example, selecting premium door materials might add $200 to the base price, while choosing special pull handles might add another $50.
Testing Your Configurator
Before making your configurator available to customers, thoroughly test it:
- Try different attribute combinations
- Verify that restriction policies work correctly
- Check pricing calculations
- Ensure the generated product variants have the correct specifications
- Test the process from both back-end and e-commerce interfaces
By testing all scenarios, you’ll identify and fix any issues before customers encounter them.
Using the Product Configurator in the Back-end
The product configurator can be used directly in the Odoo back-end for sales representatives or internal users. Here’s how this works:
Creating Sales Orders with Configured Products
To create a sales order with configured products:
- Create a new quotation
- Select the customer
- Click “Add Product” and choose your configurable product
- The configuration interface will appear
- Follow the steps to configure the product
- Complete the configuration to add the product to the order
This process creates a new product variant with all the selected attributes and adds it to the sales order.
Managing Configured Product Variants
After creating configured products, you may need to manage them:
- All configured variants appear in your product list
- Each variant includes a complete description of its attributes
- Variants can be reused in future orders if the same configuration is needed
- Inventory, manufacturing, and other operations work with these variants like any other product
This approach gives you full visibility and control over all configured products.
Implementing Product Configurator in E-commerce
One of the most powerful features of this module is its integration with Odoo’s e-commerce platform. This allows customers to configure products themselves according to their preferences.
Setting Up the E-commerce Interface
To enable the configurator in your e-commerce shop:
- Ensure the e-commerce module is installed
- Configure your product for the e-commerce interface
- Set up proper images for attributes to enhance the visual experience
- Test the customer experience thoroughly
The configuration steps and restriction policies work the same way in e-commerce as they do in the back-end.
Customer Experience in the Shop
From the customer’s perspective, the configuration process is straightforward:
- They browse to your product page
- Click “Configure” on a configurable product
- Follow the step-by-step process to select attributes
- See real-time price updates based on their choices
- View any available product visualizations
- Add the configured product to their cart
- Complete the checkout process normally
This intuitive process helps customers create exactly the product they want without overwhelming them with choices.
Real-time Updates and Visualizations
To enhance the customer experience, the configurator can provide:
- Real-time price updates as options are selected
- Visual representations of the product with selected attributes
- Clear navigation between configuration steps
- Validation to ensure only valid configurations are possible
These features make the configuration process engaging and user-friendly.
Advanced Configuration Techniques
For more complex products, advanced configuration techniques may be required.
Managing Complex Attribute Dependencies
When dealing with many interdependent attributes, consider:
- Creating a clear hierarchy of attributes
- Implementing multiple restriction policies that work together
- Testing all possible paths through your configuration
- Documenting your restriction logic for future maintenance
Properly managing dependencies ensures a smooth configuration experience.
Using Images and Visual Representations
Visual feedback significantly improves the configuration experience:
- Add images for each attribute value where possible
- Consider using composite images that change with selections
- Use clear, high-quality images that accurately represent options
Visual cues help customers understand their choices better than text descriptions alone.
Price Calculation Strategies
For complex products with many price-affecting attributes:
- Start with a base price that represents the minimum configuration
- Add price adjustments for premium options
- Consider quantity-based price adjustments
- Test price calculations with various configurations
Clear pricing helps customers understand the value of their choices.
Real-World Examples and Use Cases
Let’s explore some practical applications of the product configurator in different industries.
Kitchen Cabinets Configuration
As demonstrated in our main example, kitchen cabinet manufacturers can benefit greatly:
- Customers select cabinet style, color, hardware, and features
- Restriction policies ensure all selections are compatible
- Pricing adjusts based on material choices and features
- Final configured products can feed directly into manufacturing
This streamlines the often complex process of kitchen design and ordering.
Automotive Configuration
Car dealerships and manufacturers can use the configurator for:
- Engine and fuel type selection
- Interior trim options
- Paint color choices
- Additional features and packages
- Accessory selection
The configurator ensures all selected options are compatible with the chosen model and each other.
Custom Furniture Manufacturing
Furniture makers offering customization can:
- Allow fabric, wood finish, and style selections
- Implement restrictions based on material availability
- Adjust pricing based on premium materials
- Create manufacturing orders directly from configurations
This bridges the gap between mass production and fully custom furniture.
Electronics Configuration
Electronics retailers can offer:
- Computer build options (processor, memory, storage)
- Feature selection for devices
- Accessory bundling
- Service package options
Restriction policies ensure all components are compatible.
Extending and Customizing the Configurator
For developers looking to extend the product configurator, several customization options are available.
Adding Custom Logics and Restrictions
Beyond the built-in restriction policies, you can add custom logic:
class ProductConfiguratorCustom(models.Model):
_inherit = 'product.configurator'
def validate_configuration(self, values):
# Custom validation logic
result = super(ProductConfiguratorCustom, self).validate_configuration(values)
# Add your custom validation
door_construction = values.get('door_construction')
door_style = values.get('door_style')
if door_construction == 'shaker' and door_style not in ['shaker', 'slat']:
return False
return result
This example shows how to add custom validation logic to ensure that only valid combinations are allowed.
Integrating with Other Odoo Modules
The configurator can be integrated with other Odoo modules:
- Manufacturing: Generate bills of materials based on configurations
- Inventory: Manage component stock for configured products
- Purchase: Automatically order required components
- CRM: Track customer preferences for future marketing
For example, to automatically create manufacturing orders:
class SaleOrderLine(models.Model):
_inherit = 'sale.order.line'
def _create_manufacturing_order(self):
res = super(SaleOrderLine, self)._create_manufacturing_order()
# If product was configured, adjust BOM based on configuration
if self.product_id.config_ok:
# Get configuration values
config_values = self.product_id.get_config_values()
# Adjust manufacturing components based on configuration
for value in config_values:
# Add logic to modify BOM based on configuration
pass
return res
These integrations help create a seamless workflow from configuration to delivery.
Building Custom User Interfaces
For specialized needs, you can create custom user interfaces:
- Extend the configurator views for specific product categories
- Add industry-specific visualizations
- Create simplified configuration flows for particular products
- Develop mobile-friendly configuration experiences
Custom interfaces can enhance user experience for specific product types.
Best Practices and Tips
From implementation experience, here are some best practices to get the most from the product configurator:
Optimizing the Configuration Workflow
To create the best user experience:
- Limit each step to related attributes (e.g., group all color choices together)
- Put the most important choices earlier in the workflow
- Try to limit the total number of steps to 7 or fewer
- Make sure each step has clear, concise instructions
- Order options from most common to least common
A well-designed workflow makes configuration faster and more intuitive.
Maintaining Your Configurator
As your products evolve, maintain your configurator:
- Regularly review and update attributes and values
- Check restriction policies when adding new options
- Test the full configuration process after making changes
- Get feedback from users and customers
- Monitor which configurations are most popular
Regular maintenance ensures your configurator remains effective.
Performance Considerations
For complex configurators:
- Optimize image sizes for faster loading
- Consider caching popular configurations
- Monitor database size as configured variants accumulate
- Periodically archive unused or obsolete variants
- Test performance with many concurrent users
These measures help maintain good performance as your configurator grows.
Troubleshooting Common Issues
Even with careful setup, issues may arise. Here are solutions to common problems:
Configuration Errors
If configurations fail to complete:
- Check for conflicting restriction policies
- Verify all required attributes have available values
- Ensure price calculations don’t produce errors
- Test the configuration process step by step
- Check server logs for error messages
Most configuration errors stem from restriction policy conflicts or missing values.
Pricing Discrepancies
If prices don’t calculate correctly:
- Verify the base price of the product template
- Check price adjustments for each attribute value
- Ensure currency settings are consistent
- Test with different configurations to isolate the issue
- Verify tax settings are applied correctly
Pricing issues usually relate to incorrectly configured attribute values.
E-commerce Integration Problems
For e-commerce issues:
- Verify the configurator is properly enabled for the website
- Check if all required e-commerce modules are installed
- Test the configuration process in multiple browsers
- Verify mobile compatibility
- Check for JavaScript console errors
Most e-commerce issues relate to template rendering or JavaScript conflicts.
Future Development and Community Contributions
The product configurator module continues to evolve with community support:
- The migration to Odoo 17 by Simon Rubino demonstrates ongoing development
- Community contributions add new features and improvements
- Integration with more Odoo modules expands functionality
- Performance optimizations make the module more scalable
- User interface improvements enhance the experience
As an OCA module, contributions from the community help it grow and improve.
Conclusion
The Odoo product configurator transforms how businesses manage complex products with multiple attributes. By implementing a step-by-step configuration process with restriction policies, it solves the challenge of creating and managing countless product variants. Moreover, both back-end users and e-commerce customers benefit from the intuitive interface and controlled selection process.
Whether you’re selling kitchen cabinets, custom furniture, vehicles, electronics, or any other configurable product, this module offers a powerful and flexible solution. Additionally, its integration with other Odoo modules creates a seamless workflow from configuration to manufacturing and delivery.
To explore more about Odoo product configuration, visit the official OCA repository where you can find documentation, issues, and contribute to the project. Furthermore, you can learn more about advanced Odoo customization on the Odoo developer documentation site.
By implementing the techniques described in this guide, you’ll be able to offer a seamless, user-friendly configuration experience for your products while maintaining efficient internal processes.
Has your business implemented a product configurator? Share your experiences in the comments below!
Discover more from teguhteja.id
Subscribe to get the latest posts sent to your email.


Pingback: Powerfull 3 Odoo Consumable Reminder Setup