Overview
Renewal Opportunities play a major role in the executive dashboards and reporting.
Suppose the customer already has an automated flow that creates a Renewal Opportunity as soon as an Opportunity is Closed/Won.
- Nue will use this Renewal Opportunity to add a link to associate the Subscription(s) that are created. This association will allow Nue to know which Renewal Opportunity to update each time the Subscription version is updated.
- Each time the Subscription version is updated, the Renewal Opportunity will be updated with the following fields:
- Total TCV (add a field to Opportunity)
- Total ACV (add a field to Opportunity)
- Also, there are ARR-related formula fields on the Opportunity that will be automatically updated.
- ARR (add a field to Opportunity)
- Renewal Lost ARR (add a field to Opportunity)
- Renewal Target ARR (add a field to Opportunity)
- Renewal Won ARR (add a field to Opportunity)
How It Works
Enable flows
There are two sample flows within Nue on Salesforce package, you need to clone each of them and make changes according to your business requirements
Flow 1 : Generate Opportunity Subscriptions
This flow is used to generate the opportunity subscription(junction table) records between renewal opportunities and subscriptions, and populate the Total ACV and Total TCV to the generated opportunity subscription records:
- Login to Salesforce org
- Navigate to the Flow list page
- Open the sample flow ‘Generate Opportunity Subscriptions Sample’
- Make the changes on the criteria of how to get the renewal opportunity based on the customer’s business requirements
- Save the flow as a new one if necessary
- Active the flow, now the flow will generate opportunity subscriptions for the renewal opportunities when subscriptions are updated
- NOTE: By default, there is no picklist option ‘Renewal’ on opportunity Type field, if you are using the default criteria to get renewal opportunity, make sure to add the option to the Type field on Opportunity object first:
Flow 2: Update Opportunity Subscription ARR
This flow is used to calculate the ARRs for each subscription and populate the ARRs to opportunity subscription records:
- Login to Salesforce org
- Navigate to the Flow list page
- Open the sample flow ‘Update Opportunity Subscription ARR Sample’
- Make the changes on the criteria of how to get the renewal opportunity based on the customer’s business requirements
- Save the flow as a new one if necessary
- Active the flow, now the flow will calculate the ARRs and store them to opportunity subscriptions when asset order products are updated
Add metrics fields to the Opportunity object
Please create the following fields on Opportunity Object manually, these fields are not packaged because of the Special Case documented below:
Field Name |
Field Type |
Details |
Total TCV (Nue) |
Roll-Up Summary |
Sum of OpportunitySubscription.TCV where ParentSubscriptionId equals empty |
Total ACV (Nue) |
Roll-Up Summary |
Sum of OpportunitySubscription.ACV where ParentSubscriptionId equals empty |
ARR(Nue) |
Roll-Up Summary |
Sum of OpportunitySubscription.ARR |
Renewal Target ARR (Nue) |
Roll-Up Summary |
Sum of OpportunitySubscription.TargetARR |
Renewal Lost ARR (Nue) |
Formula |
IF(AND(ISPICKVAL(Type,"Renewal"),ISPICKVAL(StageName,"Closed Lost")), RenewalTargetARR_Nue__c , IF(AND(ISPICKVAL(Type,"Renewal"),ISPICKVAL(StageName,"Closed Won")), RenewalTargetARR_Nue__c - RenewalWonARR_Nue__c , 0)) |
Renewal Won ARR (Nue) |
Formula |
IF(AND( ISPICKVAL(Type,"Renewal"), ISPICKVAL( StageName ,"Closed Won")), ARR_Nue__c ,0) |
Migrate for existing renewal opportunities
Enable the ‘Calculate metrics on a daily basis' setting on Nue to calculate the subscription Today’s ARR and Today’s CMRR, this will update all subscriptions nightly. The update action will trigger the 'Generate Opportunity Subscriptions' flow to generate opportunity subscription records for existing subscriptions. If you need to see the results immediately, please run the following batchable job from the developer console:
Ruby.SubscriptionMetricsCalculatorBatchable subscriptionMetricsCalculatorBatchable = new Ruby.SubscriptionMetricsCalculatorBatchable();
Database.executeBatch(subscriptionMetricsCalculatorBatchable, 200);
For ‘Update Opportunity Subscription ARR', it is triggered when asset order product object gets updated. We don’t have a daily job to update this object, so for any existing renewal opportunities, if you want to see the latest ARR values, please run the following batchable job from the developer console:
Ruby.OpportunitySubscriptionARRBatchable opportunitySubscriptionARRBatchable = new Ruby.OpportunitySubscriptionARRBatchable();
Database.executeBatch(opportunitySubscriptionARRBatchable, 200);
Note : Please make sure to run this code after the ‘Calculate metrics on a daily basis' job gets executed at least once (this will generate the Opportunity Subscription records for renewal opportunities)
Additional Notes
When 'Advanced Currency Management' is turned on, you cannot create a rollup summary field on Opportunity object to aggregate the currency type field from the custom child object. So we have to use a workaround in this case, please refer to this doc: https://help.salesforce.com/s/articleView?id=000386732&type=1
In the Opportunity Subscription object, we have already introduced some number type fields, and these fields are all populated with the same values as the corresponding currency type fields. If your org has enabled the 'Advanced Currency Management' feature, please create the rollup-summary fields (ARR, Target ARR, Total ACV, Total TCV) on Opportunity object against these number type fields. And then create other formula fields to convert the rollup summary number fields to currency type. This is a workaround for this special case.
Put It All Together
The out-of-the-box flows in Nue are a powerful tool that can help organizations optimize their renewal processes, and provide more accurate forecast ARR metrics for the executive team.