Revenue Cloud & CPQ  ·   ·  7 min read

Salesforce CPQ Implementation Guide for Existing CPQ Orgs

A Salesforce CPQ implementation guide for existing customers: bundles, price vs product rules, discount schedules, approvals, templates, renewals and testing.

Salesforce no longer sells CPQ to new customers, but a great many companies still run every deal through it, and plenty of those orgs are slower and harder to change than they should be. This guide is for them: teams extending a CPQ org they already own, or rescuing one that sales has stopped trusting.

The advice is the same either way. Model the products simply, put logic in the right place, plan for the contract after the quote, and prove every change with tests.

Start from five real deals, not from package settings

Before touching configuration, collect five deals that represent how the company actually sells: a standard new-logo deal, a multi-year deal with ramped pricing, an add-on mid-term, a renewal with an uplift, and the strangest partner deal finance remembers. Walk each one through with sales ops and finance and write down every price, discount and approval along the way.

Those five deals tell you more about the right data model than any requirements workshop. They also become the first tests in your regression pack.

Product and bundle modelling

A bundle in CPQ is a parent product with Features (the groupings on the configuration page) and Product Options (the children). Keep these rules in mind:

  • Keep nesting shallow. One level of bundle is normal. A nested bundle inside a bundle is sometimes justified. Three levels is a design smell, and every level adds calculation and configuration cost.
  • Choose option type deliberately. Component options are part of the parent's price and identity. Accessory options are sold alongside. Related Product options are separate commitments. The choice affects how lines appear on the quote, on the order and on renewal.
  • Use Pricing Method on the product. List, Cost, Block and Percent Of Total cover most cases. A support product priced at 20% of the software lines is a Percent Of Total product, not a price rule.
  • Prefer attributes to SKUs where the price does not change. Configuration attributes for colour, region or hosting location keep the product table small. If the price does change by attribute, a price rule or a separate SKU is needed, and the decision deserves a comment in the design document.

For subscriptions, set Subscription Pricing (Fixed Price or Percent Of Total), Subscription Term and Subscription Type consistently across the catalog. Inconsistent subscription settings are the most common reason renewals come out wrong two years later.

Price rules versus product rules

The simplest test: if the logic changes a number, it is a price rule. If it changes what is on the quote, or whether the quote is valid, it is a product rule.

Product rules

Product rules come in four types. Validation rules block a save with an error. Alert rules warn but allow. Selection rules add, remove, show or hide options. Filter rules narrow the options shown in a dynamic search. Each has an evaluation event (Load, Edit, Save or Always) and a scope of product or quote.

Use Save for validations that need the whole quote, and Edit sparingly, because Edit rules evaluate on every change in the configurator.

Price rules

Price rules set field values during calculation. With calculator scope, they run at one of four evaluation events: On Initialization, Before Calculate, On Calculate and After Calculate. Evaluation order only matters within an event, so a rule at Before Calculate always runs ahead of one at On Calculate regardless of its number.

Some habits that keep price rules manageable:

  • Attach each rule to one evaluation event. Trailhead recommends this for performance, and it also makes the order of execution readable.
  • Use Lookup Queries against a Lookup Object for rate tables, rather than one price rule per rate.
  • Use Summary Variables for quote-level totals, but filter them tightly. A summary variable that sums every line on every calculation is expensive on a 300-line quote.
  • Reserve the Quote Calculator Plugin for logic rules cannot express. Keep it in version control, keep each function small, and document which business rule each one implements.

Discount schedules, block prices and contracted prices

Discount Schedules handle volume and term discounts. A Range schedule gives every unit the discount of the tier the total quantity reaches. A Slab schedule gives each unit the discount of the tier it falls in. Finance needs to choose deliberately, because the totals differ on every deal that crosses a tier boundary. Cross Products and Cross Orders settings let a schedule count quantity across related products or across previous orders.

Block pricing suits products sold in packs: 1 to 10 users at one price, 11 to 50 at another, with the price fixed per block rather than per unit. Contracted Prices hold customer-specific prices and discounts, and they are the right place for negotiated rates, rather than a price rule per account.

Know the order in which CPQ applies prices, from list price through special and contracted prices, volume discounts, additional discounts and partner discounts to net price. Most "the price is wrong" tickets are two of these layers fighting.

Approvals with Advanced Approvals

Advanced Approvals (the sbaa package) adds Approval Rules, Approval Conditions, Approval Chains, Approvers and Approval Variables on top of CPQ. Design approvals around risk, not around the org chart:

  • Base rules on margin, total discount and non-standard terms, using Approval Variables to aggregate across lines.
  • Use a dynamic approver field (for example the opportunity owner's manager) instead of one rule per region.
  • Turn on Smart Approvals so a re-submitted quote only goes back to approvers whose conditions changed.
  • Put sequential steps in a chain only when the order truly matters. Parallel approvals finish faster.

Quote templates sales will actually send

Quote Templates are built from Template Sections, Template Content records (HTML, line items, quote terms, custom content) and Line Columns. Keep the template count low. Use a Conditional Print Field on a section to show regional terms or a partner page, instead of a separate template for every variant. Group lines on the document the way the customer reads the deal, by year for a multi-year ramp or by solution area for a large bundle.

Test every template with the largest quote you expect, because page breaks and long product descriptions are where documents fall apart.

Model amendments and renewals before go-live

A quote is a moment. The contract lasts years. Decide up front:

  • Whether contracts are created from the opportunity or the order, and when.
  • The Renewal Model, contract based or asset based, and whether Renewal Forecast and Renewal Quoted are set automatically.
  • How co-termination works when add-ons are bought mid-term.
  • Whether the Preserve Bundle Structure setting is needed so bundles renew as bundles.
  • The renewal uplift, and whether renewals reprice at list or carry contracted prices.

For orgs with large contracts, check that the Large-Scale Amendment and Renewal Service is in use rather than the legacy amend/renew service. Then test a mid-term amendment with proration and a renewal on a co-terminated contract before anyone calls the build done.

Performance: large quotes and the Quote Line Editor

Calculation cost grows with lines multiplied by rules. A 40-line quote with three bundles is easy. A five-year segmented deal with MDQ products, where every product becomes five lines, gets heavy quickly.

What helps most:

  • Set the Large Quote Threshold package setting from volume testing, so big quotes switch to large quote behaviour before they hit limits.
  • Remove triggers, flows and roll-ups on SBQQ__QuoteLine__c that run on every save. Every calculation saves every line.
  • Cut price rule count and scope each rule with conditions so it skips lines it does not affect.
  • Trim the Quote Line Editor field sets to what sellers use.

Twin fields belong here too: fields with the same API name and type on the quote line and on order products, subscriptions and assets are copied automatically when those records are created. Use them for values that genuinely carry forward, and remember they copy once, at creation.

Testing: a pricing regression pack

Keep a set of golden quotes with known net totals, starting with the five deals from the start of this guide, and recalculate them after every change and every CPQ package release installed in a sandbox. The CPQ API's quote calculator, called through SBQQ.ServiceRouter, lets you script recalculation in a sandbox rather than clicking through each quote. Put configuration under source control and deploy it through a pipeline; our article on Salesforce DevOps best practices covers how.

If your org already shows the symptoms, the companion piece on common Salesforce CPQ mistakes is a quicker diagnostic. If you are weighing a move instead, start with Revenue Cloud vs Salesforce CPQ.

Fixholics has implemented and rescued CPQ orgs, including replacing manual quoting across 500+ products for a pan-India telecom operator, with 67% faster quote cycles. If your CPQ org needs a rebuild of its catalog, rules or renewals, our Salesforce CPQ team can start with a focused review.

Frequently asked questions

Can we still buy Salesforce CPQ licences?

Existing Salesforce CPQ customers can still buy additional users and renew their licences. Salesforce stopped selling CPQ to new customers in March 2025, so a company without CPQ today would be pointed to Revenue Cloud instead.

Is it worth investing in Salesforce CPQ now that it is End of Sale?

Yes, if CPQ will keep running your quoting for the next few years. No end-of-life date has been announced, and a clean catalog, a smaller rule set and a regression pack make the org cheaper to run today and cheaper to migrate later. Avoid large new builds that only make sense on CPQ, such as complex usage pricing in the Quote Calculator Plugin.

Is Advanced Approvals included with Salesforce CPQ?

Advanced Approvals is a separate managed package (the sbaa namespace) and has historically been licensed separately from CPQ. Check your contract or ask your account executive whether you own it. In Revenue Cloud, Advanced Approvals is included and built on Flow Approval Orchestration.

Talk it through with us.

If this describes your situation, a senior consultant will reply within one business day with a practical next step.