CPQ - Contracting, Amending, & Renewing Subscriptions

Contracting Guidelines

Linkto YouTube end-user flow (contracting, amendments, renewals)

Prorate subscriptions on contracts and renewals
  • Salesforce CPQ automates pricing, prorating, and coterminating subscriptions on contracts and renewals.

Contracts related objects



Potential fields to add to contract layout

If possible, create contracts from orders to get most accurate dates (if orders being used, etc)

Use contract co-termination/Event to force users into an amendment flow rather than creating more and more contracts

Contracts creation Criteria 
  • Performed on Opportunity usually by clicking Contracted Checkbox (Also new contract button on Account)
  • When contracted checkbox on an Opportunity is set to True,then the contract is created in the background
  • Opportunity requires a Primary Quote related to it (primary checkbox)
  • Start Date and Subscription Term(or End date)defined for the Quote and it’s Quote Lines.
  • contract-based "renewal model" on your opportunity’s account
  • Subscriptions and possibly assets created automatically on the contract
  • Common to have a workflow that updates the contracted checkboxwhen an opportunity is won
  • The quote field Contracting Method:
    • Controls how many contracts are created& start dates / end dates of contracts you create from your opportunity
    • By Subscription end date (default): Salesforce CPQ groups subscription products by end dates into separate contracts. The contract’s start date is equal to the earliest start date among its subscription products. 
    • Single contract: Salesforce CPQ creates one contract for all your opportunity’s subscription products.
      • The single contracting method is not available for evergreen quote lines. Evergreen and non-evergreen subscriptions must be managed on different contracts.

Subscription records created upon Contracting
  • View Subscriptions under Account or Contract (related list)
  • When an Opportunity is contracted upon contract creation, the Quote Lines create Subscriptions for Subscription Products
  • When Subscription Pricingand Subscription Termare populated on a product record, product will be recognized as a subscription and not an asset
  • Adl. notes:
    • NOTE: If there are no Quote Linesthat have Subscription Pricingdefined, a Contract will not be created, but Assets will still be created for the Account for Quote Lines of Products with Asset Conversion (field) defined. 
    • NOTE:When quote lines contracted for the first time, then Is Contracted (SBQQ__CompletelyContracted__c)  is marked as TRUE on the Quote Line record during Contract creation 
    • NOTE:Contracting an opportunity locks the original quote lines from further changes. To change those quote lines, sales reps profile users must amend the contract and edit the quote lines on the amendment quote. If the contract is ready for renewal, they can also renew the contract and change the quote lines on the renewal quote.

Asset creation upon Contracting(i.e. NOT subscription products). 
  • View asset records from Account. These records contain pricing values for the non-subscription products
  • Upon contracting, Assets created for productsthat have the product asset conversion fieldpopulated (One per Unit or One per Quote).
  • Asset Conversion field (on product) determines qty of assets to create when the product is an asset. 
  • NOTEIf the product is a subscription, no difference what value in Asset Conversion field


Renewal Guidelines

Renewals
  • Salesforce CPQ automates pricing, prorating, and co-terminating subscriptions on contracts and renewals
  • Renewal Opportunities - Created by Renewal Forecast check-boxon thecontract(manually or automate)
  • Renewal Quotes Renewal Quoted check-boxon thecontract(manually or automate)
    • Note: Selecting check-box breaks the update of Opportunity amount on the renewal opportunity if further amendments are done subsequently
    • Therefore, always best to create the renewal quote as late as possible automatically via process builder, etc (maybe 1 month prior)
  • Salesforce CPQ provides several fields that let you automate and customize the renewal process. 
    • Find these fields on your account, contract, and subscription records.

Set your renewal model in your Subscriptions and Renewals package settings 
  • The options are:
    • Contract based(for use w/subscription products)
    • Asset based
  • Salesforce CPQ applies that value by default to the renewal model field on your Accounts
    • To override the package’s renewal model, change the renewal modelfield on Account

Renewal fields on account control automated renewal behavior (for automatically co-terming upon renewal, pricing, etc)
  • Account field: Renewal Model(ensure is set to contract based for subscriptions)
           



If Account has multiple contracts, you can opt to renew & combine multiple contracts into 1 master contract (from Account object)


Use the master contract check-box to designate as master contract for this account. Upon renewal all contracts will be rolled-up into this one.
  • This is especially helpful as this creates 1 renewal opportunity with amount for all current subscriptions and/or assets needing renewal
  • You will need to add the renew contracts button to the Accounts related list
  • It is recommended you pick the contract with the earliest end date during the process of combining:
    1. Change this Contracts Renewal Term field to 12(for example)
    2. Then Hit theAmend button on Accounts Contracts Related list (then select the contracts you wish to combine)
    3. Behavior for automated quote, opportunity, contract creation process: Renew Contracts from an Account
  • Combine Co-Termed Contracts (field on Account)
    1. You can use this field when you renew multiple contracts at the same time from the account record
    2. Combine multiple asset or subscription records for the same product across several contracts into one quote line on the renewal quote
    3. If your contracts end on the same date, you can use this feature
    4. If you don’t select this field, each set of matching products receives its own quote line group on the renewal quote
  • You can also manually create a new quote & keep all your customer's renewed subscriptions on a single quote and contract:
    • This also is a way to manage renewals and align them to end on the same date
    • Steps:
      • Go to an account, Click New Opportunity.
      • Enter the opportunity details. Select the Renewal option, and then save the opportunity
      • From the new opportunity, click New Quote
        • Enter the quote details. Set the Type field to Renewal, and then save the quote.
          The quote line editor opens automatically.
      • In the quote line editor, select Renew Subscriptions from the Add Products dropdown list.
      • On the Subscription Selection page, choose the subscriptions you want to renew, and then click Select.
        Salesforce CPQ creates a renewal quote containing all the subscriptions you selected. 

Renew one of your contracts directly from the contract record
  • This process is useful if you don’t need to renew several contracts into the same renewal quote
  • Behavior is detailed here: Renew from the Contract Record

Renewal behavior fields on Contract 
  •  Combine Subscription Quantitiesfield, use to combine subscriptions on Renewal Quotes 
    • Configure your contract to combine subscriptions for the same product onto a single renewal quote line, as long as the subscriptions have matching end dates.
      • Create an add-on opportunity on your account. On the Existing Contracts page, select the contract that you want your add-on opportunity to coterminate with.
      • Create a quote for your add-on opportunity and add at least one of a subscription product that exists on the contract you picked for cotermination.
      • On your add-on opportunity, click Contracted. Return to your contract and select Combine Subscription Quantities.
      • Select Renewal Forecast and Renewal Quoted. Find your renewal opportunity and open its quote.
      • Salesforce CPQ combined subscriptions with matching end dates for the same product into one quote line. For example, if your contract contained 8 MDM subscriptions and your add-on opportunity contained 2 MDM subscriptions, the renewal quote contains one MDM subscription quote line with a quantity of 10.
        • Note: When you’re combining matching subscriptions, consider the following; Subscriptions don’t roll up on amendment quotes, even when you’ve selected the contract’s Combine Subscription Quantities field. Salesforce CPQ doesn’t preserve bundle structure when Combine Subscription Quantities is active and the same subscription product exists within multiple bundle levels.

Note on data migration of historical renewal opportunities:
  • Try to avoid this
  • Migrate contracts only with subscriptions, batch-update those contracts to create renewal opportunities

Guidelines for Renewed Products

  • TIP: if you want a different product upon renewal, for example if a product has been replaced (i.e. automated renewals), research the renewal product feature on the product record itself...
  • A product’s type determines how it moves through the renewal process. Use key renewal fields on your product records to customize this process.
    • Renewing Your Percent of Total Products - When you renew a contract, your original quote’s percent of total subscriptions continue to cover their asset quote lines. Your original quote’s percent of total subscriptions can also cover products that were added in only the renewal quote.
    • Guidelines for Bundle Renewals - You can change the configuration of your bundle when you renew it.
    • Renewing MDQ Products - Renew your MDQ products so you can quote a new set of segments on your renewal quote

Salesforce CPQ – Pull Quote Line Groups into Renewals and Amendments

Note: POT Pricing & Renewals – Amending or Renewing POT products can be challenging (difficult to calculate)


ACV and TCV calculations
https://medium.com/@dlog/forecasting-saas-revenue-with-salesforce-steelbrick-cpq-21e3718274f3. This is one approach, Salesforce is using ithe approach described in the article to do their forecasting internally.




Renew Your Contracts and Assets


Renew a contract when your subscriptions are about to reach their end date. If you’re using an asset-based renewal model, you can renew a percent of total product and its covered assets. 

Your account’s renewal model and your use case determine the way you perform renewals. Regardless of your method, Salesforce CPQ creates a renewal opportunity and renewal quote. The renewal quote contains all the products you’re renewing. You can also add new products to the renewal quote.


We’ll review renewal methods at a high level here. Later, you can check out our tasks for step-by-step explanations and examples. 

RENEWAL MODEL
USE CASE
ACTIONS
RESULTS
Contract-based 
The subscriptions on one contract are near their end dates and your customer wants to renew them for another term of service. 
To create a renewal quote from your contract, click Renewal Quoted on your contract record. 
  • Salesforce CPQ creates a renewal opportunity and renewal quote.
  • The renewal quote contains all the subscriptions and covered assets from your contract.
Contract-based 
The subscriptions on several of your account’s contracts are near their end dates. Your customer wants to renew them, and you want to move all the renewed subscription products into a single renewal opportunity. 
To renew contracts from your account, go to your account’s Contracts related list, select all the contracts to renew, and then click Renew Contracts
  • Salesforce CPQ asks you to pick a master contract. The renewal quote inherits its end date from the master contract’s end date.
  • Salesforce CPQ creates a renewal opportunity and renewal quote.
  • The renewal quote contains products for all the subscriptions and covered assets from the contracts you renewed.
Asset-based 
You have a percent of total asset that represents a subscription and at least one covered asset. 
To renew assets, click Renew Assets on your account. 
  • Salesforce CPQ creates a renewal opportunity and renewal quote.
  • The renewal quote contains your percent of total asset product and all the asset products it covered.
  • The covered products on the renewal quote have a net total price of $0 to show that your customers paid for them.


  • Salesforce CPQ provides several fields that let you automate and customize the renewal process. You can find these fields on your account, contract, and subscription records.

  • Renew one of your contracts directly from the contract record. This process is useful if you don’t need to renew several contracts into the same renewal quote.

  • Renew two or more contracts at the same time from your account. Renewing multiple contracts from an account is useful if you want all the subscriptions and assets from these contracts to go to one renewal opportunity.

  • If your contract contains subscriptions with different end dates, you can control how Salesforce CPQ sets the start and end dates of your renewal quotes. This feature is useful if you don’t want an amendment quote to coterminate with the original contract.

  • If you’re using asset-based renewals, you can renew from your account assets that are covered by a percent of total product.

  • Keep all your customer's renewed subscriptions on a single quote and contract. This makes it easier to manage renewals and align them to end on the same date.

  • Configure your contract to combine subscriptions for the same product onto a single renewal quote line, as long as the subscriptions have matching end dates.

  • A product’s type determines how it moves through the renewal process. Use key renewal fields on your product records to customize this process.

Known issue for POT products when renewing (discount doesn’t move forward from orig. subscriptions lines to the renewal quote):
Link here for fix.


Timing of Renewal Quote on the Renewal opportunity
Defer the creation of renewal quotes until required. Once a quote is generated on a renewal opportunity, co-termed add-on revenue will no longer appear in renewal opportunities and forecasts.


Contract Amendment Guidelines

Co-Term, Amendments
  • Co-term(initing) is a way to select multiple subscriptions to end on the same dates 
    • Typically Contract end date:
                    



  • Renewal/Co-Term fields on Account:
    • Set Contract Co-Termination field to Prompt to have user co-term upon quote creation
      (User can also skip to create new quote/contract)
      • Places subscriptions on master contract, not a new contract (master contract link on quote
      • Subscriptions on master contract created/modified when opportunity is contracted
    • Co-termination event field controls co-term behavior 
          (co-term always on renewal, or prompt user to co-term to existing contract for add-on)
                        



Define how Salesforce CPQ sets the end dates of amendment quotes you create through an add-on opportunity. 
  • These actions happen after you create and save your add-on opportunity.
  • Prompt:Salesforce CPQ shows an Existing Contracts page that lists all active contracts on your account. Your amendment quote inherits the end date of the contract you choose:
            


  • Always:Salesforce CPQ sets your amendment quote’s end date to the earliest end date of all contracts on your account.
  • Never:Salesforce CPQ does not provide a value for your amendment quote’s end date

Co-terming vs. cancelling and creating new contract or keeping multiple contracts (when using POT or Block pricing):
  • Both methods capable of accomplishing the same thing, however co-terming has a few advantages
  • New Contract: Sometimes easier to re-contract when changes in price/discounts are involved 
    • This is due to Additional Discount field is locked on co-term quotes

    • POT & Block pricing and amendments when changing certain criteria (adding services, quantity changes, etc)

      • Sometimes better zero’ing out and cancelling; note, must analyze downstream, fulfillments systems, license keys, etc

      • CPQ billing can help with single bill if combining contracts when adding services cause problems with POT products or block price tiers changing

        • Can combine multiple contracts into 1 bill

    • All else fails QCP will need to be employed for these scenarios if keeping multiple contracts not an option (or cancelling and creating a new contract not an option)

  • Preferred method is usually amendments/co-terming: 
    • Most other scenarios (changes in quantity, removing/adding products, etc.), 
    • Tiered discounting usually work when historical tiers changing
    • Co-terming creates an amendment opportunity and quote records to refer to for tracking changes & for reporting to sales ops, accounting, sales, other downstream systems

Disable Amendment Co-Term check-box field on Contract
  • Prevent Salesforce CPQ from setting an end date for your amendment quote. 
  • If you don’t select this field, Salesforce CPQ sets an end date based on the value of your contract’s Amendment & Renewal Behavior field.
    • Contract Behavior field on Contract





Amendment flow / “Add-on” process (Amend button on Contract)
  • Amend button (when clicked shows current subscriptions), goes into quote line editor to add products, etc
  • When clicking amend on contract; in the QLE, existing subscriptions will be added in new quote with $0 price 
  • Salesforce CPQ then creates a new amendment quote (type:amendment) & amendment opportunity
  • There is a link to the master contractfrom this new amendment quote
  • Default behavior is to co-term amendment (subscription products on amendment quote will have same end date as master contract)
  • You can also add products to the amendment quote. You can also reduce existing subscriptions to 0. The opportunity then has a negative amount.
  • When adding products through the amendment process, these add-on products are ALSO added automatically in any existing renewal opportunity for the original contract. However there is a caveat/bug if you also automatically generate the quote at the same time by selecting the Renewal Quoted checkbox on the contract:
    • If you have only check the Contract “Renewal Forecast” checkbox, the behavior is correct. Meaning when you add/edit a product in your amended opportunity, it automatically reflects on your opportunity products for your renewal opportunity.
    • If you have check “Renewal Quoted” checkbox, it does not reflect automatically on your renewal opportunity neither on your quote. You need to uncheck “Renewal Quoted”, Save your Contract, check again “Renewal Quoted” and Save your Contract to have your changes reflected on the renewal opportunity and on the newly created quote.
  • Populate contracted checkbox on amendment opportunity
    • Add-on’s/amendments do not create a new contract, but creates additional subscriptions on original contract
    • Contracting Method field on quote, type amendment 
                    





  • Amend Subscriptions in the Quote Line Editor (release Spring ’19)
    • Useful for a rep if they want to bring a subscription from a different contract onto their amendment quote. Any amendable contract associated to the account can be used, CPQ shows the Amend Subscriptions page. CPQ admins to be aware of this feature.
    • Link to functionality: click here

Salesforce CPQ – Pull Quote Line Groups into Renewals and Amendments

How to track/report on up-sell/cross-sell in amendment scenarios
  • It is common to need process builder solutions to update the exact scenario on the line in the amendment quote prior
    • Up-sell
    • Downgrades
    • Cancelations 
  • It is common to prevent the user deleting lines in the amendment quote, using a before trigger
  • Lines should be zero’d out to track the transaction so that it can be reported on
  • Business can implement a business process prior to implementing code, but eventually the business process will brake-down and reporting impacted
  • Please note: Anand Ramakrishna from Slalom has a great accelerator/solution for these use-cases, the solution is here
    1. Calculate Net Quantity on Subscription -  This ensures that at any point in time, the Net Quantity on the original subscription reflects the actual quantity held by the customer (across multiple amendments)
      • For all amendments, CPQ populates the field ‘Revised Subscription’ on the Subscription record with a reference to the original subscription.
      • Utilizing this, we calculate the Net Quantity on the original subscription using the logic below:
        •  Logic: 
                a. If its a root subscription (revised subscription not populated), Net Quantity = Quantity
                b. IF revised subscription is populated, update the subscription referred in the ‘Revised Subscription’ field with the quantity of current subscription
                     [SBQQ__Subscription__c].SBQQ__RevisedSubscription__c.Net_Quantity__c + [SBQQ__Subscription__c].SBQQ__Quantity__c 
 
                2. Calculate the ‘Prior Quantity with Customer’ on Quote Line
                Whenever an Amendment Quote is created, CPQ Populates the ‘Upgraded Subscription’ field on the Quote Line with a reference to the Original Subscription
 
                Utilizing this, we calculate the ‘Prior Quantity with Customer’ on Quote line using the below logic:
                If Upgraded Subscription is Not Blank, Prior Quantity with Customer = ‘Net Quantity’ of the subscription referred to in the ‘Upgraded Subscription’ field
                Extend the same logic if the Quote Line has reference to the Upgraded Asset / Renewed Subscription / Renewed Asset
 
               
               3.Contract Action on Quote Line
                Create a ‘Contract Action’ field on Quote line that utilizes the Global pick list set for ‘Contract Action’
                Through a process builder, update this field based on the logic below:
               
                If Quote Type = New, Contract Action = New
                If Quote Type = Amendment AND SBQQ__Quantity__c > Prior Quantity with customer AND Prior Quantity with Customer > 0, Contract Action = Qty Increase / Amend - Increase /         
                Increase
                If Quote Type = Amendment and SBQQ__Quantity__c < Prior Quantity with Customer AND SBQQ__Quantity__c > 0, Contract Action = Decrease / Qty Decrease / Amend - Decrease
 
                Extend the above logic for Amendment cancellations, Renewal quantity increase / decrease and Renewal Cancellations. 

Amending or renewing block prices if the tier changes:
  • Propose using a new price book and have the Revised PriceBook ID set to the Contract's 'Renewal PriceBook ID' field such that for Amendments, the original price book is used and for Renewals, the revised pricing is considered....
  • Karl: I don't believe there is an OOTB solution for this. It would require using an automation process (WFR, Price Rule, or best bet is QCP) to refer back to the originating line (I believe it would be the subscription), take that and stamp that price on the the amended Block Price Product. Though if you are changing tiers, that's a whole other can of worms...

Note: POT Pricing – Amending or Renewing POT products can be challenging (difficult to calculate)

Comments