Salesforce CPQ data migration: what each SBQQ object holds and where it goes
Salesforce CPQ stores products and list prices in standard objects (Product2, Pricebook2, PricebookEntry) and everything else — quotes, quote lines, bundles, rules, discount schedules, subscriptions — in SBQQ package objects. The standard objects move to any destination unchanged. The package objects must be mapped or rebuilt. Here is the object-by-object view.
The map
Object names are from Salesforce’s CPQ documentation (object relationships · developer guide). The last two columns show the usual landing place for each destination.
| SBQQ object | What it holds | To Revenue Cloud Advanced | To Kugamon |
|---|---|---|---|
Product2 (standard) | Your products. | Product catalog (attribute-based; rationalize first). | Same Product2 records. Moves as-is. |
Pricebook2 / PricebookEntry (standard) | List prices by price book. | Price book entries (reused). | Same records. Moves as-is. |
SBQQ__Quote__c / SBQQ__QuoteLine__c | Quotes and their lines. | RCA quote and quote line (standard-model). | Kugamon quote and line (kugo2p package). Migrate open quotes only. |
SBQQ__ProductOption__c / SBQQ__ProductFeature__c | Bundle structure: features and the options inside them. | Attribute-based catalog. Redesign. | Kugamon bundles. Rebuild. |
SBQQ__ProductRule__c | Validation, alert, selection, and filter rules. | Constraint-based configurator. Rebuild. | Validation on quote lines. Rebuild what is still needed. |
SBQQ__PriceRule__c | Conditional price changes. | Pricing procedures. Rebuild. | Tiered and account-specific pricing. Rebuild. |
SBQQ__DiscountSchedule__c | Volume and term discounts. | Basic schedules can be tooled; advanced ones are manual (Prodly). | Tiered pricing. Rebuild. |
SBQQ__ContractedPrice__c | Account-specific negotiated prices. | Price adjustments per account. Rebuild. | Account-specific pricing. Load. |
SBQQ__Subscription__c + Contract | The install base: what each customer owns, with dates. | Assets (asset-based amendments and renewals). | Subscription object (kuga_sub package) with automated renewal opportunities. Load. |
SBQQ__QuoteTemplate__c | Quote document layouts. | Rebuild. | Rebuild. |
| Quote Calculator Plugin (QCP) scripts | Custom JavaScript pricing logic. | Rebuild as pricing procedures. | Usually unnecessary; rebuild remaining logic declaratively. |
Three rules that save weeks
Migrate open quotes only. Closed and expired quotes are history. Keep them in SBQQ (or an archive) and reference them; do not transform them.
Migrate the install base completely. Every active subscription must exist in the target before its first renewal there. This is the one data set where “most of it” is a failure.
Do not port rules you cannot explain. Years of price rules and product rules accumulate. Export them, list what each one does in plain language, and rebuild only the ones the business still recognizes.
A minimal export set
- Products and price books
Standard
Product2,Pricebook2,PricebookEntry. Include inactive products referenced by active subscriptions. - Bundle structure
SBQQ__ProductFeature__candSBQQ__ProductOption__cwith their parent products. - Rules and schedules
SBQQ__ProductRule__c(with conditions and actions),SBQQ__PriceRule__c,SBQQ__DiscountSchedule__c, and QCP script text. - Negotiated prices
SBQQ__ContractedPrice__cby account. - Open quotes
SBQQ__Quote__candSBQQ__QuoteLine__cwhere status is not closed or expired. - Install base
ContractandSBQQ__Subscription__cwith start and end dates, quantities, and net prices.
Where documentation went
In July 2026 Salesforce retired the online CPQ help articles in favor of a single PDF (KB 005388761). Download the developer guide now (PDF) and keep it with your migration workbook; field-level definitions for Subscription are still on Salesforce Help (subscription fields). More on the change: Salesforce CPQ documentation is gone.
Yes. Products and list prices are standard Salesforce objects and move unchanged. Quotes, quote lines, bundles, rules, discount schedules, and subscriptions are SBQQ package objects and must be mapped to the target’s equivalents. Migrate open quotes and the full install base; archive the rest. The checklist sequences it.
Product2, Pricebook2, and PricebookEntry, because they are standard Salesforce objects. Everything with the SBQQ__ prefix is package data and needs mapping (Salesforce Help). Background: What is SBQQ?.
They do not migrate. In Revenue Cloud Advanced the equivalent is declarative pricing procedures (Salesforce); in Kugamon most QCP logic is unnecessary because tiered and account-specific pricing is configured, not scripted. Either way, document what each script does before you start.
Salesforce retired the online help articles in July 2026 and replaced them with a single PDF (KB 005388761). The CPQ developer guide PDF and some field-reference pages remain available.
See your migration plan
Published timelines by source platform, a fixed implementation fee, and a calculator that labels every estimate.