If you’re familiar with Salesforce, you know that customizing it to fit your SaaS company metrics can be challenging. For SaaS forecasting, the default field Salesforce utilizes is the Amount field on the Opportunity object. In this post, I’ll explain why you shouldn’t use the amount field for forecasting, and how you can forecast properly within Salesforce.
The issue with the standard forecasting feature for SaaS companies
Most SaaS companies need to forecast ACV (Annual Contract Value), and not TCV (Total Contract Value), because VCs evaluate SaaS companies based on their ARR (Annual Recurring Revenues). The standard forecast feature within Salesforce isn’t well suited for ACV, as it’s based on the amount field, which isn’t the ACV at all. But why ?
The reason is quite simple: whenever sales representatives create a primary quote, the quote total amount is going to be pushed to the opportunity amount. Thus, the opportunity amount is equals to what the customer is going to pay. So, what if you’re selling a subscription for 3 years for an ACV of 10 k€? The opportunity amount is going to be updated to 30 k€, and you won’t be able to track an ACV forecast with the standard forecast tab.
If your company sells only subscriptions, I suggest you use the amount field as the TCV. Then, you’ll need to create additional fields to be able to track SaaS metrics.
Create SaaS metrics fields on opportunities
You can easily compute an ACV field based on the TCV (Amount) field. All you need is a number custom field to input the forecasted contract term, preferably expressed in months. The default value could be 12 months for example. Also, I suggest you to make is mandatory on the opportunity page layout. Next, you’ll need a currency field to compute the ACV. You could create a formula “(Amount / Term_Months__c) * 12”, but you won’t be able to use a formula with the forecasting feature.
The trick is to create a simple currency field called ACV on the opportunity object, which is going to be updated by a workflow rule with the same formula everytime an opportunity is updated. If your company sells one-time products such as implementation fees and one-off trainings, you could just have a ACV currency field not updated by any workflow rule. That’d work well too.
Create a new forecasting type based on the ACV currency field
Next, you’ll need to enable opportunity splits so you can create a forecast type based on this split. Go to the setup menu and enter opportunity splits. Before, just make sure that you don’t have inactive currencies on any opportunity, closed or open. As a workaround, you could just activate all inactive currencies and deactivate them once splits are enabled.
All you need to do here is creating a split, based on the ACV field, that totals 100%. Lastly, you have to create a forecasting type (under forecasting settings), based on the ACV split.
If you’ve already imported forecasting quotas, you’ll have to upload new ones with the forecasting type ID you just created. You could use the Data Loader to export existing forecasting quotas, export forecasting types to retrieve the forecasting type ID for the ACV, and upload new quotas with the forecasting type ID for the ACV. Additionnally, you could just remove the obsolete forecasting type based on the amount field, so sales reps and managers won’t select the wrong one.
Thanks for the article however I cannot update the custom Currency field based on the workflow. Here is my workflow formula :
IF(Subscription_Term_Months__c = 0,0,
IF(Subscription_Term_Months__c < 12,Amount,
Amount / Subscription_Term_Months__c * 12))