Happy Business Starts Here

Hide rate plate from Zquote

Highlighted
Master

Hide rate plate from Zquote

Is there a way to hide a rate plan from the zquote but still have it avaliable to be selected on a subscription in Zuora?  My use case is I need to create a one time charge for price adjustments.  I don't want the rate plan/charge to be available on the on the product cataglog for sales rep.  It should only be available to be used by accounting department for special cases.  I understand that the effective start/end dates controls the display for the zquote. But those dates are affecting the subscription display as well.

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Guru

Re: Hide rate plate from Zquote

Yes, there are a number of ways to do this (ranging from simple, to very advanced and dynamic)

 

The simplest method is to have a custom field (i.e. picklist) on that rate plan and have it with the following two example options:

 

Visible in Quoting:

 true / false

 

Then when defining your filter in Quotes, you would include only the items that have "Visible in Quoting" set to "true".

 

Make sure your rate plan dates are still valid as they will always supercede any filter and also cannot be overridden by an admin for manual additions.

 

 

Now we took this a step further in our implementation:

 

We added a custom picklist field to both the product and product rate plan called "Availability" and gave it the following options:

General

Limited

Restricted

Blocked

 

The rate plan also has one more called "Inherited". This means that the rate plan Availability would follow the product it belongs to (so you can make a change to the product and all rate plans by default follow)

 

The logical definitions for our org on these were:

General - Available to the entire staff with access to Salesforce quotes

Limited - Available only to the billing operations team via Salesforce quotes

Restricted - Available only to the Salesforce and Zuora administrators via Salesforce quotes

Blocked - No access via Salesforce Quotes

 

We set these values on the Product Catalog in Zuora and they were then sync'd over to the Salesforce catalog.

 

 

We then added a custom formula field in Salesforce only called "Quotable" this formula looked at the product availbility as well as custom permissions on the current user to determine their level of access:

 

Formula on Product:

IF(
  CASE(Availability__c , 
    "General", 1, 
    "Limited",  IF($Permission.Quoting_Allow_Limited_Items , 1, 0),
    "Restricted", IF($Permission.Quoting_Allow_Restricted_Items , 1, 0),
    "Blocked", 0, 
    1) = 1, 
true, false)

 

Formula on Product Rate Plan:

/* Check if the product is quotable, if yes, then check the rate plan */
/* if the product is not quotable, then no rate plans are as well. */
IF(zqu__Product__r.Quotable__c , 
  IF(
    CASE(Availability__c , 
      "General", 1, 
      "Limited",  IF($Permission.Quoting_Allow_Limited_Items , 1, 0),
      "Restricted", IF($Permission.Quoting_Allow_Restricted_Items , 1, 0),
      "Blocked", 0,  
      1) = 1, 
  true, false),
false)

This was a checkbox (aka true/false) field and so if a product was marked Limited and its rate plan was marked as Inherited, the rate plan would show a checkbox in Quotable if the user has the following permission:

$Permission.Quoting_Allow_Limited_Items

 

 

We used custom permissions so that we could be extremely granular in our definition of who could access "Limited" or "Restricted" products/rate plans. So if the business definition changed and we wanted to give Sales managers access to limited availability products, we could do so (or even give it to a single person based on permission sets)

 

Here is what the filter looks like for our trial products on the guided selling side:

 

Screenshot 2016-08-28 11.58.33.png

 

Notice that we will only show the rate plan if "Quotable__c" is set to true. And all the dynamic processing we built above sets this field automatically based on the current logged in user.

 

The reason we liked this method so much is it allows us to actually quote limited or restricted availability products to customers via Salesforce quoting, but a user with the proper permissions must add it to the quote. So sales would come to our billing ops team and ask them to add a limited availability product to a specific quote so that they can act as gatekeepers for proper usage.

 

Couple final notes: This method works in the older guided selling in pre-7.0 as it was rate plan based. In 7.0 to 7.1 there is a bug with the CPQ product selector where if any of the rate plans are marked as quotable, then all of them will be shown. This bug was fixed in 7.3. So for this to work optimally, use the traditional guided selling if you arent using 7.3 and if you are on 7.3 then use the CPQ selector.

 

Hope you find some of this useful, you may not need all the flexibility we built into our solution but it does work quite well if you need to slice up access to the catalog easily. Let me know if you have any questions.

 

 

Cheers,

Jacob

View solution in original post

6 REPLIES 6
Highlighted
Guru

Re: Hide rate plate from Zquote

Yes, there are a number of ways to do this (ranging from simple, to very advanced and dynamic)

 

The simplest method is to have a custom field (i.e. picklist) on that rate plan and have it with the following two example options:

 

Visible in Quoting:

 true / false

 

Then when defining your filter in Quotes, you would include only the items that have "Visible in Quoting" set to "true".

 

Make sure your rate plan dates are still valid as they will always supercede any filter and also cannot be overridden by an admin for manual additions.

 

 

Now we took this a step further in our implementation:

 

We added a custom picklist field to both the product and product rate plan called "Availability" and gave it the following options:

General

Limited

Restricted

Blocked

 

The rate plan also has one more called "Inherited". This means that the rate plan Availability would follow the product it belongs to (so you can make a change to the product and all rate plans by default follow)

 

The logical definitions for our org on these were:

General - Available to the entire staff with access to Salesforce quotes

Limited - Available only to the billing operations team via Salesforce quotes

Restricted - Available only to the Salesforce and Zuora administrators via Salesforce quotes

Blocked - No access via Salesforce Quotes

 

We set these values on the Product Catalog in Zuora and they were then sync'd over to the Salesforce catalog.

 

 

We then added a custom formula field in Salesforce only called "Quotable" this formula looked at the product availbility as well as custom permissions on the current user to determine their level of access:

 

Formula on Product:

IF(
  CASE(Availability__c , 
    "General", 1, 
    "Limited",  IF($Permission.Quoting_Allow_Limited_Items , 1, 0),
    "Restricted", IF($Permission.Quoting_Allow_Restricted_Items , 1, 0),
    "Blocked", 0, 
    1) = 1, 
true, false)

 

Formula on Product Rate Plan:

/* Check if the product is quotable, if yes, then check the rate plan */
/* if the product is not quotable, then no rate plans are as well. */
IF(zqu__Product__r.Quotable__c , 
  IF(
    CASE(Availability__c , 
      "General", 1, 
      "Limited",  IF($Permission.Quoting_Allow_Limited_Items , 1, 0),
      "Restricted", IF($Permission.Quoting_Allow_Restricted_Items , 1, 0),
      "Blocked", 0,  
      1) = 1, 
  true, false),
false)

This was a checkbox (aka true/false) field and so if a product was marked Limited and its rate plan was marked as Inherited, the rate plan would show a checkbox in Quotable if the user has the following permission:

$Permission.Quoting_Allow_Limited_Items

 

 

We used custom permissions so that we could be extremely granular in our definition of who could access "Limited" or "Restricted" products/rate plans. So if the business definition changed and we wanted to give Sales managers access to limited availability products, we could do so (or even give it to a single person based on permission sets)

 

Here is what the filter looks like for our trial products on the guided selling side:

 

Screenshot 2016-08-28 11.58.33.png

 

Notice that we will only show the rate plan if "Quotable__c" is set to true. And all the dynamic processing we built above sets this field automatically based on the current logged in user.

 

The reason we liked this method so much is it allows us to actually quote limited or restricted availability products to customers via Salesforce quoting, but a user with the proper permissions must add it to the quote. So sales would come to our billing ops team and ask them to add a limited availability product to a specific quote so that they can act as gatekeepers for proper usage.

 

Couple final notes: This method works in the older guided selling in pre-7.0 as it was rate plan based. In 7.0 to 7.1 there is a bug with the CPQ product selector where if any of the rate plans are marked as quotable, then all of them will be shown. This bug was fixed in 7.3. So for this to work optimally, use the traditional guided selling if you arent using 7.3 and if you are on 7.3 then use the CPQ selector.

 

Hope you find some of this useful, you may not need all the flexibility we built into our solution but it does work quite well if you need to slice up access to the catalog easily. Let me know if you have any questions.

 

 

Cheers,

Jacob

View solution in original post

Highlighted
Master

Re: Hide rate plate from Zquote

@feisley, thanks! This is very useful.

Highlighted
Master

Re: Hide rate plate from Zquote

@feisley I have a follow up question.  Can you get into more detailed about setting the filter for products.  I was searching around but couldn't find that configuration.  Is that custom? 

Highlighted
Guru

Re: Hide rate plate from Zquote

The filters are part of the native guided product selector.

 

You can get to the guided selectors by going to the Zuora Quotes "app" and clicking on the "Zuora Config" tab.

 

In the Advanced section you will see "Guided Product Selectors". Once in there you should see all your guided selling flows (if you are using guided selling).

 

You can expand any of them to see the steps and clicking edit on the step brings you to the step config page where the filter is specified.

 

Which version of Quotes are you currently using?

Highlighted
Master

Re: Hide rate plate from Zquote

I recently upgrade from 6.4 to 7.3.  I haven't had a chance to play around with the new features.  It sounds like I need Guided Product Selector enabled to as prequiste for this solution to work.

Highlighted
Guru

Re: Hide rate plate from Zquote

I believe that is correct. I have not used the non-guided selector since we first implemented so I forget precisely what it can do. I highly recomment guided selling flows as they make it very easy to separate the catalog into logical blocks.

 

Also to get things up and running quickly there is always the option of making a single flow called "All Products" and then showing all the catalog (with quotable filters 😉 ) to allow you to take advantage of the new functionality.