Salesforce CPQ data model: every SBQQ object and where it lands when you migrate
Salesforce CPQ stores products and list prices in standard objects — Product2, Pricebook2, PricebookEntry — and everything else in objects the SBQQ managed package adds: quotes, quote lines, bundle structure, product and price rules, discount schedules, contracted prices, subscriptions and templates. The standard objects move to any destination unchanged; the SBQQ__ objects are mapped or rebuilt.
The model in one picture
Object reference
Object names are from Salesforce CPQ object relationships and the CPQ developer guide. The two right-hand columns show the usual landing place for each destination.
| Object | What it holds | To Revenue Cloud Advanced | To Kugamon |
|---|---|---|---|
Product2 (standard) | Products. | Product catalog with classifications and selling models. | Same records. |
Pricebook2 / PricebookEntry (standard) | List prices by price book. | Price book entries (reused) plus pricing procedures. | Same records. |
SBQQ__Quote__c | Quote header: account, opportunity, dates, status, totals. | Standard Quote with Transaction Management fields. | Kugamon Quote (kugo2p). |
SBQQ__QuoteLine__c | Each product on a quote: quantity, list, net, discount, term. | Standard QuoteLineItem + QuoteLineDetail. | Kugamon quote line. |
SBQQ__QuoteLineGroup__c | Optional grouping of lines. | QuoteLineGroup. | Quote sections. |
SBQQ__ProductFeature__c / SBQQ__ProductOption__c | Bundle structure: features on a parent, options inside each. | Attribute-based catalog (ProductClassification, ProductRelatedComponent). | Kugamon bundles. |
SBQQ__ProductRule__c | Validation, alert, selection and filter rules. | Constraint-based configurator rules. | Quote-line validation. |
SBQQ__PriceRule__c | Conditional price changes. | Pricing procedures and elements. | Tiered and account-specific pricing. |
SBQQ__DiscountSchedule__c | Volume and term discount tiers. | PriceAdjustmentSchedule. | Tiered pricing. |
SBQQ__ContractedPrice__c | Account-specific negotiated prices. | ContractItemPrice. | Account-specific pricing. |
SBQQ__Subscription__c + Contract | Install base: one record per subscribed product per contract. | Asset + AssetStatePeriod + AssetContractRelationship. | Kugamon Subscription (kuga_sub). |
SBQQ__QuoteTemplate__c | Quote document layouts. | Rebuild. | Rebuild. |
| Quote Calculator Plugin (QCP) | Custom JavaScript pricing logic. | Pricing procedures. | Usually unnecessary. |
The three rules the model implies
- Standard objects are your exit. Because list prices are
PricebookEntryrecords, any destination that reads Price Books starts with your pricing intact. - Package objects are the migration. Everything with an
SBQQ__prefix needs a decision: map, rebuild, or archive. The data migration guide makes those decisions object by object. - Subscriptions are the one you cannot get wrong.
SBQQ__Subscription__cis the install base; every active record must exist in the target before its first renewal there.
Where the documentation went
Salesforce retired the online CPQ help articles in July 2026 in favour of a single PDF (KB 005388761). Download the developer guide PDF now; field-level references such as subscription fields remain on Salesforce Help. Background: Salesforce CPQ documentation is gone.
Standard: Product2, Pricebook2, PricebookEntry, Contract, Order. Package (SBQQ__): Quote, QuoteLine, QuoteLineGroup, ProductFeature, ProductOption, ProductRule, PriceRule, DiscountSchedule, ContractedPrice, Subscription, QuoteTemplate, plus supporting objects (Salesforce Help).
Yes. List prices are standard PricebookEntry records; SBQQ price rules, discount schedules and contracted prices adjust from there. That is why list prices survive any migration.
SBQQ__Subscription__c, related to Contract. It is the install base — one record per subscribed product per contract, with dates and quantities (field reference).
Salesforce says CPQ objects, fields, rules and scripts do not map directly to RCA (source). CPQ is SKU-based bundles with a Subscription custom object; RCA is an attribute-based catalog with pricing procedures and asset-based renewals on core objects. Object by object: RCA data model.
Ready to run the numbers?
Published licence prices, a fixed implementation fee, and typical timelines by source platform.