Regular readers will know I am no fan of the current SEC revenue recognition rules, or rather, for the convoluted manner in which they are sometimes interpreted.
Earlier today, I fielded a call with Jim McGeever, COO NetSuite on this topic as he introduced a beta version of the company's new recurring billing module. It was impressive. First some background.
McGeever has sat in NetSuite's CFO seat. He knows how difficult it can be to correctly account for revenue under the SEC rules, which, to say the least, are open to all sorts of interpretation and are mind bendingly complex to operate in the real world. Get it wrong and the SEC are all over you like a cheap suit. The ultimate cost of getting it wrong can run millions of dollars.
Despite that tidbit, billing has been something of a poor relation in the enterprise apps world. Right now, many players will partner rather than build for this functionality. That was OK in a world where billing was relatively simple but is a questionable strategy in a world where the move to providing services is accelerating. In the B2C world, life remains relatively straightforward but in the B2B world it is easy to see how complexity arises.
Say for example I am a software services company sales person who wins a deal for a multi-module solution that includes implementation, storage and support services. Under the rules I have to rateably recognise revenue on the basis of services delivered. That will be a headache because despite what might appear in the standard price configurator, deals are ulltiumately thrashed out at a fixed price that almost always varies from the price book. Working out the correct amounts to show in any reporting quarter depends on a number of variables and events.
OK - so we manage to figure out how to recognise revenue over the contract period and what parts can be accounted for in current and future quarters. So far, so good. But what happens if two quarters down the line the customer comes back needing more seats? I now have to revist my calculations for the unexpired parts of the contract, adding in the new users and recrunching the numbers. Someone will then have to check the calculations, also noting the impact on other parts of the process system such as salesperson's compensation. And that's a relatively simple use case.
Now imagine a model where the price you charge depends on a bunch of variables. A good example is medical care. Services might depend on age, the kinds of treatments, the experience of the allocated surgical team, physical location and so on. That matrix of variables allows the business to optimise the prices it gets for the service packages it delivers. Now take that data and use as the basis for comparative performance analysis or even the creation of new workflows related to those services.
Complicated isn't it? And from what I can tell, it is only going to get more complicated over time as businesses invent new models for delivery and service bundling.
The following diagrams provide some indication of what you can be faced with in both static and adjustable contract flows.
NetSuite has been working on this problem for some time. It is currently in beta with a number of customers who have been asking for help in handling complex, recurring billing. It is perhaps an indication of the scale of problem that McGeever reported there is a healthy pipeline, that customers are prepared to wait for availability and that to date, NetSuite has not had to market the solution.
The demonstration I saw was impressive. The ability for example to attach metrics on the fly based upon any field that exists in the database, report on same and create entirely new workflows should make it very easy for customers to proliferate usage among a large number of users. Where in the past, billing operations would likely be in the hands of a small number of users, the ability to attach notes, messages, documents and other pertinent contract information makes it a no brainer to put aspects of this module into the hands of sales and service personnel. I can envisage that even in cases where much of the workflow is automated.
NetSuite claims that deficiencies in existing partner solutions, together with ongoing complexity meant the company was forced to develop. "You cannot manage the full range of required functionality and integrate it it fully into the workflow without using a platform approach. We think this is a significant differentiator where customers want to automate the process but still demand as much flexibility as possible," said McGeever.
I like what NetSuite is doing. I like for example that the rules engine can take account of flexed contracts and then spit out the correct revenue recognition results. That comfort factor alone should command a premium. I also like the ease with which the solution can be customized and how it manages complexity in a relatively easy to understand manner. I like the direct integration with collaborative elements so that everyone involved in a contract process can gain access to what they need. As always with NetSuite, I find the UI a tad old fashioned but that matters a lot less in this scenario where access to a lot of information will be essential for many users.
NetSuite has not settled on pricing and is assessing each deal on its merits. My sense is that NetSuite should regard this as a premium solution because it is solving a difficult problem in an easy to understand manner that will scale well within the context of the suite offering. That should make NetSuite more attractive to mid-sized and larger customers who are faced with the problems outlined above. If that sounds like Howlett Heresy then consider this: how much is it worth to stay away from the prying eyes of the SEC and the swingeing fines they can impose when not satisfied there is a risk of investor fraud? More to the point, how much is it worth to know with improved certainty what your forward revenue position will look like? The answer in some cases may well be 'quite a lot.'
Images courtesy of NetSuite analyst briefing notes