CPQ migration risks: twelve ways it goes wrong and the control for each
CPQ migrations fail in predictable places: the install base arrives incomplete, quote totals drift because a pricing rule was re-expressed differently, an integration nobody listed breaks at cutover, or reps keep using the old tool. Each has an early sign and a control. The single most effective control is a parallel run that compares totals on real quotes before cutover.
If you read nothing else
- You want the one control that catches the mostA parallel run on live quotes, comparing totals line by line
- You want the one risk that cannot be recovered from cheaplyAn incomplete install base — every active subscription or asset must exist in the target before its first renewal there
- You are being rushedThere is no end-of-life date for Salesforce CPQ; compressing the timeline is a choice, not a requirement
The twelve, by phase
| # | Risk | Early sign | Control | Owner |
|---|---|---|---|---|
| 1 | Scope creep — migrating everything, including dead rules and old quotes | Inventory has no “archive” column | Decide migrate / rebuild / archive per object in discovery; set a quote-history cutoff | Project lead |
| 2 | Hidden pricing logic — QCP, Apex or TurboPricing nobody documented | Quote totals that no rule explains | Extract every script and rule before design; test each against a sample quote | Salesforce admin |
| 3 | Catalog structure mismatch — bundles or attributes that do not exist in the target | Options that fit only as workarounds | Design the target catalog first, then map; do not map first | Sales ops |
| 4 | Pricing drift — a rule re-expressed with a different edge case | Totals match on simple quotes, not on discounted or multi-year ones | Parallel run on real quotes; compare line by line | Sales ops |
| 5 | Incomplete install base — subscriptions or assets missing or with wrong dates | Renewal opportunities missing after go-live | Reconcile counts and totals per account before cutover; move the install base in one pass | RevOps |
| 6 | Duplicate quoting — both CPQs quote the same deal during parallel run | Two quotes on one opportunity | Assign each opportunity to one CPQ; one creates, the other verifies | Sales ops |
| 7 | Unlisted integrations — an ERP or document tool reading quote objects | Errors at cutover from a system not on the plan | Query which systems read or write quote objects; list all in discovery | Salesforce admin |
| 8 | Template gaps — quote documents missing clauses or fields | Reps editing PDFs by hand | Rebuild templates against real quotes; legal signs off before cutover | Sales ops / legal |
| 9 | Adoption — reps stay on the old tool | Old CPQ still creating quotes a week after cutover | Remove create access on cutover day; train on real deals in the parallel run | Sales leadership |
| 10 | Timeline compression — a date set before scope is known | A cutover date on the plan before discovery ends | Fix the date after the parallel run passes; there is no end-of-life deadline (Salesforce) | Executive sponsor |
| 11 | Lock-in — the new system holds the authoritative quote outside your org | Reporting needs an export from the vendor | Apply the five-question native test before choosing | Executive sponsor |
| 12 | Documentation loss — the source system’s docs disappear mid-project | Links to help articles returning 404 | Download the vendor PDF now; Salesforce retired its online CPQ docs in July 2026 (KB) | Salesforce admin |
Where they cluster
The control that catches most
A parallel run — one quote cycle where reps create real quotes in the new CPQ and the old one verifies — surfaces pricing drift, template gaps, unlisted integrations and adoption problems before cutover, while the old system is still there to fall back on. It costs one to two weeks. Skipping it is the most common way a well-planned migration goes wrong.
Risk that depends on the destination
Risks 1–10 apply to every destination. Risk 11 applies when the target keeps the authoritative quote outside your org (DealHub, Nue). Risk 2 is largest when moving to Revenue Cloud Advanced, because Salesforce says SBQQ rules and scripts do not map directly and must be re-expressed as pricing procedures (source); it is smallest when the target prices from standard Price Books, because most SBQQ pricing rules turn out to be tiering or account pricing that the target handles declaratively.
An incomplete install base. If active subscriptions or assets are missing or carry wrong dates, renewals fail after go-live, and the fix is a second migration. Reconcile counts and totals per account before cutover; see quote and subscription data migration.
With a parallel run: reps create real quotes in the new CPQ for one quote cycle while the old CPQ verifies totals line by line. Procedure: parallel run.
Only if you choose to. Most teams set a cutoff (for example, quotes from the last 12–24 months) and archive older ones as read-only records or PDFs. Active subscriptions and assets are migrated completely regardless of age.
See your migration plan
Published timelines by source platform, a fixed implementation fee, and a calculator that labels every estimate.