Salesforce CPQ Contracts and Subscriptions

Photo of author
Written By Jean-Michel Tremblay
Salesforce Consultant

Salesforce CPQ’s configuration and quoting process is only one part of the what the product can bring to your Salesforce environment. If you’re not leveraging CPQ to manage your contract lifecycle you’re missing out on a big part of the value brought by Salesforce CPQ.

Let’s review how you can use Salesforce CPQ to generate contracts, subscriptions and assets which will allow you to have better data on what your customers are actively using and make renewal management easier.

Salesforce CPQ Order to contract and opportunity to contract

What is a Contract

Salesforce CPQ Contract - Amendment and renewals

There’s often confusion when we have initial discussions during an implementation around the concept of the contract so let’s first clarify what is a contract in Salesforce CPQ.

We tend to think of a contract as the legal document, where in Salesforce, a contract is a record that will allow you to track the customer’s subscriptions.

From a Salesforce CPQ contract, you will be able to :

  • Amend an active contract

  • Create a renewal opportunity and renewal quotes

Subscription Products

To be able to use contracts and subscriptions you’ll need to setup your subscription products first so they can be added to quotes.

What is a subscription product?

In Salesforce CPQ you can sell different types of products :

  • One-off products

    • Ex.: Professional services, one-time training.

    • Products that do not get tracked as assets or subscriptions downstream.

  • Assets

    • Ex.: Hardware, perpetual software license

    • Those products will be converted to assets when you contract an opportunity or an order.

  • Subscriptions

    • Ex.: Maintenance, licenses, etc.

    • Those products will generate subscription records when contracted.

    • When added to a quote, the pricing will be affected by the subscription term.

How do we configure subscription products?

In order to leverage Salesforce CPQ for pricing and subscription management, we’ll need to setup our products correctly.

Subscription Products fields

2 fields will be required to get a product to price as a subscription on a quote and result in the creation of a Contract and subscription downstream.

  • Subscription Pricing

    • Every subscription products needs a value in the subscription pricing fields which has 2 options

    • Fixed Price – Self explanatory, the product will be priced according to whatever price applies when it is added to a quote.

    • Percent of total – that subscription product will be priced as a percentage of some or all other quote lines present on a quote. When selected, you will also need to select a percent of total % value

Adding a subscription product to a quote

Subscription Pricing Example

So let’s go with an example of a product set to :

  • Subscription term = 12

  • Subscription Pricing = Fixed Price

  • List Price = 10 000$

As you can see in the image above, if your subscription product is setup correctly, your pricing will change depending on the effective subscription term at the quote line.

The results then are :

  • Subscription term = 12 — List Price = 10 000$ — Net total = 10 000$ (1 year at 10 000$ per year

  • Subscription term = 24 — List Price = 10 000$ — Net total = 20 000$ (2 years at 10 000$ per year

  • Subscription term = 36 — List Price = 10 000$ — Net total = 30 000$ (3 years at 10 000$ per year

Effective subscription term and prorate multiplier

The subscription term field exists at 3 different level

  • Quote

  • Quote Line Group

  • Quote Line

Users can input the desired subscription term at whichever level they want (as long as the field is visible). In the case where a subscription term is entered at multiple level, the lowest level wins.

What does that mean?

Effective subscription term and prorate multiplier

Let’s look at the example above :

  • Quote subscription term = 36

  • Quote line group 2 subscription term = 24

  • Quote line #2 subscription term = 12

As you modify the subscription term values at the different level, you will see the value of Effective Subscription term changes.

The other value where you’ll see changes is Prorate Multiplier. Prorate multiplier is calculated based on the effective subscription term or based on specific dates you could have entered on the records (separate subject) and the Product’s Subscription term.

  • Ex.: 36 (Effective subscription term) / 12 (Product’s Subscription term) = 3

The Prorate multiplier is then used to calculate the Net Total of quote lines where it is multiplied by the List Unit Price minus any discount. For the advanced reader, yes there are more levels to the final price calculation which we’ll get to but this is an into.

  • Ex.: 10 000$ List Unit Price * 3 Prorate Multiplier = 30 000$ Net total

Create contracts and subscription records

As it was shown on the initial diagram, once you have a quote with subscription products there are 2 ways to get a contract with subscriptions created.

  • From the opportunity record by setting the Contracted checkbox to true

    Set opportunity to contracted = true
  • From the Order record by setting the Contracted checkbox to true

Both methods will result in the same contract and subscription records being created, we’ll prioritize the method where we use the order as the order will often be used for integration and will be required if you ever want to use Salesforce Billing.

How to create an order and order products

You can either set the Ordered checkbox to true on the quote or the opportunity. If you are using Salesforce CPQ+ you can create multiple orders per quote, again we’ll keep the simpler example for now.

Salesforce Contracts

Salesforce Contract and subscription

Now that your contract has been generated, you’ll be able to manage the contract lifecycle from the record.

Contract fields

Once generated your contract will have some values from the quote it was generated from.

  • Contract Start date will be the start date that was selected on your quote. If your quote did not have a start date, no contract is generated.

  • Contract End Date will be calculated from your contract start date + subscription term

Contract Amendment

Create a contract amendment in salesforce CPQ

Why create an amendment? Amendments will allow you to have an always up-to-date contract and will also co-term all of your customer’s subscriptions.

From an active contract record you will be able to generate an amendment quote and opportunity by clicking the Amend button the contract record. The button is available on the default Salesforce CPQ contract page layout, make sure to add it to whichever layout you are using.

Once you click Amend, you’ll be presented with a screen that will show the list of subscriptions that will be part of the amendment.

Amend Contract - List of subscriptions

After clicking Amend Salesforce will automatically generate the amendment opportunity and quote and take you to the new quote’s line editor.

Amendment quote

The start date of your quote will then default to today’s date or the start date of the contract if today is before the start date. The Net total of your quote will be 0$ until you start making changes as everything that shows up as already been accounted for in the previous quote.

Salesforce CPQ amendment quote

At this point, you can modify the quote by adding products, changing quantities on the products that are already on the quote and even change the quantity to 0 which will terminate that subscription as of the start date.

I’ll push the start date of the amendment quote out 6 months to 7/12/2023 to see how CPQ will prorate the modified subscriptions in order to co-terminate the modifications

Salesforce CPQ amendment quote with terminated subscription

I have added fields to the field set to see more data points during testing.

  • Effective start date

  • Effective end date

  • Effective quantity

Both date fields are filled in as this is an amendment, the end date was calculated on the contract and the start date is based on what’s entered on the amendment quote.

The effective quantity represents what has been modified on the amendment quote.

  • Line 1 : I changed the quantity from 10 to 15, the effective quantity is 5 and the net total is calculated from the list price * 5 (effective quantity) * 0.5 (prorate multiplier for 6 months)

  • Line 2 : Quantity was changed from 5 to 0, resulting in an effective quantity of 0. This will terminate the subscription and results in a negative net total.

  • Line 3 : Quantity was not modified so effective quantity is 0, no changes.

  • Line 4 : This line was added to the quote. Quantity and effective quantity are 1 and the price is calculated for 6 months to co-terminate that subscription with the rest of the contract.

amendment order

At this point we’ll follow the same process that we outlined earlier to generate our order. The order should only have order products for the quote lines that were modified. Once the order is activated we can set Contracted to true on the order.

contract update from amendment

The behaviour will be slightly different at this point as a new contract does not get created, instead the existing contract will get updated.

Salesforce CPQ - amended contract

Contract Renewals

Is your sales team managing every renewal opportunity like a new new deal. You don’t have full visibility into the contract lifecycle and your sales reps are doing too much work that could be automated.

Salesforce Contract - Processing a renewal

Creating renewal opportunity and quote

You’ve have your initial contract, you’ve created amendments and have a full list of active subscriptions coming up for renewal, how do we process this using standard Salesforce CPQ features.

If you’re note using the Salesforce CPQ Contracts page layout, make sure the fields Renewal Forecast and Renewal Quoted are added to the layout.

  • Renewal Forecast : Setting this to true will trigger the creation of the renewal opportunity record

  • Renewal Quoted : Setting this to true will trigger the creation of the renewal quote

Once you set the checkboxes and save the contract record, you’ll trigger the creation of the renewal opportunity and renewal quote.

Salesforce CPQ - Contracts Renewal Creation

This task can be done by a sales rep, by a dedicated team or through automations which would allow us to auto renew under certain conditions.

Summary

Contract amendments and renewals are an important feature of Salesforce CPQ that you should be leveraging. This article should serve as a great introduction to getting started in using those features.