Understanding the Salesforce Revenue Cloud Quoting Cycle

Karl Hinderks
Slalom Technology
Published in
7 min readApr 19, 2021

I’ve lost track of the number of times I’ve had clients come to me looking for guidance on best practices with CPQ…. after they’ve implemented it. They come with tales of ERP integrations based on opportunities, of creating multiple contracts for clients and not understanding the benefits of co-termination, and of complex external pricing spreadsheets that could be handled via price rules and lookups. They all start from the same place, an MVP implementation of CPQ and that was left to grow on its own as a series of band-aids and patches to solve ad-hoc business processes. Coming into these discussions later in their processes often means trimming back their processes and refactoring to use out-of-the-box (OOTB) functionality after the fact, which is no small feat. It means more money spent on consulting hours, more time spent by internal and external resources that should be doing other work more in line with the business goals, and more technical debt being built to handle complex workarounds.

How do companies avoid falling down this trap of ending up creating complicated solutions for issues that many others have seen before? By pushing to ensure alignment with Salesforce CPQ OOTB functionality as much as possible right from the beginning of any CPQ implementation. By questioning any practice that doesn’t align and asking “Why do we need to do things this way” and truly understanding the answers, not just accepting “Because we’ve always done this way” or “Because Jimmy in accounting needs the data this way”. Often by really digging into those questions, we find the answers can be surprising, like where Jimmy didn’t really need the data in that format, it’s just how it was always been provided. Sure, there are some scenarios that can’t be avoided, and that’s why partnerships with experienced CPQ implementation experts is crucial to the success of a CPQ implementation. But by working to stay as close to OOTB functionality and best practices, you can ensure the project has the best chance of long-term success.

So what are these best practices and OOTB functionalities I’ve been talking about? How can companies ensure they are starting off on the right foot? While there are many aspects to Salesforce CPQ, the ones we’ll focus on here are those of Opportunity Management, Quoting Processes, Order Management and Contract Management. The first thing we need to look at are how these are all related to one another. In the diagram below, we can see how the process flow creates a cyclical design, where each step build off the previous, allowing for full end to end alignment from the first interaction with a client to several years down the road where they have made many purchases and worked through amendments and renewals.

Let’s start with the initial Opportunity. This is the main driver for downstream processes and is core to all pipeline and sales management techniques. Because of this, effective Opportunity management is crucial as poor processes here will compound issues in the other processes. With that in mind, some Opportunity best practices related to Salesforce CPQ include:

  • Opportunities represent a single interaction between a customer and a series of products at a given time, they should be created, processed, and then closed. Don’t try to leave them as ongoing data capture points or as containers for ongoing changes during the lifecycle of the customer
  • You may have multiple partners involved in a single Opportunity, don’t force capturing that information at the Opportunity level, let it be handled at the Quote level
  • There is significant functionality able to be driven off the Opportunity (Contracting, Creating Contracted Pricing, Ordering, etc.). They don’t all have to be leveraged at this point if you have complex use cases, most of this functionality also exists on other related objects and may make more sense to trigger it from there. That being said, if your use case is straightforward, adding complexity just because you can isn’t a best practice

Next up is the Quote record. This represents more detailed interactions with the client, where you may be back and forth identifying products they may need, negotiating pricing, and creating output documentation. Some key areas to focus on here are:

  • Versioning Quotes is beneficial when there is a lot of back and forth required. Cloning of quotes can allow you to maintain history of the different discussion points and ensures that you and the customer are aligned.
  • Quotes contain Partner/Distributor fields to facilitate tracking interactions with different partners, so this is the place to use them. A single Opportunity can have multiple Quotes in progress for each partner, and once a sale has been closed, that one Quote with a specific vendor can be set as primary and synced back to the Opportunity
  • Allow all pricing/product selection to occur within the Quote Line Editor (QLE). Putting triggers on the Quote and Quote Line objects often results in conflicts with the CPQ managed package triggers, and can end up creating technical debt that could have been solved using Price/Product Rules. If significant customizations are required, the QCP plugin is the preferred method for dealing with complex scenarios or for calling out to external pricing services
  • Leverage the “Ordered” checkbox on the Quote object to automatically create Order records, and when used with the “Allow Multiple Orders” setting in the managed package configurations, it allows for an individual quote to be broken out to multiple orders is required, leveraging either Quote grouping or a custom field to indicate how to break out the orders.

Once you have a completed sale with a client, what happens next? Often clients will try to integrate to downstream ERP and fulfillment systems based on the Quote object, which is highly discouraged. The Order object is the main object that is recommended for both integrations as well as to leverage additional tools such as Contract Management and Billing. When working with the Order, the following aspects are good to keep in mind:

  • This is the main source for integrations, so ideally any data points you need should reside here. They can be captured early in the Opportunity or Quote processes, but surfacing them on the Order will streamline any external connections required
  • Any last-minute changes to dates due to fulfillment issues can be addressed here before the downstream Contracting process creates entries, so ensure Order Start Dates are accurate
  • Leverage the “Contracted” field at this level once products have been provisioned in order to create appropriate Asset/Contract/Subscription records. Note that multiple Orders tied to the same quote will all result in being tied back to a single contract

Now that we have orders in the system, and any downstream billing or ERP systems have been updated, we can move along the processes to the final object, the Contract object. This is another standard object enhanced with additional CPQ functionality to allow for managing subscription based products, and while it is often an object that is used for additional information, from a CPQ perspective the following items are useful to be aware of:

  • This object tracks all subscription records as a related object, and is crucial for Amendment/Renewal processes
  • While there are several ways to create Amendment and Renewal opportunities, the functionality offered from the Contract object should always be explored first.
  • For amendments, the “Amend” button allows for the automated creation of an Amendment Opportunity and Quote, and will allow the user to immediately select the appropriate items to amend. One key area to keep in mind is that the aspect of a single contract for a customer, with ongoing amendments as they make new purchases, allows for the most unified quoting experience. All products purchased over the duration of the contract will align date-wise and will be brought in together at the same time for renewals. Note that a new order is created for each amendment and that only delta change is captured on the order.
  • For renewals, the field “Renewal Forecast” will automatically create a placeholder renewal opportunity and will constantly keep it up to date with any ongoing amendments that occur to the Contract. Around 90–120 days out from time of renewal, the “Renewal Quoted” flag will create the actual renewal quote, where it can consolidate line items and provide a streamlined quoting process. Note that once the renewal quote is created the opportunity only looks to that quote.
  • Both the Amendment and Renewal processes will result in the next series of Opportunities, then will roll into Quotes, then Orders will be created, and ultimately the Contract will be updated. This cyclical nature of the core CPQ object flow is often overlooked and can make a significant difference in experience for both the sales user as well as the customer.

So there we have it, a brief overview of the core objects and process used in the Salesforce CPQ quoting process, as well as some best practices and considerations to keep in mind. While projects are rarely straightforward and every customer has their unique challenges, by driving down to understand the core business processes and aligning as much as possible to core OOTB functionality, it will result in a smoother implementation, a scalable solution, and an improved experience for all.

--

--