New Features

The following features are new to Conga CPQ on Conga Platform in this release.

Cart Services on Conga Platform

Implementation teams can use these APIs to build a cart to prepare a product configuration by providing relevant details. These APIs also enable actions on the cart object to activate, revalidate, add line items with location, and price the product configuration. The following APIs are new in this release:

  • GET api/cart/V1/carts/active- Get the new cart and saved with the Latest Activation Date.

Ability to Apply Revalidation on Pricing Changes

In this release, you can apply revalidation if there are any changes in pricing. Administrators can use the Line Item Fields to Revalidate Invalid Price List Items field set to identify the fields to be displayed on price list item changes. If there is a change in the product version system, CPQ revalidates all the cart lines during the line item update or reprice process. When you define Apply Revaidate API, CPQ updates the selected line items to Price pending. The line items that required a revalidation are updated as per the latest product configurations and pricing. If there is a bundle product or an option within a bundle, CPQ revalidates the entire bundle.  

Ability to Add Line Items with Location

As a sales rep, you can add the products to the cart along with the location selected in the catalog. This feature enables you to create location-specific line items and create a cart with multiple lines with the same or different locations. 

Extensibility Callback: Support for Display Action Callback Class APIs

As a Revenue Administrator, you can define a custom logic in the Display Action Callback to disable any of the action buttons and OOTB actions on the cart page. For example, you can disable the following custom buttons using a Display Action Callback:

  • Abandon 

  • Approvals

  • Generate

  • Quick Save

The following APIs are introduced to execute the Display Action Callback:

  • POST api/cart/V1/carts/{cartId}/displayAction/{flowName}- To execute the Display Action Callback on the specific cart. Whenever you make changes to the cart (for example, adding a product), this API is executed and enables or disables actions based on the logic defined in the callback.
  • GET api/cart/V1/carts/{cartId}/displayAction- To retrieve the display action callback details through which you can validate whether the custom logic is applied as you require or not.

The revenue admin can invoke the following API to view a list of actions enabled on your system flow. 

  • GET api/V1/flows/{flowname}/actions 

Example

This is just a sample callback custom class to hide the visibility of the GoToPricing, Finalize, and Abandon action buttons on the cart page. You may change the custom class to fit your business requirements.

using System.Collections.Generic;
using System.Threading.Tasks;
using Conga.Revenue.Common.Callback.Entities;
using Conga.Revenue.Common.Callback.Messages;
namespace DemoDisplayActionCallback
{
 /// <summary>
/// Display action callback
/// </summary>
public class DisplayActionCallback : CodeExtensibility, IDisplayActionCallback
{
	/// <summary>
	/// Executes the display action.
	/// </summary>
    /// <param name="actionRequest">The action request.</param>
	/// <param name="displayActionInfos">The display action infos.</param>
	/// <returns></returns>
	public async Task ExecuteDisplayAction(IActionRequest request)
    {
	var actions = request.GetDisplayActionInfo();
	if (actions != null)
    {
	foreach (var action in actions)
     {
	  if(action.ActionName == "GoToPricing" II action.ActionName == "Finalize" II action.ActionName == "Abandon")
      action.IsEnabled = false;
      }
     }
     await Task.CompletedTask;
	}
   }
  }
CODE

Support for Custom Field (Formula Field) used as Charge Type, Criteria based Price Matrices, Criteria based Price Rules

As an Administrator, you can create criteria using a custom field created on Line Item or Product Attribute. So, you can use that criteria on Charge Type, Price Dimension, Price Rules, and Rule Set Header. 

Example:

Name of Formula fieldObjectFormula__cDatatypeScenario
Auto_FormulaLineItemLineitemif(Apttus_Config2__ListPrice__c ==100, Apttus_Config2__Quantity__c * Apttus_Config2__BasePrice__c ,Apttus_Config2__Quantity__c* Apttus_Config2__NetPrice__c )Formula(number)Use this field to create price matrix of Condition type.

Config Services on Conga Platform

Conga Platform Extensibility Callbacks: Support for Option Filter Callback Class within Product Filter Callback

Product Filter Callback provides you a mechanism to control the visibility of products on the catalog page based on custom criteria that you define. You can define entry criteria to determine whether a product in a price list should be filtered to a certain subset of the full list.

Option Filter Callback provides a mechanism to control the visibility of the option products on the Configuration page based on the custom logic that you define. The callback is executed when you perform a product search and Configure Products on the Catalog page. 

Product Filter Callback and Option Filter Callback are now merged and all three methods are available in a single callback.

When callback is invoked, CPQ excludes the option products on the Configuration page. Default options and options included based on constraint rules are also hidden when the Option Filter Callback is used to hide options. Default options and options included through the constraint rule are also hidden when the option filter callback is used to hide the options.

Example:

This is just a sample callback custom class to control the exclusion of option products on the catalog page. The following custom code only removes a few option products. You may change the custom class to list out the ID of option products to fit your business requirements.

Callback

global with sharing class SampleOptionFilterCallback implements Apttus_Config2.CustomClass.IOptionFilterCallback {
 
    /**
     * Callback to return option IDs which are to be excluded from the bundle
     * This filter is used when we configure a bundle.
     * @param params is the CustomClass.ActionParams that contains bundleId and productIds
     * @return List of option product IDs which will be excluded
     */
    global List<ID> getExcludedOptionIds(Apttus_Config2.CustomClass.ActionParams params) {
        //return new List<ID>{ <18 CHARACTER PRODUCT ID> };
        //Example for returning THREE products to be excluded:
            return new List<ID>{ '01t3C000000DVwh', '01t3C000000DVwm','01t3C000000DVww'};
        //Example for returning ONE product to be excluded:
        //  return new List<ID>{ 01t50000004nmL1YYX'};
    }    
}
CODE

Pricing Services on Conga Platform

Group Adjustment for Options

You can control option adjustments in your PLI system. Group Adjustments should get applied on Options, if the ‘Allow Manual Adjustment’ is set to FALSE on PLI and the ‘Allocate Group Adjustment’ is set to TRUE.

Validation Callbacks for Cart Custom Validations

When you make any changes in the product attribute such as Reprice, View cart, Save, or any cart action based on the custom validation message defined by the administrator. This allows you to make necessary field changes on the line item based on the validation callback logic.

Example:

When you initiating a reprice action in the cart and a maximum discount percentage limit is set to 20%:

  • If the applied discount percentage is 15%, the reprice action is allowed, and your updated price will reflect the 15% discount.
  • If the applied discount percentage is 25%, the reprice action will be blocked, and the system displays the discount percentage exceeds the allowed limit.


The validation callback now triggers when you perform the following actions on the cart line items:

  • View Cart

    For the View Cart operation, the Validation callback is invoked only when you turn on the Run Validation Callback On Add custom setting on the Cart Settings page. 

  • Copy, Add, or Delete products on the cart
  • Cart Reprice
  • OOTB actions available on the cart and Catalog page
  • Submit for Approval
  • Add More Products on both catalog and cart pages
  • Field and price update on the cart
  • Price update on the cart
  • Applying manual adjustments or multiple adjustments
  • Attribute update

Also, this feature prevents negative quantity values and checks for null durations or negative adjustment amounts, ensuring sales reps cannot finalize carts with these issues. It validates across the entire cart, line items, and price ramps.

Extensibility Callback: Support for Display Action Callback Class for various actions

As a Revenue Administrator, you can define a custom logic in the Display Action Callback to disable any action buttons on the cart page. For example, you can disable the custom buttons using a Display Action Callback such as Abandon, Approvals, Generate, Quick Save etc.

  • Ensures your custom button logic is applied consistently throughout CPQ, whether you're navigating through the Config, Catalog, Installed Products, Cart, or Analyze Quote pages.
  • Flexibility to apply your custom button logic specifically to the Main Cart.
  • Dynamically responds to user actions such as adding, deleting, copying products, or selecting/deselecting options.

Multi-Currency Support with Dated Exchange Rates

Sales reps can effortlessly generate quotes in their local currency, with automatic currency conversion based on dated exchange rates. This feature ensures that Bundle PLIs, adjustments, and pricing engine actions respect currency variations, preventing manual conversion work. It also supports multi-currency Contract Price lists.

Validations to Usage Price Tier Payload

Added below validations to ensure data integrity in the Usage Price Tier:

  • Sequence Number Validation: The sequence number should be greater than 0.
  • Date Range Validation: The Tier Start Date must be less than or equal to the Tier End Date.
  • Optional End Value: For the last tier, if no value is provided for Tier End Value, the system will accept it.
  • Value Range Validation: Tier Start Value must be less than or equal to Tier End Value.
  • Strict Value Ordering: Tier N’s End Value must be strictly less than Tier N+1’s Start Value.
  • Duplicate Sequence Number: Multiple Usage Price Tiers with the same sequence number cannot be added.

Auto Applied Promotions on Line Items for Buy X Get X and with Rate Table - No Tiers

  • With the Promotions Management application, you can now manage, execute, and analyze promotions using the CPQ product line. With 'Buy X Get X' promotions for line items, it allows you to create attractive offers where customers can purchase a specified quantity (X) of items and receive the same number of items for free or at a discount. You can auto apply Buy X Get X promotions by setting Auto Apply as True.
  • Auto Applied Adjustment Promotions:
    Introducing Auto Applied Adjustment Promotions with advanced capabilities. This feature streamlines the application of 'Buy X Get X' promotions specifically for Rate Table-No Tiers. When you set the Rate Type as Rate Tables - No Tiers in Promotion’s benefits, the system will automatically apply promotions, eliminating the need for manual adjustments.

Revenue Admin UI on Conga Platform

Associating Attribute Rules with Product Group

In the Product Group Admin interface, the admin representative can currently view and manage Attribute rules linked to a specific product group. This feature allows them to access a list of Attribute rules associated with the parent product group and view details of selected rules. It enables the admin to activate or deactivate these rules as needed to manage the product group effectively. We can create product attribute rule and Attribute value matrix in this release.

Adding Miscellaneous Settings to a Price List Item

In the Admin UI, Pricing administrators can access advanced settings for PLI (Price List Item) management. This feature enables them to customize default PLI settings to align with specific requirements, allowing for adjustments related to Auto Ramp and Price Escalator configurations.

Set Field Expressions to Associated Option Groups 

In Product Admin UI, product administrators can now utilize expressions to configure option groups and quantities. This functionality allows administrators to set field expressions for both option group quantities and individual option quantities, enhancing customization within the system.

Managing Price Matrix Entries

In the Advanced Settings of Price List Items (PLI) within the Admin UI, the administrator can view the details tab of price matrices. This feature lets them to make necessary adjustments as needed, including the addition or deletion of price list matrices entries. This flexibility ensures precise control over pricing configurations, enhancing the overall pricing management experience.

Enhancements

This section describes the existing features that are changed in this release.

Enhancement to the Cart Page

The following enhancement is new to the cart page.

  • The cart page now displays the location column for the products selected on the catalog page. 

Enhancements to the Validation Callback

Enhancement to the Finalize action on the Cart Page

In this release, When you try to finalize the cart after making the summary group adjustments, CPQ now first reprices the cart and then finalizes the cart. 

Enhancement to the Revenue Admin UI

The following enhancements have been introduced to the Revenue Admin UI.

  • Launching the Catalog Page from the Quote page
  • Launching the Cart Page from the Quote page
  • Able to redirect from the Cart page to the Proposal page

 When you try to navigate from one category to another, CPQ displays a spinner with the following messages.

  • If the cart does not exist: CPQ displays Please wait while Catalog is loading message.
  • If a Cart with line items exists: CPQ displays Please wait while Cart is loading message.
  • If you cannot identify whether the Cart with line items exists or not: CPQ displays Please wait while page is loading message.

Implementation of sticky column functionality for the Configure Display Action Settings page, specifically for the cc-grid.

In the Admin UI, the price rule creation pop-up does not display deprecated or unwanted fields. This optimization helps the user experience and ensures that only relevant and up-to-date information is presented during the price rule creation process.

Under Pricing, the administrators can now search, paginate, and sort Price List Items (PLIs) for efficient management.

Under Pricing, the administrators can now search, sort and filter the price dimensions.

Under Pricing, the administrators can now search, sort or filter price rulesets. 

Enhancement to the Visibility Rule

The following enhancement has been introduced to the viability rules.

  • Ability to define the visibility rule on the catalog to hide the categories that should not appear on the catalog page. This allows you to prevent the inclusion of invalid or incorrect products in your cart. You can apply visibility rules based on Role, User, or storefront. 

Enhancement to the Feature Sets

You can create a new feature in the feature set that is already associated with a product. A new product feature value (by default Null) is created and added to the Feature set for all products being associated with that. 

Enhancement to the Deep Clone

The following enhancements have been introduced to the deep clone feature in this release.

  • You can create a new product along with the associated product groups. To achieve this, you must pass the Product Group in the parameter to include the product group associated with the product. A new product is added to the product group.  
  • you can create a new product along with the associated attributes. To achieve this, you must pass the Attributes in the parameter to include the attribute group and attributes associated with the product.
  • The deep clone feature now creates a new product along with the price list and price list item associated with the product. To achieve this, you must pass the Pricing in the parameter to include all the price list and price list items associated with the product.

Enhancements to Dual Currency Conversion - Advance

In this release, the following enhancement has been introduced to the Dual Currency conversion:

  • The issue involves converting between two currencies. When there's no direct conversion rate, the system first tries converting through the Corporate currency, and if that's not possible, it creates a new rate based on the organization's currency conversion. If there is a direct rate available, it uses that.
  • Improvement is done in the currency conversion for Price Ruleset, Price Matrix, and Based on Price list. When direct rates are missing, the system calculates conversions via Corporate currency, making currency exchange more accurate. For an instance, if the direct rate from EUR to INR is not available and the Corporate currency is USD, then the conversions will follow EUR-USD before USD-INR sequence, and eventually the user will have EUR-INR.

Enhancements to Priority for PL Currency over Quote Currency

When the Pricelist (PL) currency differs from the Quote Currency, the PL currency takes precedence. This ensures that cart line items, calculations, and pricing fields are displayed and computed in the Pricelist currency.