What is CPQ in Odoo? A Practical Guide for Manufacturers
By Aktiv Software · May 13, 2026 · 11 min read
If you're running a manufacturing business on Odoo and your sales team is still copy-pasting line items from a spreadsheet into a quote — or worse, asking engineering to double-check every configuration — you've already met the problem CPQ solves. You probably haven't called it that yet.
CPQ stands for Configure, Price, Quote. As a category, it's been around for two decades, mostly serving complex B2B businesses in software, hardware, and manufacturing. The reason it's getting a fresh look now in the Odoo ecosystem is simple: more mid-market manufacturers are running their entire operation on Odoo, and they're hitting the limits of what Odoo's native configurator can do for genuinely configurable products.
This guide is for the person evaluating whether to add a dedicated CPQ to their Odoo stack. We'll cover what CPQ actually means in an Odoo context, where Odoo's built-in configurator works, where it stops working, and how to decide whether a dedicated CPQ like AktivCPQ belongs in your setup.
What CPQ actually does, in plain terms
A CPQ workflow takes a customer requirement and produces a valid, correctly-priced, deliverable quote. Three steps, all of which sound trivial and none of which are:
Configure. The sales rep walks through a guided flow that asks the right questions in the right order. "What size?" "What material grade?" "What enclosure rating?" The system only offers options that are actually compatible with what's been chosen so far. A SS316 wetted part on a pressure gauge? Fine — now restrict the temperature range options to the ones SS316 supports. A 4-inch dial face? Fine — but now this mounting bracket is off the table because it physically won't fit. Engineering rules, baked into the configurator, prevent quotes that physics or factory reality would reject later.
Price. Pricing for configurable products is rarely a simple lookup. A curtain priced per square meter has a different rate above 4 meters wide. A custom sofa has a base price plus a fabric grade upcharge plus a finish surcharge plus a freight zone modifier. Dimensions, options, and customer tier all roll into one number that ideally is correct within seconds and matches the invoice that ships weeks later.
Quote. The output is a clean, branded, professional document — but more importantly, a record that downstream systems can act on. The accepted quote becomes a sales order, which becomes a manufacturing order, which generates the right components against the right BOM, which kicks off procurement for anything not in stock.
That last sentence is where the Odoo question really starts. Because if your quote isn't connected to your manufacturing and inventory systems, you're solving the configure-and-price problem while leaving the actual operational problem untouched.
What Odoo's native product configurator actually does
Let's be fair to Odoo. Out of the box, Odoo has a product configurator that handles a meaningful slice of configuration use cases. It's worth understanding exactly what it does before deciding you need something else.
Odoo's native configurator is built around product attributes and variants. You define a product (say, a T-shirt). You add attributes (color, size). You add values for each attribute (red/blue/black, small/medium/large). Odoo auto-generates the variants (red small, red medium, red large, blue small, and so on). Each variant has its own SKU, price extra, and barcode if needed.
This works beautifully for businesses that genuinely sell variant-based products. Apparel, basic consumer goods, finished goods catalogs with a limited number of options. If your "configuration" is "pick from a list of pre-defined combinations," Odoo's native configurator does the job and you should not be reading the rest of this article.
Where it starts to creak:
- Variant explosion. Three attributes with five values each gives you 125 variants. Five attributes with seven values? 16,807 variants. Odoo will technically generate them, but managing, pricing, and maintaining that catalog becomes its own full-time job.
- No engineering rules. Odoo will happily let a customer pick combinations that don't work — a motor that doesn't match the drive, a sensor range that's incompatible with the housing. The native configurator does not enforce technical constraints between options.
- Dimension-based pricing is awkward. If price depends on width × height × material rate, you're forcing that into a system designed for fixed variants. It usually ends up half-living in Odoo and half-living in someone's spreadsheet.
- Auto-generated BOMs are limited. Variants can have BOMs, but generating a multi-level BOM that reflects the chosen configuration — and pulls components, sub-assemblies, and routing accordingly — needs more logic than the native configurator carries.
- No guided selling. Sales reps configure by clicking dropdowns in a product form, not by being walked through a flow that asks the right questions in the right order. For complex products, this matters more than people think.
None of this is a flaw in Odoo. Odoo's native configurator was designed for the broad case of "products with variants," and that's exactly what it does well. CPQ is a different category of problem.
Two concrete scenarios where the native configurator breaks
Scenario 1 — Furniture manufacturer with fabric, finish, and size combos
Imagine a mid-market sofa manufacturer. They make six sofa models. Each one comes in three sizes (2-seater, 3-seater, sectional). Each size offers seven fabric grades (A through G, priced differently). Each fabric comes in roughly twenty colorways. Each model has four finish options (legs, trim). And then a few add-ons — power recline, USB charging, headrest extension.
Multiply it out and you're looking at over 10,000 valid variants per model. Odoo will generate them on demand, but no human is managing 60,000+ SKUs in a product catalog. And the pricing isn't a clean per-variant lookup — a fabric grade D in a 3-seater costs more than the same fabric in a 2-seater, but not exactly 50% more, because labor and finishing costs don't scale linearly.
What this business actually needs:
- A guided flow that asks model → size → fabric grade → colorway → finish → add-ons in that order
- Pricing formulas that combine base price + fabric upcharge + size modifier + finish surcharge
- A BOM that's auto-generated based on the chosen configuration — the right frame, the right fabric SKU at the right cut length, the right hardware kit
- A manufacturing order that fires the moment the quote is accepted, with the correct cut list going to the upholstery floor
None of that is what Odoo's native configurator was built for. It's not a fault — it's a category mismatch. A real Odoo CPQ closes the gap.
Scenario 2 — Industrial instrumentation maker quoting pressure gauges
Now imagine a different business — an instrumentation manufacturer that makes pressure gauges. The customer needs to specify wetted parts material, dial size, pressure range, connection size and type, accuracy class, mounting style, enclosure rating, and a few application-specific options like liquid filling or electrical contacts.
The catch is that not every combination is valid. If you pick SS316 wetted parts and a pressure range above 1000 bar, the standard Bourdon tube won't work — you need a diaphragm seal, which constrains the dial size options. If you pick a NEMA 4X enclosure, certain electrical contact configurations are unavailable. These are engineering rules, codified by people on the engineering team, that prevent the sales team from quoting something the factory can't deliver.
The output isn't just a price — it's a 12-character model code that maps to a specific BOM, a specific drawing, and a specific test certificate. That model code generation is itself a configuration problem.
Odoo's native configurator cannot enforce those compatibility rules, cannot generate the model code, and cannot wire that quote into a manufacturing order that pulls the right sub-assemblies. This is the kind of problem CPQ as a category was invented to solve.
What a dedicated Odoo CPQ adds
A dedicated Odoo CPQ — like AktivCPQ — sits on top of the same Odoo instance and adds the capabilities the native configurator is missing. Specifically:
Engineering rules and compatibility logic. If/then constraints between options. Option A disables Option B. Option C requires Option D. Range X is only valid when Y is selected. The configurator enforces these in real time, so the sales rep can't quote something the factory can't build.
Formula-based and dimension-based pricing. Width × height × material rate. Base price plus surcharge percentage. Customer tier modifiers. Volume breaks. All driven by configurable formulas rather than fixed variant prices.
Guided selling flows. A step-by-step configuration experience instead of dropdowns on a product form. Reps see the right questions in the right order, with visual feedback at each step.
Auto-generated multi-level BOMs. The configurator builds the BOM as it goes — picking the right components, sub-assemblies, and routings based on the chosen configuration. When the quote is accepted, the BOM is already done.
Quote-to-manufacturing-order automation. One click turns the accepted quote into a sales order, releases a manufacturing order with the right BOM, and triggers procurement for anything missing. The handoff that used to take a day and three emails happens in seconds.
Native Odoo integration. The same customer record, the same product catalog, the same pricelist, the same accounting ledger. No syncing, no middleware, no separate database to maintain.
If you've been comparing Odoo CPQ options, that last bullet is the one that matters most operationally. Standalone CPQ tools force you to also run a separate CRM, accounting tool, and manufacturing system, with integrations between all of them. We wrote about the hidden cost of that stitched-together approach in our QuoteWerks comparison — worth a read if you're evaluating standalone tools.
How to decide if you need an Odoo CPQ
The decision usually comes down to five questions. The more of these you answer "yes" to, the more value a dedicated CPQ will deliver.
1. Do your products have engineering rules? If certain combinations of options are technically incompatible — sizing dependencies, material constraints, electrical compatibility — and your team is enforcing those in their heads or in side documents, you need a CPQ. Native configurators don't do compatibility logic.
2. Is your pricing formula-based rather than variant-based? If price depends on dimensions, weights, formulas, or option combinations rather than fixed SKU lookups, you'll fight the native configurator. CPQ pricing engines are built for this.
3. Do quotes need to generate manufacturing orders without manual re-keying? If today someone copies an accepted quote into a manufacturing system by hand, or types BOM components into a production order, you're losing time and introducing errors. CPQ closes this loop.
4. Are sales reps using spreadsheets to figure out quotes? A spreadsheet living alongside Odoo is a clear signal that the system isn't giving reps what they need. CPQ replaces those spreadsheets with a guided flow inside Odoo.
5. Is your quote turnaround time hurting deal velocity? If complex quotes take days because they need engineering review or pricing approval, customers are walking. CPQ collapses that turnaround to minutes for standard configurations and hours for genuinely unusual ones.
If you said yes to three or more, a dedicated Odoo CPQ will pay for itself quickly. If you said no to most of them, stick with the native configurator — it's a perfectly good fit for simpler configuration needs.
What implementation actually looks like
Implementing CPQ is less about installing software and more about getting your product knowledge into a form the system can use. The software is the easy part. The hard part is sitting down with engineering and sales and documenting:
- Every attribute that affects price, BOM, or feasibility
- The rules connecting them ("if X then not Y", "if W then add Z")
- The pricing formulas, including surcharges, volume breaks, and customer tier rules
- The BOM templates for each base product, with the substitution logic
- The handoff to manufacturing — what triggers an MO, what the routing looks like
For most mid-market manufacturers, that knowledge already exists — it's just scattered across engineering notebooks, sales spreadsheets, and a few people's heads. CPQ implementation forces it into one place, which is often as valuable as the software itself.
At Aktiv Software, we run most AktivCPQ implementations through our Quickstart Implementation framework — roughly 8 weeks for standard scopes, 12-16 weeks for complex configurations. The variable isn't the CPQ software. It's how cleanly your existing product knowledge is documented before we start.
When CPQ is the wrong answer
To be honest about this — CPQ isn't always the right next investment. If you're a manufacturer where:
- Products are mostly standard SKUs with light variant configuration
- Quote turnaround isn't a bottleneck in your sales process
- Engineering rules are simple enough that reps don't make pricing mistakes
- Manufacturing orders are straightforward and re-keying isn't painful
...then Odoo's native configurator plus a clean pricelist will probably serve you well, and you'd get more value from investing elsewhere first — better CRM hygiene, better forecasting, more focused marketing. CPQ delivers outsized returns specifically when configuration complexity is your bottleneck.
Where to go from here
If you've read this far, you probably already know which side of the line you're on. For most readers of an Odoo CPQ guide, the answer is "yes, we need this, the question is which one."
A reasonable next step is to map your real configuration needs against the five decision questions above. If you can describe your products in those terms — engineering rules, formula-based pricing, BOM complexity — you'll have a much sharper conversation with any CPQ vendor, ours or otherwise.
If you'd like to see how AktivCPQ specifically handles a workflow like yours, our team is happy to run a focused demo on your actual product complexity rather than a generic walkthrough. You can schedule one here — bring two or three real products and we'll configure them live.
And if you're still in the comparison phase, the AktivCPQ vs QuoteWerks post covers the standalone-tool alternative honestly, including when QuoteWerks is actually the better fit (resellers and MSPs, mostly).
Either way, you're asking the right question. CPQ in Odoo has matured a lot in the last few years, and for manufacturers running configurable products, it's now genuinely viable as a single-platform solution instead of a stitched-together stack.
Frequently Asked Questions
What is CPQ in Odoo?
CPQ in Odoo means Configure, Price, Quote — a workflow that lets your sales team build a complex, valid, correctly-priced quote for a custom product in minutes instead of hours. In Odoo specifically, CPQ can be partially handled by the native product configurator for simple cases, or by a dedicated CPQ app like AktivCPQ for engineering rules, dimension-based pricing, multi-level BOMs, and quote-to-manufacturing-order automation.
Does Odoo have a built-in CPQ?
Odoo has a built-in product configurator that handles attribute-based variants — pick a color, pick a size, pick a fabric. For simple variant selection on standard products, that's enough. It is not a full CPQ. It doesn't handle engineering rules, dimension-based pricing formulas, compatibility constraints between options, or auto-generation of multi-level Bills of Materials. For configurable manufacturing, most teams hit the ceiling of Odoo's native configurator within the first few products.
When do I actually need a dedicated CPQ on Odoo?
You need a dedicated CPQ when any of these are true: your products have engineering rules (incompatible combinations, sizing dependencies), pricing depends on dimensions or formulas rather than fixed variants, configurations need to generate multi-level BOMs automatically, quotes must turn into manufacturing orders without re-keying, or sales reps are still using spreadsheets to figure out what to quote. If you can describe any of those, the native configurator will fight you.
How much does CPQ for Odoo cost?
CPQ for Odoo from AktivCPQ is priced as an add-on module on top of your Odoo subscription, with a one-time implementation cost. The real comparison is not against the price of a CPQ alone, but against the cost of using a standalone CPQ tool that needs a separate CRM, accounting system, and manufacturing tool to function. An Odoo-native CPQ rides on the Odoo modules you already use. Full pricing details are on our pricing page.
How long does it take to implement Odoo CPQ?
For most standard scopes, Aktiv Software's Quickstart Implementation gets Odoo CPQ live in roughly 8 weeks alongside the relevant Odoo modules. Complex scopes with engineering rules, multi-level BOMs, and integrations can take 12 to 16 weeks. The biggest factor is not the CPQ software itself — it's how cleanly your product catalog, pricing rules, and BOMs are documented before you start.
See AktivCPQ on your real products
Bring two or three configurable products. We'll show you the configurator, pricing logic, BOM generation, and quote-to-MO flow live — on your actual complexity, not a canned demo.
Schedule a Demo