When Renewal Execution Mode is set to OnDemand, CPQ automatically renews assets based on the defined Renewal Lead Time. CPQ supports Account mode and Product mode for OnDemand renewal of assets. However, these modes are mutually exclusive, which means you must use only one mode in one org. You may want to renew an existing asset in OnDemand renewal mode:

  • During one-time legacy asset data migrations
  • During one-time renewal quote creation for existing active asset base
  • When minimal changes are required on the renewal quotes because of any ABO changes.

Account Mode

This mode works based on the global Renewal Lead Time setting in Installed Product SettingsCPQ automatically renews all assets on the account (possibly from different quotes) based on the defined global Renewal Lead Time after you click a custom button on the account.

The following diagram describes the flow of OnDemand renewals. In this diagram, Renewal Lead Time is 120 days.

Over a period of time, you sell some products/services through different quotes, which might have varying end dates. After the original quotes are converted into orders and the order are activated, assets are generated. All assets are visible on the account. When you want to renew the assets that will expire in 120 days from today, you click the custom button on the account. CPQ compares the asset line items' end dates with the Renewal Lead Time defined and triggers the creation of renewal quotes for all those assets (from different quotes) that will expire in 120 days.

Prerequisites

  • The Renewal Business Object Type is set to Proposal.
  • The Renewal Execution Mode is set to OnDemand. 
  • A custom button is created on the account or a custom link is created on the quote.

    If the custom button is on the account, you can renew all assets in the account based on the defined Renewal Lead Time. If the custom link on the quote, you can renew assets from a quote based on the defined Renewal Lead Time.

  • The Renewal Lead Time is defined.
  • The Renewal Group Fields are defined.
  • The AssetRenewalJobScheduler batch job is scheduled.

How OnDemand Renewal Mode Works

  1. From an account, create an opportunity.
  2. Create quotes from the opportunity and configure products.
  3. Add products to the cart and finalize it.
  4. After your customer accepts the quotes, orders are generated.
  5. After you activate the orders, assets are generated. The assets are active and visible on the account.
  6. Click the custom button on the account when you want to trigger the creation of renewal quotes.
  7. CPQ creates renewal quotes based on the defined Renewal Lead Time, considering the expiry date of assets (from different quotes).

    By default, CPQ groups asset line items by Account and the Price List. However, if other parameters are configured in Renewal Group Fields, CPQ groups asset line items accordingly. If some assets had Auto Renew flag set to True or False, there will be two renewed quotes: one for the asset lines with Auto Renew = True and the other for asset lines with Auto Renew = False.

    Renewal quote that has assets with Auto Renew = True: On the expiry date of the asset, CPQ automatically processes the renewal quote and renews the asset for the next term. The quote will be automatically set to Accepted without any intervention (this is called Touchless Renewal).

    Renewal quote that has assets with Auto Renew = False: You need to manually process the quote.


    After CPQ triggers renewal quote creation, on the Account page, the renewed asset groups are listed under Temp Renew Asset Groups in the New status. After the AssetRenewalJobScheduler job is executed, the status of asset groups changes to Completed and the renewal quote is created. The name of the renewal quote will be Renew:<name_of_price_list>-<quote_end_date>.

    When the renewal quote is generated, the Renewal Line Item field on the asset line item is updated with the latest renewal configuration ID on the renewal quote. When the user tries to manually renew this asset, a warning is displayed about the existence of a renewal quote for this asset.

    CPQ updates the currency of the opportunity line items created on auto-renewal quote's opportunity with the same currency as of the On Demand renewal quote. 

    When you execute the CreateRenewAssetsGroupJob, CPQ creates the required TempRenewAssetGroups on active asset line items. After the AssetRenewalJobScheduler job is executed, CPQ processes those TempRenewAssetGroups, changes the status of asset groups to Completed, and creates the renewal quotes and configurations. After you perform some changes on the assets, if you execute CreateRenewAssetsGroupJob again, CPQ does not create any new TempRenewAssetGroups.

  8. When you configure products in this renewal quote, CPQ takes you to the Cart page directly where assets with renewed Start Date, End Date, and Selling Term are available. The Line Status of assets is Renewed and asset pricing calculated according to the renewed Start Date, End Date, and Selling Term.

    On the new renewal quote, the Start Date = Parent Quote's End Date + 1 and End Date = New Start Date + Selling Term.

    The Approval Stage of the quote is marked back to Draft allowing you to perform any changes to the renewal configuration. Any change or update to the assets are reflected in the opportunity based renewal quote.

  9. Add products to the cart if required and finalize it.
  10. After your customer accepts the quote, an order is generated.

Product Mode

This mode works based on the product-level Renewal Lead TimeCPQ automatically renews all assets (possibly from different quotes across all accounts in the org) based on the defined product-level Renewal Lead Time after you execute a code in Developer Console.

Prerequisites

  • The Renewal Business Object Type is set to Proposal.
  • The Renewal Execution Mode is set to OnDemand.
  • The Renewal Lead Time is defined for the required products. See Creating Products. For example, there are two products with the Renewal Lead Time of 20 and 40 days. 
  • The Renewal Group Fields are defined.
  • The AssetRenewalJobScheduler batch job is scheduled.

How OnDemand Renewal Mode Works

  1. Create quotes and configure products with Renewal Lead Time.
  2. Add products to the cart and finalize it.
  3. After your customer accepts the quotes, orders are generated.
  4. After you activate the orders, assets are generated.
  5. Run the following code in Developer Console:

    In the following code, (20,5,100,30} is used as an example Renewal Lead Time. CPQ allows you to use multiple lead times separated by a comma.

    List<Integer> productLeadTimes = new List<Integer>
    
    {20,5,100,30}
    ;
    
    Apttus_Config2.AssetRenewalSubmitController controller = new Apttus_Config2.AssetRenewalSubmitController(productLeadTimes);
    
    // do submit
    ID jobId = controller.doSubmitJob();
    CODE
  6. CPQ creates renewal quotes based on the defined Renewal Lead Time, considering the expiry date of assets (from different quotes across all accounts in the org). For example, if there are two products with the Renewal Lead Time of 20 and 40 days, only the product with Renewal Lead Time=20 is triggered and its OnDemand renewal quote is created.
    By default, CPQ groups asset line items by Account and the Price List. However, if other parameters are configured in Renewal Group Fields, CPQ groups asset line items accordingly. If some assets had Auto Renew flag set to True or False, there will be two renewed quotes: one for the asset lines with Auto Renew = True and the other for asset lines with Auto Renew = False.

    Renewal quote that has assets with Auto Renew = True: On the expiry date of the asset, CPQ automatically processes the renewal quote and renews the asset for the next term. The quote will be automatically set to Accepted without any intervention (this is called Touchless Renewal).

    Renewal quote that has assets with Auto Renew = False: You need to manually process the quote.


    After CPQ triggers renewal quote creation, on the respective Account page, the renewed asset groups are listed under Temp Renew Asset Groups in the New status. After the AssetRenewalJobScheduler job is executed, the status of asset groups changes to Completed and the renewal quote is created. The name of the renewal quote will be Renew:<name_of_price_list>-<quote_end_date>.

    When the renewal quote is generated, the Renewal Line Item field on the asset line item is updated with the latest renewal configuration ID on the renewal quote. When the user tries to manually renew this asset, a warning is displayed about the existence of a renewal quote for this asset.

    When you execute the CreateRenewAssetsGroupJob, CPQ creates the required TempRenewAssetGroups on active asset line items. After the AssetRenewalJobScheduler job is executed, CPQ processes those TempRenewAssetGroups, changes the status of asset groups to Completed, and creates the renewal quotes and configurations. After you perform some changes on the assets, if you execute CreateRenewAssetsGroupJob again, CPQ does not create any new TempRenewAssetGroups.

  7. When you configure products in this renewal quote, CPQ takes you to the Cart page directly where assets with renewed Start Date, End Date, and Selling Term are available. The Line Status of assets is Renewed and asset pricing calculated according to the renewed Start Date, End Date, and Selling Term.

    On the new renewal quote, the Start Date = Parent Quote's End Date + 1 and End Date = New Start Date + Selling Term.

    The Approval Stage of the quote is marked back to Draft allowing you to perform any changes to the renewal configuration. Any change or update to the assets are reflected in the opportunity based renewal quote.

  8. Add products to the cart if required and finalize it.
  9. After your customer accepts the quote, an order is generated.