Close this search box.

Bending Quotes to your Will

Red Argyle Logo without name
Red Argyle logo

Salesforce Quotes are a very powerful tool that come along for the ride in the Sales Cloud, but I find they are often overlooked and not used to their full potential.  I thought it would be great to share some Buttonclickadmin tricks on how to make Quotes sing for your company.  First, I’ll do a high level overview of what quotes do, followed by some setup information and finally a few tricks I discovered in a recent project.

So what are Quotes, and why are they awesome?

In the past, it was fairly onerous to create templates that were simple to use, looked good, and had some automation around them to share proposed pricing information with customers.  In addition, often one deal would contain multiple permutations that would be submitted for customer review. A few releases ago, Salesforce released the Quoting engine to alleviate many of these concerns.  First, I’ll outline the data structure:

An Opportunity record may have multiple line items associated with it, and a Quote record exists and may have multiple line items assoicated with it.  The magic is in the synching (represented by the red dotted lines).  It is possible to have multiple quote records attached to a single opportunity.  Upon creation of each quote, another group of line items is created as well.  One quote can be “synched” with the Opportunity.  When it is synched, changes to the Opportunity Products are reflected in the quote, or vice versa.  

With this synching, it is possible to manage a complex deal with multiple possible permutations.  Imagine a salesperson selling a car with three different trim packages.  They want to present all 3 options to a customer.  Quotes allows them to do this, all from one Opportunity record.  The customer can select the quote they prefer, and the salesperson can then synch that quote with the opportunity, making it the master and getting all products the same between the quote and the opportunity record.
Here’s a great video explaining synching:

The next great ting about quotes is its output.  Quotes have a built in quoting template.  From there, the simple click of a button enables a user to generate a quote AND email it to a contact from Salesforce.  In addition, every time a new pdf is generated, Salesforce will store a revision of that PDF, generating a history trail for the deal.  Here is a sample quote using the standard template:

So, this is pretty cool, how do I get it up and running?

As with any system change, do your learning and testing in a sandbox or developer org!  Here is a quick rundown of how to get Quotes up and running.

  1. Do your homework.  From a business process perspective, determine if there needs to be any restriction on who can use the quotes system, and if there are any necessary approval processes that need to be designed.  Institute profile security to ensure organizational security needs are addressed.
  2. Hit the “dynamite button” under the quotes setup area to “enable quotes”.  I call it a dynamite button because it’s one checkbox that turns on a whole lot of functionality.  Click Path – App Setup > Customize > Quotes > Settings  <<INSERT QUOTE ENABLE IMAGE HERE>>
  3. Add any custom fields to Quotes that your organization requires
  4. Add any custom fields to the Quotes line items that your organization requires
  5. Add the Quotes related list to the opportunity page layout
  6. Modify the Quotes page layout to assure all desired fields are present.
  7. Modify the Quotes template to match your business needs.  Click Path App Setup > Customize > Quotes > Templates
  8. You’re done with baseline setup!  Now your reps can start creating quote records and sending them to customers.  
  9. Consider your rollout plan.  This may have a  large impact on the sales process.  Carefully review the changes to the process and put together a training/rollout program.  Here is a great video to show to your users:
  10. Review metrics on quote usage.  There are two standard report types “Opportunities with Quotes and Quote Line Items”, as well as “Opportunities with Quotes and Quote PDFs”.  With those report types, it is easy to review number of quotes, amounts, and quote revisions by user.

More on Template Editing

Probably the most complex part of setting up quotes is getting the quote template to look justright.  One drawback (currently) is that the template formatting is somewhat locked in by the system.  If it is close to what your company needs, then modifying it is easy.  If your company has very unique or custom quote template requirements, you may need to use a 3rd party tool such as CongaMerge to manage your quote output.

Don’t overlook the fact that you can use multiple quote templates simultaneously.  If your company quotes out different product lines and need different formatting, the system can easily accommodate this.

Some more original tweaks

During an engagement I was recently working on, the customer had some other needs that were not able to be fulfilled by the standard quote template ability, but we were able to bend it to our will with some button click magic!  I’ll outline each situation below and the fix that we created.

Situation #1 – Quantity field always displays decimal point.  It looks weird when everything that you sell shows 1.00 for quantity, especially when most items are whole.  You’d never sell 1.5 books.  However, they also wanted to sell labor in fractions.  So, what we did was create a new formula field on the Quote line item which reformats the quantity field.  It made it an integer if it had no decimal value, and left it alone if it did.  Here is the formula:


Situation #2 – In addition to tax and shipping, we needed to add a “travel expenses” portion to the lower part of the quote template.  Since we did this, it worked and looked great but there was an issue.  The standard “Grand Total” field was not able to compute the value including the travel expenses amount.  So, we wrote our own Grand Total field which used this formula:

TotalPrice + Budgeted_Travel_Expenses__c + Tax + ShippingHandling

Situation #3 – Discounting always rendered as a percentage, but we wanted to show the disount as a dollar amount.  This involved a little bit of formatting work to get it to look normal, and may need some additional conversion to make it look perfect with commas, but this formula works great to produce a dollar amount discount:
IF(Subtotal - TotalPrice = 0,"","$" &
IF(CONTAINS(TEXT(Subtotal - TotalPrice),"."),
TEXT(Subtotal - TotalPrice),TEXT(Subtotal - TotalPrice) & ".00"))

Situation #4 – We wanted a page break.  Basically, we wanted to display a text block with some legal language.  However, we did not want that starting on one page and landing on the next page.  First, we needed to know how many line items were in the quote to determine if a page break was needed, and then we used the formula below.  

IF(Count_of_Line_Items__c > 6,BR() & BR() & BR() & BR() & BR() & BR() & BR() & BR(),"")  

This formula is a starting off point to give you a “Fake Break”.  Based on this customer’s needs, it worked.  It could be improved by using a CASE statement and inserting different amount of BR() depending on the number of line items, if needed.  To use this field, insert a header, one column, and hide the title & field name in the quote template.  It will effectively act like a page break.  

There is an open idea for a real page break here.  Please, please vote it up here:

Okay, and there you have it.  A short introduction to what Quotes can do for your organization, and a few tweaks we discovered to enhance the capabilities of the system.  Mike and I would love to hear your thoughts (or improvements) to what’s here, or share a story about how Salesforce Quotes improved your users’ ability to deliver.

Red Argyle logo
Red Argyle logo

Related Blog Posts