Data model

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.

Look up an object →
3
Standard objects reused
10+
Package objects added
SBQQ__
The prefix
Jul 2026
Online docs retired

The model in one picture

Standard Salesforce objects (reused) and SBQQ package objects (added), both inside Your Salesforce org with Salesforce CPQ installed Figure 1. Salesforce CPQ layers package objects over standard ones. The standard side is why list prices survive any migration; the package side is why quotes, rules and subscriptions need mapping.Your Salesforce org with Salesforce CPQ installedStandard Salesforce objects (reused)Product2Pricebook2PricebookEntryContractOrder / OrderItemSBQQ package objects (added)SBQQ__Quote__cSBQQ__QuoteLine__cSBQQ__ProductOption__c / ProductFeature__cSBQQ__PriceRule__c / ProductRule__cSBQQ__Subscription__c
Standard Salesforce objects (reused)SBQQ package objects (added)
Figure 1. Salesforce CPQ layers package objects over standard ones. The standard side is why list prices survive any migration; the package side is why quotes, rules and subscriptions need mapping.
Need the RCA-side objects too? Both models, side by side.Open the RCA data model →

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.

ObjectWhat it holdsTo Revenue Cloud AdvancedTo 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__cQuote header: account, opportunity, dates, status, totals.Standard Quote with Transaction Management fields.Kugamon Quote (kugo2p).
SBQQ__QuoteLine__cEach product on a quote: quantity, list, net, discount, term.Standard QuoteLineItem + QuoteLineDetail.Kugamon quote line.
SBQQ__QuoteLineGroup__cOptional grouping of lines.QuoteLineGroup.Quote sections.
SBQQ__ProductFeature__c / SBQQ__ProductOption__cBundle structure: features on a parent, options inside each.Attribute-based catalog (ProductClassification, ProductRelatedComponent).Kugamon bundles.
SBQQ__ProductRule__cValidation, alert, selection and filter rules.Constraint-based configurator rules.Quote-line validation.
SBQQ__PriceRule__cConditional price changes.Pricing procedures and elements.Tiered and account-specific pricing.
SBQQ__DiscountSchedule__cVolume and term discount tiers.PriceAdjustmentSchedule.Tiered pricing.
SBQQ__ContractedPrice__cAccount-specific negotiated prices.ContractItemPrice.Account-specific pricing.
SBQQ__Subscription__c + ContractInstall base: one record per subscribed product per contract.Asset + AssetStatePeriod + AssetContractRelationship.Kugamon Subscription (kuga_sub).
SBQQ__QuoteTemplate__cQuote 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 PricebookEntry records, 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__c is 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.

Common questions

Salesforce CPQ data model — FAQ

All migration questions →

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.

Next step

Ready to run the numbers?

Published licence prices, a fixed implementation fee, and typical timelines by source platform.