SaaS, PaaS, IaaS, ... the world seems to be moving to an 'as-a-service' model. Instead of a big upfront charge with smaller maintenance fees thereafter, we're more often now establishing subscriptions that lower the entry fee but generate greater recurring revenue. And it's those ongoing subscription charges that really drive business valuations. But out of the box, Salesforce doesn't help much with reporting or forecasting recurring revenue. Typically, the Amount which rolls up into the forecast is the Total Contract Value, which may include non-recurring items, as well as multiple years of service.
Yes, you can create schedules (quantity schedules or revenue schedules) attached to each line item. And that does help, especially with reporting on revenue in each period. But I don't find that a complete solution (though it is reasonably flexible given that you can edit each entry of the schedule).
Over several posts, I'm going to walk through a set of Salesforce customizations to support:
Yes, you can create schedules (quantity schedules or revenue schedules) attached to each line item. And that does help, especially with reporting on revenue in each period. But I don't find that a complete solution (though it is reasonably flexible given that you can edit each entry of the schedule).
Over several posts, I'm going to walk through a set of Salesforce customizations to support:
- determining the First-Year Value (FYV) and Monthly Recurring Revenue (MRR)
- forecasting based on FYV and MRR
- reporting on scheduled billings
- reporting the month-end MRR under contract
- calculating initial and subsequent payment amounts
Along the way, we'll make changes to the Product, Opportunity, Opportunity Product, Quote and Quote Line Item objects. We'll also make changes to the forecast setup.
Let's start with the updates to the Product object. My aim is to determine, for each product, (1) when it will be billed and (2) when we'll recognize revenue. To achieve this, I'm going to add a picklist field to the Product object called Category. This will be read-only for everyone except Admins and Product Managers and I'll require a value to save an Active product record. Its values, and what they represent:
- One Time: items that are billed upfront and recognized as revenue immediately. Typically this would be for things such as hardware, installation services and training.
- Subscription: items that are billed upfront (or annually for multi-year deals), but are recognized as revenue over time. This covers your -as-a-Service offerings, term licenses, maintenance charges, etc.
- Over Time: items that are billed and recognized over time. This is most commonly for Time & Materials services. We'll make a simplifying assumption that the services will be performed (and billed) equally over the contract term. (Here's where the Revenue Schedule's flexibility would work nicely if you know the delivery schedule at the time of booking.)
I also need to add a numeric field Term to the Opportunity object. Term is the number of months over which services will be performed; it will be required prior to creating any quotes or marking an opportunity closed-won. While I'm adding Opportunity fields, let's also create:
- First Day of PoP: This date field represents the first day of the period of performance (that is, the first day on which I'm delivering services).
- First Day after PoP: This date field is the first day after the PoP. (It may seem odd to use this day after PoP instead of the Last Day of PoP, but there are reporting benefits we'll see later).
- Renewal: a checkbox (default unchecked). When I calculate the month-end MRR, I'll want to report on both the amount under contract as well as the amount tied to renewals that are overdue but still pending.
As an example, suppose I have a new opportunity that involves a two-year contract, priced at $100 per month billed annually, with $150 for installation charged upfront. Service begins on July 1, 2019. The Term will be 24, First Day of PoP is 7/1/2019, First Day after PoP is 7/1/2022, and Renewal is false.
The calculations we're trying to build in:
- First-Year Value is $1350 (monthly charge of $100, plus the $150 installation fee).
- Monthly Recurring Revenue is $100.
- Initial billing is $1350; the subsequent billing is $1200.
- MRR under contract is $100 for any period from July 2019 through June 2021.
So that's where we're headed. Next time, we'll add the fields and flows on the Quote and Quote Line Item.
Comments
Post a Comment