Quote/CPQ Configurator
Configure kits on the quotation line: option rules, kit pricing and internal kit cost
Quote/CPQ Configurator
Configure kits on the quotation line: option rules, kit pricing and internal kit cost
A Configure-Price-Quote engine for Odoo Community — no Enterprise, no spreadsheets. Kits are published as Odoo combo products, so pricelists, currency conversion and taxes stay in Odoo's own pricing pipeline. Sales reps configure a kit in a guided wizard or straight on the quotation line, the option rules block impossible combinations, the customer sees one line with one total, and the internal kit cost is rolled up for the sales team only.
Key Features
Configurable Templates
Option groups with select exactly one, select at most one and select any number, plus toggle and quantity options. Publishing a kit turns it into an Odoo combo product with one combo choice per group.
Option Rules
Require, exclude, auto-add and "only if" dependencies between options. The rules are enforced on the quotation line itself, so they also apply when a component is swapped or deleted directly on the quote.
Dynamic Pricing
Each option carries a fixed price, per-unit price or percentage uplift; volume price breaks reduce the unit price as quantity rises; a global margin/discount applies to the whole config.
Guided Wizard
The configurator validates the running selection, shows the live price as you build, and prevents confirmation of an invalid configuration.
Sale Order Output
The kit lands on the quotation as one combo line carrying the whole configured price, with its component lines attached under it at zero customer price, so each component is named exactly once.
Revalidation
Re-opening a saved configuration revalidates it against the current ruleset and reports the outcome. An already ordered configuration is never silently rewritten.
Edit the Kit on the Line
Components are swapped on the quotation line itself, through Odoo's combo dialog or the module's own component editor. The kit template and every other quotation stay untouched.
Internal Kit Cost
The kit line carries a cost roll-up (kit product cost plus the cost of the selected components) that follows every component swap. It is restricted to internal users and mirrored into the Margin module's cost field when that module is installed.
One Line, One Total
On the customer PDF and the portal the kit shows one amount, the component names without prices, and the lines that follow the kit keep their own prices. On Odoo 19 the kit block also uses the standard section price collapsing.
Odoo Native Pricing
The module never writes a unit price by hand: pricelists, currency conversion, taxes and quantity edits are computed by Odoo, so the quotation total follows a pricelist change or a currency change like any other line.
Screenshots
Kit template: every option carries its component product, its price mode and its internal component cost, and the Group column shows the option group it belongs to.
Option rules on the same kit: “Requires” ties the high-head pump to the motorised control valve, “Excludes” keeps the manual gate valve and the digital flow meter apart.
On the quotation the configured kit is one priced line of 12,740.00 € with its four components listed under it at no charge, and the internal kit cost of 3,454.00 € is rolled up onto the kit line, where the Cost and Kit Cost columns read it.
Editing the kit of quotation S00001 from the quotation line itself: the Pump Unit choice is moved to the HP-400, the Flow Control choice to the motorised CV-80 and the optional Instrumentation choice is set to “No selection”. Nothing is written until Apply.
The same quotation after Apply: the kit now carries the HP-400 and the CV-80, the declined instrumentation choice is left as a “No selection” placeholder row, the kit line is repriced to 14,600.00 €, its internal kit cost follows to 4,074.00 € and the Margin box reads 6,922.00 € (44.51%) with that kit cost counted once.
A second quotation built from the same kit template is untouched by that edit: quotation S00002 still carries the centrifugal pump, the manual gate valve and the pressure transmitter at 6,225.00 € with a kit cost of 3,392.00 €. The swap happened on one quotation line, not on the template.
Customer document: the configured kit prints as one block with one amount, its components are listed by name without prices, and the line after the kit keeps its own price.
Access rights: the Sales / Administrator group carries the CPQ Configuration Manager group, so a sales manager can build kit templates without a separate assignment.
The same kit template read by a Latvian user: the module ships German, Spanish, French, Italian, Latvian and Dutch translations.
Why Choose This Module
Odoo Community already knows how to sell a combo; it does not know which combinations are legal, what a kit costs internally, or how to keep the customer document down to one line. This module adds exactly that on top of the standard combo product, and leaves the money maths where Odoo already gets it right.
Specifications
- Compatible: Odoo 18.0 / 19.0 / 20.0
- License: OPL-1
- Languages: English, German, French, Spanish, Dutch, Italian, Latvian
- Author: Pokutsoft
- Dependencies: sale_management, product
- Support: support@pokutsoft.com
What is new in 2.0
Version 2.0 builds the kit on Odoo's own combo products. Pricing, pricelists, currencies, taxes and quantity edits are handled by Odoo's pricing pipeline, so the configured amount follows a pricelist change, a currency change or a quantity change on its own.
The kit reaches the customer as one collapsed block on the quotation, the PDF and the customer portal: the kit name, one amount, and the components listed underneath without prices. One-off option amounts are spread over the quantity at more than the currency's precision, so the line total is exact to the cent whatever the quantity.
The option rules are enforced on the quotation line itself, when a component is added, swapped or removed. Configurations created before 2.0 are marked as legacy: they keep their stored amounts, their quotations are left untouched, and they stay out of the new flows.
Update date: 2026-09-08
User guides (PDF)
Related modules
B2B Customer-Specific Pri
Contract prices, tiered volume discounts, quick-order and re-order self-service portal for B2B
Click-and-Collect / BOPIS
Reserve online, pick in store, collection-ready notify and ID check for BOPIS
Credit Limit & Risk Hold
Per-customer credit limits, automatic sales-order holds and an exposure dashboard