Guide

CPQ parallel run: two CPQs in one org for one quote cycle before cutover

A parallel run is one quote cycle — usually one to two weeks — during which reps create real quotes in the new CPQ while the old CPQ verifies them. It works because managed packages have separate namespaces and can share standard Product and Price Book records in one org. Assign each opportunity to exactly one creating CPQ, compare totals line by line, and cut over only when the comparison passes.

1–2 wk
Typical length
1
Creating CPQ per opportunity
4
Things to compare
100%
Total match required

Why two CPQs can share an org

Salesforce CPQ (SBQQ), Conga CPQ (Apttus_*) and Kugamon (kugo2p, kuga_sub) are managed packages with distinct namespaces; Revenue Cloud Advanced runs on core objects. None of them conflict at the object level, and all but Conga price from the same standard Product2 and PricebookEntry records. The only thing to control is which package creates the quote on a given opportunity.

Old CPQ (verifies) and New CPQ (creates), both inside Your Salesforce org during the parallel run Figure 1. During the parallel run both packages live in one org and read the same catalog. The new CPQ creates; the old CPQ verifies. Conga is the exception: its Price Lists are separate objects, so the catalog must be converted first.Your Salesforce org during the parallel runOld CPQ (verifies)Reads the same Products & Price BooksRe-creates each quote for comparisonCreate access removed on cutover dayNew CPQ (creates)Reads the same Products & Price BooksCreates the quote of recordGenerates the document the customer receives
Old CPQ (verifies)New CPQ (creates)
Figure 1. During the parallel run both packages live in one org and read the same catalog. The new CPQ creates; the old CPQ verifies. Conga is the exception: its Price Lists are separate objects, so the catalog must be converted first.
The parallel run is week 6–7 of the Salesforce CPQ plan.See the full timeline →

The procedure

  1. Convert the catalog first

    Products, price books, tiers and contracted prices must exist in the new CPQ before any quote is created. Verify list prices match on a sample of 20 SKUs.

  2. Assign opportunities

    Every open opportunity gets one creating CPQ, recorded in a field. New opportunities default to the new CPQ. Nothing is quoted twice as a quote of record.

  3. Create in the new, verify in the old

    For each new quote, an admin or the rep re-creates it in the old CPQ and records four comparisons: header totals, line-by-line net prices, the generated document, and any downstream records (orders, contracts, subscriptions).

  4. Log every difference

    A shared sheet: quote, field, old value, new value, cause, fix. Most differences are rounding, a rule with a different edge case, or a template field.

  5. Fix and re-verify

    Fix the cause, not the quote. Re-verify the affected quotes and any others that use the same rule.

  6. Pass criteria

    Zero unexplained differences in totals across the cycle; every document reviewed by sales ops; every downstream record created correctly. Then set the cutover date.

  7. Cutover day

    Remove create permission on the old CPQ; leave read. Redirect any integration still pointing at old quote objects. Announce the date a week ahead.

What to compare

ComparisonHowTolerance
Header totalsNet total, discount total, term, start and end dates.Exact.
Line itemsQuantity, list, discount, net per line; subscription term and proration.Exact, after rounding rule is agreed.
DocumentsGenerated PDF against the old template: fields, clauses, terms, signatures block.Sales ops and legal sign-off.
Downstream recordsOrder, contract, subscription or asset created from the quote.Same records, same dates and quantities.

Length and staffing

One full quote cycle — long enough that every rep has created at least one quote and one renewal or amendment has passed through. For most teams that is one to two weeks. It needs one admin at roughly half time for verification and one sales-ops owner for the difference log; see the team page.

Common questions

Parallel run — FAQ

All migration questions →

Yes. Managed packages have separate namespaces and can share standard Product and Price Book records. Revenue Cloud Advanced runs on core objects alongside them. Assign each opportunity to one creating CPQ so nothing is quoted twice.

One full quote cycle — usually one to two weeks — long enough that every rep has created a quote and at least one renewal or amendment has passed through.

Log the difference with its cause, fix the cause (a rule, a rounding setting, a template field), and re-verify every quote that uses the same rule. Do not cut over with unexplained differences.

Not immediately. Remove create permission and keep read access for 30–90 days so history is available. Uninstall once reporting and archives are confirmed; for Salesforce CPQ, note that uninstalling removes SBQQ__ objects and their data.

Next step

See your migration plan

Published timelines by source platform, a fixed implementation fee, and a calculator that labels every estimate.