FAQ · CPQ Builder for Odoo

Everything about CPQ Builder for Odoo.

Twenty answers covering how the Odoo storefront swap works, which Odoo versions we support, BOM-on-confirm, variant-per-configuration, multi-tenant data isolation, and pricing. Missing something? drop us a line — the team replies within a working day.

What is CPQ Builder? +

CPQ Builder is a configure-to-order service that runs as a thin external layer on top of an unmodified Odoo. It lets your customers configure complex products on your Odoo storefront and automatically writes the configuration into a real sale order, BOM, and manufacturing order.

Does CPQ Builder require a custom Odoo module? +

No — and that's a deliberate design choice. CPQ Builder runs as a Cloudflare-hosted SaaS that connects to your Odoo through the standard external JSON-RPC API. Configuration on your storefront happens via inherited QWeb views we plant from outside; the BOM, variants, sale orders and manufacturing orders are all written to standard Odoo tables. There's no module to install, audit, maintain or carry across version upgrades. Your Odoo stays unmodified.

Which Odoo editions and hosting models are supported? +

The three paid Odoo offerings: Odoo Online on the Custom plan, Odoo.sh, and Odoo Enterprise self-hosted. Odoo 18 and Odoo 19 are both first-class. Earlier versions work for the cart-write path but the route-health checks and the modal embed are tuned to Odoo 19's storefront templates. The Odoo Online Standard plan does not expose the external API, so it's not enough — you need the Custom plan or one of the self-hosted Enterprise / Odoo.sh paths. CPQ Builder is built specifically for the paid Odoo editions; the features that make CPQ Builder valuable — subcontracting BOMs, work-order routing, multi-warehouse MTO — live in the same paid editions.

What's the difference between Odoo's 'Custom plan' and a 'custom module'? +

Easy to mix up. The Custom plan is one of Odoo Online's pricing tiers (the one that unlocks the external API); it has nothing to do with writing custom code. A custom module is a piece of Python/XML code installed into Odoo to extend it. CPQ Builder needs the Custom plan (or any self-hosted edition) to talk to your Odoo, but it does not require, install, or assume any custom module — and that's how it stays portable across Odoo upgrades.

Where does my data live? +

Each tenant's Odoo credentials are AES-GCM encrypted in our Cloudflare D1 database, keyed by a master secret we hold per environment. Your configurations and orders live in your Odoo — we don't replicate them.

What does the customer see? +

Your standard Odoo product page, with the native Add-to-cart replaced by a 'Configure your X →' button that opens a near-fullscreen modal containing the configurator wizard. The customer never leaves your storefront.

How are prices calculated? +

Server-side in the CPQ Builder Worker — our engine is the source of truth. The customer sees a live total + lead time as they configure. The standard Odoo cart inherits the same price via the line write.

Can I have compatibility rules between options? +

Yes. CPQ Builder supports three rule kinds: exclude (these two can't combine), require (picking A forces B, optionally auto-applied), and recommend (soft suggestion). Rule violations show inline in the wizard with a jump-to-step link.

How does the BOM get into Odoo? +

When a configured line is added to the cart, CPQ Builder writes a mrp.bom for the configured variant. On sale-order confirmation Odoo's MRP creates the manufacturing order from that BOM automatically — no human step.

What about subcontracted parts? +

Subcontracted components get their own type='subcontract' BOM linked to the subcontractor res.partner. Multi-level subcontracting (sub-BOMs of sub-BOMs) is on the roadmap; one tier deep ships today.

Do I get a separate variant per configuration? +

Yes — each unique configuration becomes its own product.product variant identified by a stable hash. The BOM is scoped to that variant, so two concurrent customers configuring the same product can't overwrite each other's BOM.

Will the variant hashes show up on my storefront? +

No. CPQ Builder plants a QWeb inheritance that hides the Configuration attribute from the variant selector and from the Specifications section. Customers see only your real attributes.

What's the difference between option-picking and parametric? +

Option-picking products have a fixed set of attributes the customer picks from (e.g. an organ's keyboard type, foot piston material). Parametric products take free input — dimensions, RAL colours, cut-to-size cut-lists, formula pricing. CPQ Builder supports both with the same engine and the same Odoo integration.

Can it do cut-to-size? +

Yes, parametric mode supports multi-row cut lists. The cable demo on the Mixtuur tenant ships a 3-piece example (12.50 m + 8.40 m + 5.75 m → 26.65 m consumed at €4.50/m).

How do you handle Make-to-Order routes? +

CPQ Builder checks is_storable + the Replenish on Order (MTO) route on the linked Odoo product. If either is missing, the admin gets a red banner with a one-click 'Enable MTO' action that writes both fields via the API.

Where do failed integrations show up? +

Every Odoo round-trip writes a row in the per-tenant sync log at /admin/t//sync-log. Successes carry a short JSON of what changed; failures carry the exact Odoo error message. Tenant admins self-diagnose without us.

How does pricing work for CPQ Builder itself? +

Per-tenant subscription, priced by two dimensions: how many configured products you publish, and how many Odoo webshops you publish them on. Technically your tenant has one Odoo connection — but Odoo lets you run several websites (e.g. .eu and .com) inside that one instance, and the price scales with how many of those storefronts carry CPQ Builder products. Starter covers a single webshop plus three configured products; Growth adds more. Public pricing page coming — reach out via the contact form for an early quote.

Is CPQ Builder open source? +

No. The repository is private; the architecture is documented on this site so integrators can evaluate the fit before signing up.

Can I self-host? +

Not today. CPQ Builder runs on Cloudflare Workers (Cloudflare's edge network) for low latency to your Odoo. Self-hosting is on the roadmap if there's customer demand.

Who builds CPQ Builder? +

Updoo, the apps platform of Radical Fanatics. The same team behind my.togrant.com.

Still have questions?

A 30-minute call covers your Odoo version, your product complexity, and a live look at what a configurator on your storefront would feel like.

Book a demo →