This article looks at Salesforce Revenue Cloud and Billing from the perspective of revenue recognition. The first thing to consider is what revenue recognition is and why it is important.
There are three basic concepts that need to be understood: bookings, billings and revenue flows. When an organisation secures a contract for delivering products or services (a booking) it will want to record the full value of the contract, send one or more invoices to the customer (billing) and then record and forecast the revenue according to the required accounting standards (revenue recognition).
These three are often different amounts and recorded over different time periods.
For example, if a 12-month services contract for £120,000 closes on the 1st January with two payment schedules, £120,000 will be booked in January, two invoices for £60k will need to be raised at the specified payment date, and £10k a month of revenue will need to be forecasted and recognised over the course of the project (assuming that the work required to deliver the services is spread equally throughout the period).
The rules and mechanics of revenue recognition are controlled by accounting standards and can be complex and non-trivial. For instance, if a contract contains free of charge products as well as paid for products, the paid for product revenue may not be judged as recognised revenue until the free of charge products have been delivered and recognised. Also, revenue recognition rules may require the recognised revenue to be allocated between the free of charge products and the chargeable products. Or for a time and materials project, the monthly revenue will change according to the amount of effort expended.
Most standard CRM systems record and forecast bookings, but are not able to forecast revenue. And it is revenue that feeds into the profit and loss account, not the bookings.
Salesforce Billing within Revenue Cloud allows the revenue and invoicing schedules to be managed through specific rules associated with each product or service. This can then feed directly into the company’s finance accounts and budgets.
Diagram 1: This shows the principal objects used by Salesforce Billing:
Diagram 1 Object Model
Each product record has an associated revenue recognition rule containing one or more treatments that define how revenue transactions are scheduled for the product.
Having more than one treatment allows you to split the way a total amount is recognised, for example: 50% through one treatment, 50% through another.
Each treatment can reference a revenue distribution method. The distribution method can be setup to do full recognition, such as create one associated transaction record (see Diagram 2), or create a schedule of transaction records based on a daily or a monthly recognition basis. For a schedule of transaction records start date and end dates can be specified with reference to invoice dates, order dates, or create dates manually at point of order (see Diagram 3).
Diagram 2 Revenue Distribution Method – Full Recognition
Diagram 3 Revenue Distribution Method – Monthly Recognition
Based on the above definitions a revenue schedule record is created with associated transaction records. These records form the revenue forecast with a status of ‘Deferred’ (see Diagram 4). At the end of each finance period the records dated within that period are automatically set to Recognised and are locked to the associated Finance Book period.
If the actual revenue differs from the initial revenue schedule you can make the necessary changes through a revenue adjustment record. This ensures that all changes are tracked for auditing purposes.
Diagram 4 Revenue Transaction
So we have looked here at how Salesforce Billing can manage the aspects of revenue recognition – determining how revenue is recognised on a product by product basis, allowing appropriate dates to be selected to drive the revenue recognition schedule, creating a revenue schedule which can be used for revenue forecasting, and allocating revenue against the relevant finance period.
If you would like to know more about this topic please either complete the “Contact Us” form at the bottom of this page or send an email with your question to [email protected] and one of our experts will contact you directly.