Back to Blog
Salesforce CPQPricingTechnicalGuide

Salesforce CPQ Pricing Methods Explained

July 1, 202414 min read

Salesforce CPQ Pricing Methods Explained

Pricing is the heart of any CPQ system. Salesforce CPQ offers multiple pricing methods to handle everything from simple list prices to complex subscription billing. This guide explains each pricing method and when to use it.

Overview of Pricing Methods

Salesforce CPQ supports five primary pricing methods:

MethodUse CaseExample
ListStandard catalog pricingSoftware license at $100/user
CostCost-plus margin pricingHardware at cost + 30%
BlockTiered quantity pricing1-10: $100, 11-50: $80, 51+: $60
Percent of TotalAdd-on as percentageSupport at 18% of product total
CustomComplex calculationsFormula-based pricing

List Pricing

The simplest method — price comes from the Price Book Entry.

Setup

  1. Create a Product
  2. Add Price Book Entry with list price
  3. Product automatically uses this price

Example

Product: CRM LicensePrice Book: StandardList Price: $150/user/month

When to Use

  • Standard products with fixed prices
  • Products with different prices per market (use multiple price books)
  • Simple catalog items

Cost Plus Pricing

Calculate price based on cost and markup percentage.

Setup

  1. Product field: SBQQ__Cost__c = 75
  2. Quote Line field: SBQQ__MarkupRate__c = 0.30 (30%)
  3. Net Price = Cost × (1 + Markup) = $97.50

Price Rule Example

Price Rule: Standard MarkupCondition: Product Family = "Hardware"Action: Set Markup Rate = 30%

When to Use

  • Reseller/distributor scenarios
  • Hardware with variable costs
  • Cost-transparency negotiations
  • Products with fluctuating input costs

Block Pricing

Tiered pricing based on quantity ranges.

Setup

Create Block Price records on the Product:

Lower BoundUpper BoundPrice
110$100
1150$85
51100$70
101(blank)$55

Pricing Method Options

Tiered: Each tier is priced separately

Quantity: 75└── 10 × $100 = $1,000 (tier 1)└── 40 × $85  = $3,400 (tier 2)└── 25 × $70  = $1,750 (tier 3)Total: $6,150

Slab: Entire quantity uses one tier

Quantity: 75└── 75 × $70 = $5,250 (all in tier 3)Total: $5,250

When to Use

  • Volume discounts
  • Consumption-based pricing
  • Economies of scale offerings

Percent of Total Pricing

Price as a percentage of related products.

Setup

  1. Set Product Method = "Percent of Total"
  2. Set SBQQ__PercentOfTotalBase__c = "List" or "Net"
  3. Set percentage on Quote Line

Example

Product: Premium SupportMethod: Percent of TotalPercentage: 18%Base: Net Amount of qualifying productsQuote Lines:├── Software Suite: $10,000 (qualified)├── Training: $2,000 (not qualified)└── Premium Support: $1,800 (18% of $10,000)

Controlling the Base

Use SBQQ__IncludeInPercentOfTotal__c checkbox to include/exclude products from the calculation base.

When to Use

  • Maintenance and support contracts
  • Service level agreements
  • Extended warranties
  • Insurance or coverage add-ons

Custom Pricing

Use formulas or code for complex calculations.

Formula Summary Variable

Create a Summary Variable to calculate:

Summary Variable: Total_Hardware_Value├── Aggregate Function: Sum├── Target Object: Quote Line├── Target Field: Net Total└── Filter: Product Type = "Hardware"

Price Action Formula

Reference the summary variable in a Price Action:

Price Action: Calculate SupportField: Special PriceFormula: $SUMVAR.Total_Hardware_Value * 0.12

Apex Pricing Plugin

For the most complex scenarios:

apex
global class TieredDiscountPlugin implements SBQQ.QuoteCalculatorPlugin2 {        global void onBeforePriceRules(SObject quote, SObject[] lines) {        Decimal totalAmount = 0;                for (SObject line : lines) {            totalAmount += (Decimal) line.get('SBQQ__NetTotal__c');        }                // Apply tiered discount based on total        Decimal discountRate = getDiscountRate(totalAmount);                for (SObject line : lines) {            line.put('SBQQ__AdditionalDiscountAmount__c',                 (Decimal) line.get('SBQQ__NetTotal__c') * discountRate);        }    }        private Decimal getDiscountRate(Decimal total) {        if (total > 100000) return 0.15;        if (total > 50000) return 0.10;        if (total > 25000) return 0.05;        return 0;    }}

When to Use

  • Deal-level volume discounts
  • Cross-product pricing dependencies
  • External pricing integrations
  • Complex multi-variable calculations

Subscription Pricing

Built-in support for recurring revenue.

Key Fields

FieldPurpose
SBQQ__SubscriptionTerm__cTotal months
SBQQ__SubscriptionPricing__cFixed, Percent of Total
SBQQ__BillingFrequency__cMonthly, Quarterly, Annual
SBQQ__ProrateMultiplier__cPartial period factor

Example Configuration

Product: SaaS Platform├── Subscription Pricing: Fixed Price├── Billing Frequency: Monthly├── Subscription Term: 12 months└── List Price: $500/monthQuote Result:├── Monthly Amount: $500├── Annual Amount: $6,000└── Prorate for partial month: Automatic

Renewal Pricing

Automate renewal price increases:

Product Setting:├── Renewal Pricing: Uplift├── Renewal Uplift Rate: 3%└── Renewal Term: 12 monthsYear 1: $500/monthYear 2: $515/month (3% uplift)

Discount Schedules

Automate discounts based on term length.

Setup

Create a Discount Schedule:

Lower BoundUpper BoundDiscount
1120%
13245%
253610%

Associate with Product:

  • SBQQ__DiscountSchedule__c = Schedule ID
  • SBQQ__DiscountScheduleType__c = "Range" or "Slab"

When to Use

  • Multi-year deal incentives
  • Volume commitment discounts
  • Loyalty pricing programs

Pricing Calculation Order

Understanding the calculation order prevents confusion:

1. List Price (from Price Book)2. Contracted Price (if customer has agreement)3. Special Price (from Price Rules)4. Volume Discount (from Discount Schedule)5. Partner Discount (if applicable)6. Additional Discount (manual or calculated)7. Net Price = Final price

Best Practices

1. Choose the Right Method

ScenarioRecommended Method
Simple productsList
Reseller marginsCost
Volume tiersBlock
Add-on servicesPercent of Total
Complex logicCustom

2. Use Price Rules Strategically

  • Keep rules simple and focused
  • Test rule interactions thoroughly
  • Document rule logic for maintenance

3. Consider Calculation Performance

  • Too many rules slows calculation
  • Pre-calculate when possible
  • Use summary variables efficiently

4. Plan for Renewals

  • Set up renewal pricing from the start
  • Consider uplift automation
  • Test the full quote-to-renewal cycle

Need Help with Salesforce CPQ Pricing?

Complex pricing strategies require expert implementation. Contact our Salesforce CPQ specialists to optimize your pricing configuration.

Need Expert CPQ Help?

Our certified CPQ consultants can help you implement best practices and optimize your quote-to-cash process.

Get in Touch