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
“Related Product” Option is still Multiplying Quantity by its Parent Quantity! WHY?!
It’s because “Required” is checked on that option record. I know. This should be a bug. But it isn’t. It’s just how it works. Use the “System” checkbox instead. 👍🏻
Option still Shows in Configurator without Pricebook Entry in Selected Pricebook
You’re wondering why that product option is showing in your bundle, huh. Go remove the value in the Price field on the option record. I know. It’s dumb. But that’s why.
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.
Salesforce CPQ – Twin-field-erator!
Ever have a client that needs LOADS of twin fields? Spend WAY too much time configuring twin fields? Have LOADS of clients that need LOADS of twin fields? We got you. Introducing the Twin-field-erator. It makes twin fields. Installer Installer is in this article!
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: List has more than 1 row for assignment to SObject (System Code)
Ever get this message? Pulling your hair out? Me too. It’s because you have two primary Quotes on your Opportunity. Go delete one. Or make it not primary. Then try again. 👍🏻
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
Custom Settings – Field Metadata
What. in tarNATION. is THAT?! Hey I found a custom setting that is in CPQ but I have no idea what it does or how it fits into the CPQ system. Here’s an answer! Honestly not sure if this is 100% accurate but this is what I’ve learned so far. There’s no docs that I’ve …
Continue reading Custom Settings – Field Metadata
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
CPQ Custom Permission Set
You’re wondering what all of these tables are for. They’re for CPQ permissions! CPQ comes with a few permission sets that give users permissions to do certain things in CPQ. The CPQ User permission set is the one we will focus on here as it is the one with some important missing permissions. We’ve had …
Continue reading CPQ Custom Permission Set
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!
Validation Rules!
So you need to configure a validation rule, eh? And you’re not sure where to start! You’ve come to the right place! Tho this place is about CPQ, we are still big fans of the platform as a whole! So let’s create a requirement that would need a validation rule. Let’s make it simple! Requirement …
Continue reading Validation Rules!
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 – Related List Buttons
Edit Lines button on Quotes related list on Opportunity page. Boom. This is one of the most requested features I get. This is a text formula field on the Quote object that has a link and an image. The image is a static image from imgur. The link is to the edit lines page passing …
Continue reading CPQ – Related List Buttons
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 – Display PSL Assignees
If you haven’t noticed, Salesforce removed the “Manage Licenses” link from the CPQ Installed Package listing. Here’s an easy Visualforce page that shows these license assignments. The intention here is to enhance this page to allow for assigning/unassigning licenses. Class Visualforce Page Reference
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
CPQ Pre/During/Post-Deployment Checklist!
Are you going live? Do you have no idea how to start climbing THAT mountain? Look no further! Below are two checklists! Pre-Deployment Checklist Deployment Checklist Post-Deployment Checklist That’s it! Do comment if you’ve got more to add to this list!
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!
Advanced Approval – Submit Multiple Records in Related List (Classic)
A new Code Using Advance Approvals If you created a new approval process with Advanced Approvals package and you need a quick way to submit for approval multiple records from selecting them from a Related list (without having to enter each record), this code will work very well for you. For this Project we have …
Continue reading Advanced Approval – Submit Multiple Records in Related List (Classic)
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.
When Migrating Quote Template Through Data Loader
You might notice, after migrating your quote templates to another org with data loader (to production perhaps), you see either double or duplicate columns in the Quote Template! Are you migrating the quote templates through data loader? You must keep in mind that the order to add the Quote template through data loader is: 1. …
Continue reading When Migrating Quote Template Through Data Loader
Salesforce CPQ – New Theme Woes
Did you create a new theme and it does not apply to your users and/or sales representatives?Is your theme giving you an error when previewing it? Upsert Failed. First exception on row 0 with id xxx; first error: INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY, insufficient access rights on cross-reference id: []Error is in expresssion ‘{!previvew}’ in page sbqq:theme: (SBQQ) After …
Continue reading Salesforce CPQ – New Theme Woes
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: Attempt to de-reference a null object
This message is the worst. Very sorry that you’ve found this error. This is telling you, ”something bad happened in CPQ and we’re not telling you what it is”. This is going to be a living document that contains reasons why you might encounter this error.
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
New Author! Laura Gomez
Please everyone, welcome our newest CPQ Guru addition: Laura Gomez (@goma). She is a wonderful resource I’ve had the pleasure to work with over the years. She’ll be contributing here at MorePalmer (soon to be MoreCPQ) as she finds things and is inspired to share! Welcome Laura!
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 Numbering Things
In Salesforce CPQ, there are MANY objects that have a field called: order, number, evaluation order, index, display order, sort order, etc. For ALL of these fields, this is my Classic CPQ numbering scheme: 10, 20, 30, 40, etc. That way if you have to insert something, you don’t have to re-number ALL of them. …
Continue reading CPQ Numbering Things
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.