A mature CPQ has a fixed set of components. How many you need depends on the complexity of your catalogue and the breadth of your quoting process, but the building blocks themselves are recognisable and recurring.
Product configurator. Three flavours: rule-based for straightforward catalogues, a genuine constraint solver (CSP) for complex, interdependent rules, and increasingly AI-augmented with LLM suggestions based on customer history or a product photo. Pricing engine. List price, customer-specific pricing, volume tiers, regional variants and multi-currency, often with separate layers for net and gross, margin and pass-through costs. Discount management. Approval waterfalls that automatically send any discount above a threshold to the right manager, with margin monitoring as a brake. Quote generation. PDF or Word with dynamic text blocks, multi-language support and templates that match your corporate identity. Versioning. Quote v1, v2 and v3, with a clear overview of what changed between versions.
On the integration side we regularly see: CRM integration (Salesforce, HubSpot, Microsoft Dynamics CRM), ERP integration to automatically create orders in SAP, Exact or AFAS once approved, e-signing via DocuSign, Signhost or Adobe Sign, a quote-tracking dashboard that shows in real time what is outstanding and when a follow-up is needed, and approval workflows for customer-specific deviations that require out-of-band manager approval. In contract-intensive sectors, CPQ overlaps with CLM (Contract Lifecycle Management); we build that layer in as well where it makes sense. For standalone end-customer portals, we deliver the system API-first, so the same rules can be reused via a web portal, a mobile order-management environment or a partner system.
Technology choices. For the rule engine, depending on complexity, we use Drools, Open Policy Agent (OPA) or a bespoke lightweight DSL that product managers can read themselves. We handle constraint solving with Choco, OptaPlanner or Google OR-Tools when rules become too intertwined for a flat rule engine. PDF generation runs through WeasyPrint, ReportLab or Puppeteer, depending on the layout precision required. We build integrations with CRM and ERP via REST or GraphQL, with API integrations that are idempotent and versioned.