Salesforce CPQ: Sharing Quotes based on Opportunity Team Members

Let’s think about the concept of using Apex to create bulk sharing operations, which is a fundamental aspect of implementing Apex Managed Sharing in Salesforce. Apex Managed Sharing is designed to programmatically share records when declarative sharing rules do not suffice, especially for custom objects or complex sharing requirements that can’t be addressed through Salesforce’s …
Continue reading Salesforce CPQ: Sharing Quotes based on Opportunity Team Members

CPQ Quote – Monthly Recurring Revenue – Double Calculate Issues

This is a post about how to configure the calculation of the ever fun loving MRR field! Every customer calculates a field like this (MRR, ARR, NRR, etc) differently! And their tech stack that does the actual calculation is usually a conglomeration of various automations that probably don’t work well together. Below is an example …
Continue reading CPQ Quote – Monthly Recurring Revenue – Double Calculate Issues

Salesforce CPQ: Line Editor: Error: Unable to serialize a map with a null key.

What?! I have no idea what I did. And now I’m getting this error. Holy hell. Nothing I do seems to fix it. I disabled all my rules and my QCP and removed all products but the quote still shows this error when I save even an EMPTY line editor. What gives???? You deleted an …
Continue reading Salesforce CPQ: Line Editor: Error: Unable to serialize a map with a null key.

Warning: Price Action [action id] references Source Field SBQQ__QuoteLine__c.SBQQ__ListPrice__c, which is undefined. If this is unexpected, ensure that the field is JSQC-Compatible, and include this field in a CustomScript to guarantee calculation.

What? What does this even MEAN?? Go look at the Price Action with the action id in the brackets. Might look something like this. That Source Field has a null value. Move the Source Field value to the Formula field and check for null. Or go debug why your field is null.

Salesforce CPQ – Audit – Plan & Execute

Introduction This article provides a structured approach for auditing Salesforce CPQ price rules and automation processes. It serves as a practical guide to ensure accuracy, consistency, and efficiency in your CPQ setup. The focus is on: The goal is to identify areas for improvement, streamline processes, and maintain system integrity, ultimately leading to a more …
Continue reading Salesforce CPQ – Audit – Plan & Execute

sObject type ‘OrderItem’ is not supported.

Here’s an error you probably spent WAY too much time trying to figure out. sObject type ‘OrderItem’ is not supported. If you are attempting to use a custom object, be sure to append the ‘__c’ after the entity name. Please reference your WSDL or the describe call for the appropriate names Answer: It’s read permission …
Continue reading sObject type ‘OrderItem’ is not supported.

Configuration Attributes – Shown Values

Hello. Why is your picklist configuration attribute not showing ANY values??? Apparently, the ‘Shown Values’ field on the attribute is case sensitive. So, if you have incorrect capitalization on any of the shown values, none of the values will appear in the configuration screen. Cool feature! Go check your Shown/Hidden Values fields! Thanks to Aaron …
Continue reading Configuration Attributes – Shown Values

Salesforce CPQ – Amendment is doubling/negative quantities

If you’re here, you’re probably wondering why the quantities of some of your products are doubling or increasing somehow on your amendments. In addition, your bundle structure might be getting trashed. Here’s one reason why this might be happening. There is a field on the Contract that isn’t often used called “Combine Subscription Quantities”.  This …
Continue reading Salesforce CPQ – Amendment is doubling/negative quantities

Salesforce CPQ – Subscription Product Process Flow Description

New Business Opportunity/Quote (Green) This is the place where you begin the business with a new customer.  First, you create an Opportunity.  This may have some required fields and/or validations to make sure you enter the right information.   Then a Quote is created with the New Quote button, and is attached to the above Opportunity.  …
Continue reading Salesforce CPQ – Subscription Product Process Flow Description

Salesforce CPQ – A Series! Riding the Discount Comet: Navigating Discount Schedules and Strategies

Introduction to Discounting Welcome back, Salesforce novices and ninjas! In this part of our expedition into the Salesforce CPQ cosmos, we’ll traverse the intriguing world of discounting. It’s like a cosmic clearance sale, but instead of markdowns on moon boots, we’re talking about strategic price reductions to drive sales, satisfy customers, and outperform competitors in …
Continue reading Salesforce CPQ – A Series! Riding the Discount Comet: Navigating Discount Schedules and Strategies

Salesforce CPQ – A Series! Conquering the Pricing Galaxy

Greetings, Salesforce adventurers! Strap on your space suits and prepare for our fifth installment in the Salesforce CPQ series. Today, we are navigating the pricing galaxy in Salesforce CPQ. Pricing can be a challenging yet integral part of any sales process, and Salesforce CPQ makes this easier with its various pricing methods. Journey Into Pricing …
Continue reading Salesforce CPQ – A Series! Conquering the Pricing Galaxy

Salesforce CPQ: Product Rule: Product Action Applies to All Features, not Just Specified Feature

Scenario: Requirement: Solution: Testing: You’re not crazy. It just doesn’t work like it should. The solution for this, if you must have this functionality, is to make each option its own product record. Having some sort of differentiation within the product name is helpful!

Salesforce CPQ – A Series!

Greetings, Salesforce enthusiasts, and welcome aboard our spaceship! We’re about to embark on a stellar journey through the vast universe of Salesforce CPQ. This series will guide you from the basic to the most complex aspects of Salesforce CPQ, demystifying complexities and unearthing hidden functionalities of this powerful tool. Salesforce Configure, Price, Quote (CPQ) is …
Continue reading Salesforce CPQ – A Series!

Salesforce CPQ – A Series! Understanding Salesforce CPQ Products and Pricing

Introduction Welcome back to our interstellar journey through the Salesforce CPQ universe. As we continue our mission to conquer the complexities of CPQ, we come across two pivotal elements of any sales process – Products and Pricing. Navigating these elements successfully can determine whether your sales spaceship sails smoothly or gets lost in the vast …
Continue reading Salesforce CPQ – A Series! Understanding Salesforce CPQ Products and Pricing

Salesforce CPQ – A Series! How to Set Up Salesforce CPQ

Introduction Hello again, Salesforce voyagers! As we continue on our cosmic journey through the Salesforce CPQ universe, it’s time to put our newfound knowledge to the test. But before we can soar through the galaxies, every starship needs a solid launch pad. For us, that launch pad is setting up Salesforce CPQ correctly. Now, you …
Continue reading Salesforce CPQ – A Series! How to Set Up Salesforce CPQ

Understanding Salesforce Billing’s Next Billing Date and Next Charge Date: Decoding the Differences

Welcome! Here, we will delve into details, clarifying the purpose of Salesforce Billing’s Next Billing Date and Next Charge Date fields and highlighting the key distinctions between them. Let’s dive right in! Next Billing Date: The Next Billing Date field in Salesforce CPQ Billing plays a vital role in keeping track of when your customers’ …
Continue reading Understanding Salesforce Billing’s Next Billing Date and Next Charge Date: Decoding the Differences

Salesforce CPQ – A Series! Unmasking the Superhero of Sales: CPQ and Its Superpowers

Welcome back, trailblazers! Ready for another exhilarating journey into the cosmos of Salesforce? Put on your capes, as we are about to dive deep into the superpowers of a silent but formidable hero, standing tall in the universe of Salesforce – CPQ, a.k.a Configure, Price, Quote. In our last encounter, we got acquainted with Salesforce …
Continue reading Salesforce CPQ – A Series! Unmasking the Superhero of Sales: CPQ and Its Superpowers

Salesforce CPQ – A Series! Introduction to Salesforce CPQ: Simplifying Sales as Easy as ABC!

Hello folks! Today we’re going to talk about Salesforce CPQ, an acronym that might just be your best friend in the world of business. Before we start, though, let’s have a bit of light-hearted fun. What does a Salesforce admin do at the end of a long day? They take a “rest API”. Okay, let’s …
Continue reading Salesforce CPQ – A Series! Introduction to Salesforce CPQ: Simplifying Sales as Easy as ABC!

Calculation error on quote Q-00001: SBQQ.SecurityUtils.SBSecurityException: You do not have read permission for field on object. Please contact your administrator.

You may be getting this type of error. Variants I’ve seen are: And you’re here because everything you do with Field Level Security, Permission Sets, Permission Set Groups, Profiles, Org-wide Defaults, and other security measures aren’t fixing your calculation issue! This will resolve your issue for now. Then open a case with Salesforce, illustrating your …
Continue reading Calculation error on quote Q-00001: SBQQ.SecurityUtils.SBSecurityException: You do not have read permission for field on object. Please contact your administrator.

Implementation Project – Case Study/Scenario – Jim’s Solutions, LLC

This will be the first in a series: “Implementation Project – Case Studies/Scenarios”! We get asked a lot about if we can send over some case studies or a project scenario that folks can use to practice implementing Salesforce. Well here is the first one! The rules are as follows: All of the things you …
Continue reading Implementation Project – Case Study/Scenario – Jim’s Solutions, LLC

Quote Templates – Custom Content – Lines Section – Rich Description – Error generating document: Bad Request

Error generating document: Bad Request is not the best message. Sometimes it means you have a custom template content that’s blowing up. One of the reasons this might be happening is that you are trying to output the description field for each line. Well, that’s a bummer because the VF page for the custom content …
Continue reading Quote Templates – Custom Content – Lines Section – Rich Description – Error generating document: Bad Request

CPQ Standard Approvals – VisualForce Email Template Examples!

I’ve had these email templates for a while now and use them as starting points for any CPQ implementation where approvals are required, which is most implementations! These are provided as is and can be modified to suit your needs! There are 4 actual email templates (Needs Approval, Approved, Rejected, and Recalled). Here’s the list …
Continue reading CPQ Standard Approvals – VisualForce Email Template Examples!

Product Option – Setting Bundled makes quantity multiply by parent quantity

If you’re here, it’s likely you’re banging your head to figure out how to make a product option say “included” in the line editor WITHOUT multiplying its quantity by its parent’s quantity. Currently, the Bundled checkbox on the Product Option is the only way to get the line editor to say “Included” on those option …
Continue reading Product Option – Setting Bundled makes quantity multiply by parent quantity

MoreCPQ App – Where is this Used?

You need to delete a field on the Quote Line. The business requested it. You go to the field in Setup and click the “Where is this used?” button and find there are no Setup items dependent on this field. But you still don’t know which of the 2389472 CPQ configuration records are pointing to …
Continue reading MoreCPQ App – Where is this Used?

Salesforce CPQ – Picklist-field-replacerator!

Ever have to add a value to a picklist field while configuring CPQ? Ever have to add a value to a bunch of picklists while configuring CPQ? This can take quite a bit of time just for an overhead task. Well we’ve made text versions of all these picklist fields and added automation to copy …
Continue reading Salesforce CPQ – Picklist-field-replacerator!

Salesforce CPQ – the MoreCPQ App! (Twin-Field-erator 1000, Picklist-Field-replacerator 2000, Price-rule-add-month-erizer 3000, and the Where-is-this-usedriver 4000)

We’ve made a MoreCPQ app! It’s a helper for CPQ Admins! It includes the twin-field-erator, the picklist-field-replacerator, the ADDMONTHS function in Price Rules, and a new function, the Where-is-this-usedriver! Have a look in each article for more details! Screenshots after the install links. Installer Developer | Sandbox Twin-field-erator Picklist-field-replacerator ADDMONTHS in Price Rules Where is …
Continue reading Salesforce CPQ – the MoreCPQ App! (Twin-Field-erator 1000, Picklist-Field-replacerator 2000, Price-rule-add-month-erizer 3000, and the Where-is-this-usedriver 4000)

Quote Template – Examples??

Are you looking for an example Quote Template to start with? Have no idea where to even begin and need a sample template easily installed for you to learn and jump off of? Here it is! There’s an out of the box way to do this! Create a Quote Template. Create a Template Content. In …
Continue reading Quote Template – Examples??

Convert Classic Rich Text to Lightning Rich Text!

Are you frustrated because data loading rich text field data isn’t loading right in lightning? And the only way to fix it is to manually edit each record and save it? But you’d rather data load it all? Have no fear! We have a converter! Run this Export query in Dataloader: SELECT Id, YourRichTextField__c FROM …
Continue reading Convert Classic Rich Text to Lightning Rich Text!

Advanced Approvals – Can’t assign permission set Advanced Approvals to User. This permission set contains an object that requires a license.

Error: Can’t assign permission set Advanced Approvals to User Tiffany Devlin-Drye. This permission set contains an object that requires a license. Before continuing, assign the user to the related permission set license. Ouch. Did you install Advanced Approvals (or another package that requires a permission set license)? Then Salesforce provisioned your licenses? Maybe you went …
Continue reading Advanced Approvals – Can’t assign permission set Advanced Approvals to User. This permission set contains an object that requires a license.

Lookup Price Rule Not Working

Is your Lookup Price Rule not working? Sweet. Below are some common reasons why. 🙂 The API names of your lookup table, tested field, lookup field, target field values is wrong or the field doesn’t exist. You did not set a Lookup Table value in your price rule. There are no lookup queries. You have …
Continue reading Lookup Price Rule Not Working

Quote Line Editor: Alert – Unexpected end of input

You’re at your wits end trying to figure out why there’s an error when you add a product to your Quote… WHYYYYY OMGWHY. Answer: Because Price Action Formula. Open your Developer Console Click to the Query Editor Copy/paste the below query into the query box Click Execute The culprit is most likely one of the …
Continue reading Quote Line Editor: Alert – Unexpected end of input

Getting Started – Default CPQ Configuration

Hey folks. We thought it might be useful to go through some default CPQ configuration that we always configure just after installing the package. These configurations are the things we do to every org we install CPQ into. Permission Sets Assign CPQ Permission Set Licenses Assign CPQ Permission Sets User Admin Assign CPQ Extras Permission …
Continue reading Getting Started – Default CPQ Configuration

CPQ Data Import – VLOOKUP Solution

Hey folks. I’d like to preface this by saying that there are other tools and strategies for doing CPQ data imports. Use a tool like DBAmp or Prodly. Use External IDs on everything so moving data is just doing export then import without doing any spreadsheet work. With that, we found something cool today. You …
Continue reading CPQ Data Import – VLOOKUP Solution

Template Content – Salesforce Inspector – Auto Inserting Image Tags

Hopefully, you’ve found this looking for an answer to some weird functionality happening. We were saving a Template Content and Salesforce would auto insert some tags before saving. Below is the text it would insert. There is a bug report about this! It turns out, if you have the Salesforce Inspector Chrome plugin installed AND …
Continue reading Template Content – Salesforce Inspector – Auto Inserting Image Tags

Advanced Approvals – Setup

Hey. There’s a set of documentation that tells you how to set up advanced approvals. It takes a while to do and lots of copy/paste code and documentation back and forth action between the docs and your org. Good news! We made an installer! 🙂 Happy approving! Sandbox | Production MUST DO! After installing the …
Continue reading Advanced Approvals – Setup

MDQ – Amendment Ordering – Error: Can’t activate an order with partially segmented order items

If you’re here, you probably are trying to activate an Order against an amendment on a Quote that has MDQ lines. Did I get that right? 🙂 There’s an existing bug report that has not been addressed yet at Salesforce… And you may have also come across this article explaining a work around by @Kyle …
Continue reading MDQ – Amendment Ordering – Error: Can’t activate an order with partially segmented order items

Contracted Prices – Redo!

Anyone ever have the situation where you need to regenerate a new contracted price for a product for a customer but it fails when you try to generate it the second time? I get the error: The following error occurred during contracted prices creation. Please provide the following information to your Salesforce CPQ Admin: Quotes …
Continue reading Contracted Prices – Redo!

Line Editor – Price Analyzer

This is a very cool custom visualforce page. The best way to describe it is to show it! You can see that it has Price Metrics (Highest, Average, Lowest, and Median Prices), Pricing History which shows how the price of a product has changed over time, and a Volume Analysis which shows pricing by quantity …
Continue reading Line Editor – Price Analyzer

DocuSign for Salesforce CPQ

If you’re here, you’re looking for details on the DocuSign plugin for CPQ. You’ve come to the right place! Here is all the info you’re looking for. Two Packages There are two packages that were developed as direct DocuSign plugins for Salesforce CPQ. They are both listed as “legacy” and there is a new suite …
Continue reading DocuSign for Salesforce CPQ

Renewals/Amendments: Cannot read property ‘lineVO’ of null

This error. 👍🏻 The worst. WHY DOES IT HAPPEN?!?! I’ll TELL you why. The CPQ demons want to eat your renewals and amendments for breakfast. And they have. Time to give up and retire to some remote island where you can sip on the souls of frustrated CPQ Specialists. Kidding! It happens because Assets! Issues …
Continue reading Renewals/Amendments: Cannot read property ‘lineVO’ of null

Subscription Conversion – One per unit

You know how on the Product record, you can set up a Product to convert to an Asset? And you can either make it convert to an Asset One per Quote Line or One per unit? One per unit means a Quote Line with a Quantity of 5 gets 5 separate Asset records. How great! …
Continue reading Subscription Conversion – One per unit

Quote Template – Custom Lines Section

Today, I realized that I’ve not done a custom lines section article! A travesty of justice! Or just an oversight. Either way, here it is! This includes a controller APEX class, a VisualForce page and a Template Content that is of type Custom. Have at it below! This example is a lines section that groups …
Continue reading Quote Template – Custom Lines Section

CPQ – Consortia! (Quote by Location)

Have you ever wanted to Quote by location? Do you have a client who MUST be able to quote by location? Look no further! Well, look a LITTLE further. Like down this article. This solution involves Account Hierarchy, some Custom Fields, Quote Line Groups, a Fieldset, a Process Builder, a Price Rule, and a QCP! …
Continue reading CPQ – Consortia! (Quote by Location)

Renewal Start/End Date

I am not sure when it happened but Salesforce CPQ now sets Start/End Date fields on Renewals. Instead of setting Start Date and Subscription Term. This is a bad thing for most of our clients. So I made the most simple process builder that sets Subscription Term to Renewed Contract Renewal Subscription Term and Sets …
Continue reading Renewal Start/End Date

CPQ – Amendment Discount Amount – Fix

The IssueWe recently discovered an issue with amending a Contract containing lines that had a Discount Amount on the original Quote. The issue is that, when you amend a line that has a Discount Amount from the original Quote, the whole discount value is put on that line from before. Which doesn’t make sense because …
Continue reading CPQ – Amendment Discount Amount – Fix

CPQ – Rollback to Here

Have you ever been testing some functionality you just built that works on renewals or amendments and you keep having to roll back to the original opp and/or quote? Does your client have a process that includes “starting over” where they manually delete renewals, amendments, and the contract so it can all be regenerated? Look …
Continue reading CPQ – Rollback to Here

CPQ – Opportunity – Custom Action – New Quote

Most times, customers want a simple “New Record” screen for the Quote object. They also want fields to prepopulate with some things. Here is a simple custom action on Opportunity that you can put at the top of the page layout. Make sure to hide the “New” button in the Quotes related list. Here is …
Continue reading CPQ – Opportunity – Custom Action – New Quote

CPQ – Auto generate Contract and auto generate Renewal Opportunity and Renewal Quote on Contract.

Salesforce Support’s official stance is to NOT use Workflow Rules OR Process Builder OR Scheduled Flows for Renewal Forecast, Renewal Quoted or Contracting. This is because Contracts will mysteriously not always generate if you do this. The same thing can happen with renewal quotes not being created. The recommendation is to move your automation to …
Continue reading CPQ – Auto generate Contract and auto generate Renewal Opportunity and Renewal Quote on Contract.

CPQ – Lookup Price Rule – Step by Step

Hello! Here is a simple step by step of how to create a Lookup Price Rule! Create the Custom Object and its Fields. The best way to do this is to make a CSV with your columns and some sample values. Then use the Lightning Object Creator with your file to make the object. Price …
Continue reading CPQ – Lookup Price Rule – Step by Step

Error Message in Generate Document: Attempt to de-reference a null object

This error. Is the worst. It appears everywhere and indicates no detail about why the error happens. WTF. This will be a thread of reasons why this could happen. The first reason is below. Block Pricing Product without Blocks! Whaaaaaat. It turns out if you have a block priced product without block prices, you get …
Continue reading Error Message in Generate Document: Attempt to de-reference a null object

CPQ – Price Rule – Add Months to Any Date (ADDMONTHS formula function)

Alternate Formula Here’s a formula to put in a Price Action to add months to any Date. You can use this in lieu of the ADDMONTHS() function which is not supported in Price Action formula. Note: Leap year is calculated by: IF(( MOD(YEAR(Date_Field__c),4) == 0 && (MOD(YEAR(Date_Field__c),100) != 0 || MOD(YEAR(Date_Field__c),400) == 0) ), 29, …
Continue reading CPQ – Price Rule – Add Months to Any Date (ADDMONTHS formula function)

CPQ – Pre-Discovery Homework!

This is a list of homework. For whoever wants to implement a CPQ. Any CPQ. This is a small list of things you can do before you even kick off your CPQ project. You’ll definitely need these things in hand during discovery. It’s a bit of pre-discovery. Keep in mind that if there is anything …
Continue reading CPQ – Pre-Discovery Homework!

CPQ – Orphaned Amendments – Solution!

There came an issue with amendment Opportunities/Quotes being orphaned after a renewal was closed won and Contracted! Below is a diagram showing the issue. The process is as follows: Here is the proposed solution process. Once the system creates the new Contract and Subscriptions, another process is kicked off that reassigns the in-flight amendment Opportunity/Quote/Quote …
Continue reading CPQ – Orphaned Amendments – Solution!

CPQ – Quote Templates – Text on Top of Image!

Did you know you can put text on top of an image in a Quote Template? You CAN! Here’s how to do it: Template Section field “Keep Together” is set to “Always” Place image first. To make the image go all the way to the edge, have negative top and left margins that push it …
Continue reading CPQ – Quote Templates – Text on Top of Image!

CPQ – Finally! Dynamic Quote Fields in the Line Editor!

This is a simple one… Salesforce CPQ has implemented yet another “Special Field”, HeaderFieldSetName. If you add this field to the Quote object, you can dynamically control what header fields show up in the QLE. This has been requested countless times over the past 5 years and FINALLY we have it! CPQ Quote Object: New …
Continue reading CPQ – Finally! Dynamic Quote Fields in the Line Editor!

CPQ Feature! Recommended Products!

I can not tell you how many times someone has requested to see recommended products after adding a bunch of stuff to the line editor. It’s probably in the top ten functionality requests. I always have to implement some sort of lookup product rule based on their criteria for the recommendations. Well look no further! …
Continue reading CPQ Feature! Recommended Products!

Salesforce Billing! Refund Process Flow

This is a post about Salesforce Billing! I am getting more and more into billing and we could not be more delighted! This is a process that we ironed out in a flow it clear on what needs to happen and in what order… follow along! Original Invoice (Opp -> Quote -> Order -> Bill …
Continue reading Salesforce Billing! Refund Process Flow

MDQ! Contracts! Segment Quantity!

This is a weird one but it makes sense. You have a yearly MDQ Product. You quote it for 3 years. You generate a Contract after close winning the Opportunity. There are TWO ways you can generate the Contract: Close Win Opportunity (or whatever criteria you use to contract with) Contracted = True on Opportunity. …
Continue reading MDQ! Contracts! Segment Quantity!

CPQ – QLE – QCP – Update Group Values!

If you’re here you’re eagerly trying to figure out how to update Quote Line Group values in a price rule. Unfortunately, you can’t. Yet. But you can in a QCP! Here’s a basic sample that copies the Quote Account value into the Quote Line Group Account field. QCP Rules Expected Function Headers Example After Calculate …
Continue reading CPQ – QLE – QCP – Update Group Values!

CPQ Feature: Hide/Show/Modify Tiny Quote Line Icon Buttons

Those buttons. I am asked all the time: “Can we hide or remove some of or all of these buttons?” YES. You can! Fun thing: these are just custom actions. You can edit them, including adding conditions! Go! Search for them! Go to the Custom Actions tab. Look at the actions for Location = Line. …
Continue reading CPQ Feature: Hide/Show/Modify Tiny Quote Line Icon Buttons

CPQ – Little Known Feature – Lookup Search Fields!

This is a pretty cool feature. It enhances the lookup search capabilities of lookup relationship fields in CPQ visualforce pages. The ScenarioYou have the Account field on the Line Editor layout for Quote Line Groups. You can set the Account individually on a Quote Line Group. The ProblemWhen you click into the Account field on …
Continue reading CPQ – Little Known Feature – Lookup Search Fields!

CPQ Exam vs. CPQ Training

Do you want to hone your CPQ skills and become a super CPQ Specialist? Great! There is, of course, a difference between the CPQ Specialist exam and the CPQ Admin Essentials classes you can take. There are also trailheads! TrailheadsLet’s talk these first. If you’re new to trailhead, this is an online training program that …
Continue reading CPQ Exam vs. CPQ Training

CPQ – Line Editor – Component Option Quantities are Calculated Between Before Calculate and On Calculate

You have a Price Rule on before calculate that updates SBQQ__ListPrice__c using a formula which is something like: SBQQ__OriginalPrice__c * (SBQQ__Quantity__c *0.01). A formula that changes the list price based on quantity. You add a bundle product containing an option that is of type “Component” and save the configuration. The bundle product has a zero …
Continue reading CPQ – Line Editor – Component Option Quantities are Calculated Between Before Calculate and On Calculate

System.SObjectException: Invalid field SBQQ__Product__c for SBQQ__QuoteLine__c

Object o = myOb.get(myFieldName); Does your code look something like this? System.SObjectException: Invalid field SBQQ__Product__c for SBQQ__QuoteLine__c And you get an error something like that? This is an apex error. This can happen with any field on any object. If you’re here, you probably have less hair because you’re pulling it out trying to figure …
Continue reading System.SObjectException: Invalid field SBQQ__Product__c for SBQQ__QuoteLine__c

Salesforce CPQ – Standard Subscription Management Process

IntroductionHere is a click through (with screenshots) path for the standard management of subscriptions in Salesforce CPQ. New Subscription On Account Page Click the New Opportunity button. Fill in pertinent information for new Opportunity. Click the Save button. Click on the new Opportunity record. On Opportunity Page Click the New Quote button. Fill in pertinent …
Continue reading Salesforce CPQ – Standard Subscription Management Process

Salesforce CPQ – Pull Quote Line Groups into Renewals and Amendments

Hello! If you’re here, you’re looking for how to pull groups into your amendments and/or renewals! You might have come from the Salesforce Idea page or perhaps google search…. App Exchange This package is now on the AppExchange! Go install it! Demo There is a checkbox field, a trigger and a Price Rule involved. Fear …
Continue reading Salesforce CPQ – Pull Quote Line Groups into Renewals and Amendments

The Entity ‘ConsumptionSchedule’ is not found. Contact the vendor for more details.

You’re here. You’re trying to install CPQ. But this message happens. Dammit. 😡 Or this message: (ConsumptionSchedule.Category__c) Entity not available. There are three ways to solve this: Enter a support ticket to have Salesforce provision Usage Based Pricing in your org. Create a fresh new org and try installing there. Refresh Your Sandbox Match Production …
Continue reading The Entity ‘ConsumptionSchedule’ is not found. Contact the vendor for more details.

CPQPanel: You can’t remove design attributes ‘title,orientation,recordId,style’ when the component implements a Lightning Page interface.

If you’re reading this, guess what! You can’t do that! The Solution Uninstall CPQ. Install Latest CPQ.

How-to Rename/Relabel the Pricebook Entry – Field: List Price!

Guess what! You can relabel / rename the Pricebook Entry field, List Price! I bet you can’t find where though! You might think it would be in the Custom Labels Setup. Nope. Translation? Nope. Rename Tabs & Labels, Pricebook Entry object? Negatory. Well, you’re half right. Setup > Rename Tabs & Labels > Opportunity Products …
Continue reading How-to Rename/Relabel the Pricebook Entry – Field: List Price!

CPQ – Product2 Field – Has Configuration Attributes

There is a field on the Product2 object called “SBQQ__HasConfigurationAttributes__c”.  This field is one of the only fields in CPQ that does not have help text next to it in the UI. You can see Lock Description has a help text “i” next to it but Has Configuration Attributes does not. It does have a …
Continue reading CPQ – Product2 Field – Has Configuration Attributes

APEX – Don’t Allow Contact Deletion if Contact is an Opportunity Contact Role.

This is not CPQ but a short, quick, request from someone for some code. The request is: If a Contact is an Opportunity Contact Role of same Account, don’t allow deleting it. Below is the code. I didn’t think “of same Account” matters, so I didn’t write that into the code. APEX Trigger – ContactTriggers …
Continue reading APEX – Don’t Allow Contact Deletion if Contact is an Opportunity Contact Role.

Error Message on VF Page – INSUFFICIENT_ACCESS_OR_READONLY: user does not have access to use approval assignment email template.

You have an approval process that sends and email to an approver using a specific visual force email template. You get an error that says: INSUFFICIENT_ACCESS_OR_READONLY: user does not have access to use approval assignment email template. GAAAH!!! What the heck?? You see that the template is in a folder that is set to read …
Continue reading Error Message on VF Page – INSUFFICIENT_ACCESS_OR_READONLY: user does not have access to use approval assignment email template.

Error Message in QLE: Apex CPQ Time Limit Exceeded

Whaaaaaat is going on with this error message??Sometimes, when you click save on the Quote Line Editor, you get a message saying it timed out! Why would this happen, you ask? There are plenty of reasons and some of them are listed below. Too many Price Rules/Product Rules Price Rules Product Rules Summary Variables Too …
Continue reading Error Message in QLE: Apex CPQ Time Limit Exceeded

Price Rules – Configurator!

Guess what! Price Rules can operate inside of the configurator! Most times, folks configure them to run in one of the four calculation events in the line editor. But you can also configure them to run within the configurator too! I am going to use an example Price Rule to illustrate some things about configurator …
Continue reading Price Rules – Configurator!

CPQ – Oldity – The Mysterious “None” Option

You have a bundle product. You have a couple features. You have a few options in those features. You quote the product to test it. Lo and behold! There is a “None” option under all of your other options! Whaaaaaat. I didn’t put that there. There’s no setting anywhere to turn this off or on. …
Continue reading CPQ – Oldity – The Mysterious “None” Option

CPQ – Oddity – Product Rule does not show “Continue” button in QLE

Hello! Welcome to another episode of “well this is weird”, CPQ edition. You have a bunch of products. You have an Alert Product Rule set up to run on Quote. See below. Where in the world is the “Continue” button? Is my alert Product Rule acting like a validation and not letting me save the …
Continue reading CPQ – Oddity – Product Rule does not show “Continue” button in QLE

CPQ – Feature – Usage-Based Products

This feature is for when you have a product that is usage based! This is for “number of” products. Hours, Views, Impressions, Calls, Incidents, Visits, Bandwidth, and many many more. There are a few things you need to do before you begin quoting with Usage-Based Products. SFDC Help Case: Enable the Usage Based Pricing FeatureIf …
Continue reading CPQ – Feature – Usage-Based Products

CPQ – Feature – Pricing Guidance

This is a feature of CPQ that allows for some guidance when your reps are deciding on discounts for the products they’re quoting. There are Two Types!– Manual Pricing Guidance (OOTB LOE: 20 Hours)– Pricing Guidance with Einstein Analytics (OOTB LOE: 50 Hours) Off-the-Bat Caveats!There are some caveats with this feature!  See below. Enable the …
Continue reading CPQ – Feature – Pricing Guidance

CPQ Training

There are two training resources available to you offered by Salesforce. Salesforce Training and Trailhead. Salesforce TrainingAt the time of this writing, you get a free seat in both the CPQ-201 and CPQ-211 courses offered by Salesforce. There is also a CPQ Billing course. Configure and Administer a Salesforce CPQ Solution (CPQ301)Discover how to configure …
Continue reading CPQ Training

Error Message when Amending Contract: Invalid field SBQQ__SegmentUplift__c for Asset

Error MessageError Message “Invalid field SBQQ__SegmentUplift__c for Asset” would appear when amending a Contract. Root CauseThis is caused by one of two things (or both): The Required By field on the Subscription record points to an Asset record ID. There are both an Asset record and a Subscription record existing for the same Product. SolutionThere …
Continue reading Error Message when Amending Contract: Invalid field SBQQ__SegmentUplift__c for Asset

Subscription Products

Need some clarity on Subscription Products? Here it is! Subscriptions can be divided up in a few different ways. PricingThere are two pricing options here. Fixed Price or Percent of Total. Fixed Price subscriptions are products that have just that, a fixed price. This fixed price can either be a one specific price for the …
Continue reading Subscription Products

CPQ Implementation Project – Guide

Introduction Many folks have asked, “How do we even start our CPQ project?”. This is a great question. It can be daunting to think about all of the things you’re going to need in your system. Here is a guide to help you kick off and run your CPQ implementation project.  Also this:  I like …
Continue reading CPQ Implementation Project – Guide

No such column ‘LastViewedDate’ on entity SBQQ__. If you are attempting to use a custom field, be sure to append the ‘__c’ after the custom field name. Please reference your WSDL or the describe call for the appropriate names.

Wow this is a long article name. But it’s appropriate! This message can be seen throughout the Line Editor screen and/or the Documentation Generator screen. The above screen cap shows Quote Line Group as the culprit. But there are common others such as, but not limited to: Quote Line, Product Option, and Product Feature. What …
Continue reading No such column ‘LastViewedDate’ on entity SBQQ__. If you are attempting to use a custom field, be sure to append the ‘__c’ after the custom field name. Please reference your WSDL or the describe call for the appropriate names.

CPQ – Amend MDQ Past First Segment

The ProblemIf you’re dealing with amendments on MDQ products, you may have realized you can’t do this… Click Amend on Contract Set Start Date past first segment Save Quote You get the below error: The AnswerHuzzah! There is an answer! The answer is… Contract -> Amendment Start Date Set Amendment Start Date on Contract past …
Continue reading CPQ – Amend MDQ Past First Segment

AUTO-POPULATE Fields on Quote Creation

Repubished from here: https://learningsalesforcecpq.com/2018/09/19/auto-populate-fields-on-quote-creation/ A specific set of fields on Quote can be auto-populated from the associated Opportunity and Account at the time of creating a new Quote. If you do not do the necessary setup, sales reps would spend time re-entering Quote fields which were already filled in at the time of creating Opportunity and Account. Salesforce CPQ provides a Field …
Continue reading AUTO-POPULATE Fields on Quote Creation

Generating a Document: Error generating document: Bad Request

If you’ve ever got this error when generating a document, you probably have less hair than you did before generating the document. There are multiple reasons this could happen: HTML tags in a Quote Line Line Column field in the lines section Template Content. One of your HTML Template Content records has a reference to …
Continue reading Generating a Document: Error generating document: Bad Request

The 5 Minute Time-Based Workflow (or 15 Minute, or 30 Minute…)

This was originally posted here. But I wanted to re-post it to save it in case it ever disappears. This is also not super CPQ related but VERY helpful! Salesforce workflows come in 2 flavors – real time and time-based workflows.  Time-based workflows are evaluated at the time interval you set – some number of hours or days after …
Continue reading The 5 Minute Time-Based Workflow (or 15 Minute, or 30 Minute…)

CPQ Spring ‘19 – Delete SBQQ__Opportunity__c from the Quote Object.

When version 26 of Salesforce CPQ + Billing was introduced in September 2016, the SBQQ_Opportunity_c field was replaced by SBQQ__Opportunity2__c. This field allows you to maintain the relationship between Quotes and Opportunities, and the introduction of SBQQ_Opportunity2_c allowed users to create quotes without first requiring to have an Opportunity record in place.  Both SBQQ__Opportunity__c and …
Continue reading CPQ Spring ‘19 – Delete SBQQ__Opportunity__c from the Quote Object.