Subscription Pricing

by Community Manager on ‎08-11-2015 11:21 AM - edited on ‎09-09-2016 03:58 PM by Community Manager


Custom Product fields allow administrators to set Products as Subscription Products. These can be priced based on a fixed price, a Price Book entry, or a Percent of Total, which SteelBrick CPQ calculates dynamically. 



  1. Navigate to a Product that requires subscription pricing and click Edit.
  2. Enter the following information.
Field Description
Percent of Total (%)

Enter a percentage of non-subscription total to be used as the price of this subscription.

Subscription Term Enter the length of the subscription. This could be months or days, based on the Subscription Term setting on the Product object.
Term Discount Schedule Enter or lookup a discount schedule for subscription items.
  1. Click Save.



Your users can add subscription products to a Quote. SteelBrick CPQ automatically prorates prices to co-terminate subscription and automatically calculates prices that are based on a percent of total.


Co-terminating is the process of synchronizing subscriptions to expire at the same time when they have different start dates.



As of Summer 16, SteelBrick CPQ allows for a set of Subscription Products with varying End Dates to be grouped under a single Contract.



Admins may need to add the following fields to the following objects:

  • Quote: Add the Contracting Method field
  • Subscription: Add the Subscription Start Date field and Subscription End Date field

These fields perform the following functions:

  • Contracting Method: This field controls how Contracts are created upon Contracting a Quote. Select "By Subscription End Date" to create a separate Contract for each unique Subscription End Date. These contracts will only contain Subscriptions with that particular End Date. Select "Single Contract" so that Salesforce CPQ will create one Contract that contains all Subscriptions, regardless of End Dates.
  • Subscription Start Date / Subscription End Date: These fields may be modified to override the Start Date and End Date fields on the Subscription record. (Start Date and End Date are unmodifiable fields that automatically pull the parent Contract's Start Date and End Date field values after a related Quote is contracted.)


This walkthrough requires an Account with an Opportunity. That Opportunity must contain a Quote with at least two Subscription Products.


When a user creates a Quote with two or more Subscription Products and contracts that Quote's Opportunity, SteelBrick CPQ by default will group all Subscription Products with the same End Date into one Contract while creating separate Contracts for each Subscription Product with a unique End Date. Users who wish to place all of a Quote's Subscription Products into a single Contract regardless of End Date may now do so via the new Quote Field.


  1. By default, Subscription Products inherit the End Date of their parent Quote. To manually change this End Date, navigate to the Quote containing your selected Subscription Product, then select Edit next to that Subscription Product's entry in the Quote Lines related list. Change the End Date as needed and click Save.
  2. Navigate to your Quote and ensure the Contracting Method field is set to Single Contract.
  3. Return to your Quote's parent Opportunity and contract it.
  4. Navigate to your Account and view the Contracts related list. Your new Contract will contain all the Subscription Products from the Opportunity you contracted in step 3.
  5. After contracting, if you want to edit the End Date of any Subscription Product on the new Contract, you may do so by navigating to your Account, selecting the Subscription Product record from the Subscription Product related list and editing the Subscription End Date field.
  6. Note: The Subscription object's Subscription Start Date / Subscription End Date are separate fields from the Subscription object's Start Date / End Date.
    • The Start Date and End Date are formulas that automatically pull the parent Contract's Start Date and End Date fields.
    • Subscription Start Date and Subscription End Date will override the values that were pulled into the Subscription object's Start Date and End Date respectively


You may typically sell support agreements on a 12-month basis, but occasionally you sell a 6-month contract because the customer wants to buy more products or affix add-ons after six months in the agreement. Co-terminating the contracts here would prorate the contract 6 months, ensuring that both are up for renewal together.


SteelBrick CPQ automatically calculates the price of a product line item on the quote based on the value in the Subscription Term field. To set this up for your users, include the Subscription Term in months for any product that has a price representing the full term. Below is a set of example product details for a yearly service level agreement costing $20,000.


Product Name SLA Silver
Subscription Pricing Fixed Price
Subscription Term 12
Price $20,000


When you add this to a quote that has a Subscription Term of 6 months, SteelBrick CPQ automatically divides the price in half. In this example, the price of the SLA Silver on a 6-month quote is $10,000.



The code below illustrates how to determine the monthly value for a subscription. This is a universal formula for calculating the MCV valule within SteelBrick CPQ.


IF( TEXT( SBQQ__SubscriptionPricing__c ) = "" ,
IF( SBQQ__ProrateMultiplier__c <> 0 ,
SBQQ__NetTotal__c / ( SBQQ__ProrateMultiplier__c * SBQQ__DefaultSubscriptionTerm__c ) ,


Note: This formula returns NULL if the product is NOT a subscription item. Return the Net Total instead of NULL on line 2 of the formula if you want non-subscription products to return an actual value.


by Stephen_Stanton
on ‎01-18-2016 12:38 PM
Subscription TermEnter the length of the subscription. This could be months or days, based on the Subscription Term setting on the Product object.

This should be "based on Subscription Term Unit value in the Subscriptions and Renewals tab in the SteelBrick CPQ Settings"

by Jyosthna
on ‎07-13-2017 01:19 PM

If the Contracting Method is set to "By Subscription End Date' will a new contract be created from Amendment Opportunity if a subscription end date is different. A new Contract is getting created only from a new Opportunity or a renewal Opportunity but not form Amendment Opportunity(Renewal Model set to Contract Based)