Back to articles

Recurring billing automation for data protection services

No backup-as-a-service (BaaS) setup is complete without the ability to invoice your resellers, customers and departments. Even in enterprise setups we are seeing a growing need for internal invoicing of departments - or at least internal cost allocation for departmental consumption. 

The growth in IT as-a-service and cloud services over the past years* have set new standards for how customers are paying for IT, and with that new requirements for the billing processes of the managed service providers (MSPs). 

In this article we will discuss the challenges of automating recurring billing processes  specifically in relation to BaaS, with a focus on business-to-business (B2B) relationships.


Subscriptions and recurring billing

Customers and users of an IT service subscribe to the service (typically by choosing between different subscription types) and the MSP will have to handle the recurring billing of the service. In our experience, recurring billing in B2B services typically involves settling and sending out invoices to accounts on a monthly, quarterly or yearly basis. Depending on the individual contracts, a service can be charged based on fixed rates or based upon actual consumption and sometimes a mix, in addition to having different subscription options which define the specific metrics and prices used for billing.

Backup-as-a-service cost and pricing calculations

Typically the price of a BaaS solution is determined by the cost involved with providing the service. The cost drivers involved in setting up and running BaaS can be:

  • Primary Storage (typically solid-state and disk storage)
  • Secondary Storage (disk or tape storage)
  • Server hardware
  • Backup software
  • Server software
  • Connectivity (bandwidth)
  • Routers and switches
  • Co-location
  • Electricity
  • Software development
  • As-a-service software solution license
  • Human resources

 Depending on your exact setup there may be more or less cost drivers involved. The important thing is that you base your calculations on your current situation. You may offer to support different customer SLAs and therefore might have different hardware solutions in place with different types and quality of storage and number of backup copies stored, and thus you will need to have more than one calculation in play.

Once you have all cost drivers in place you can calculate the monthly cost per GB of storage of your service as “total cost of ownership” divided by the “total capacity available (total number of GBs)” and again divided by the “number of months” in which your infrastructure investment will last. You might want to calculate the total cost of ownership over 3-5 years rather than 12 months as this of course is a more realistic timeframe for your investment and will give a lower monthly cost per GB and hence give you an opportunity to go to market with high margins or competitive end-user pricing on your backup service.

Backup-as-a-service billing automation

Above, we have demonstrated how you can calculate the total cost of ownership for your backup service as a monthly cost per GB. Now, if you work for an enterprise you might want to show or perhaps even divide the said cost across each of your departments based on the individual department’s backup usage, and if you work for an MSP, you will add your margins to the said cost and enable your company to settle each customer based on their individual consumption.

Showing the cost per department and/or invoicing each of your customers, requires a multi-tenant setup where backup consumption values can be extracted or calculated for each individual customer and department. Your backup vendor might have some tools and reports to extract values for licensing and billing purposes, but often these reports and values are very limited and might not provide the flexibility and granularity needed to directly support your business model. If you extract the values based upon your own scripts, you often lose flexibility and scalability as you might need to modify your scripts every time there are even small changes in your customers' setups. Subsequently, you will also become very dependent on people who understand the technical details behind your scripts and setup, and ultimately understand how to make the changes when needed. One thing is for sure: The billing model you need today will change in the future and you should deploy a billing automation solution which can easily adapt to changes in needs.

To elaborate on the possible complexity in subscription based billing automation and at the same time provide examples of possible solutions, we will base the remainder of this article on the experience we have gained while building our own solution to the problem:  Cloutility, which is a business extension for your backup platform, has a built-in billing data engine which automatically generates raw billing data which can subsequently be converted to a fitting format in order to be processed by your ERP system. The billing engine supports the need to invoice different types and sizes of customers differently, and is based on the idea that organizational and contractual changes will occur and should be easy to implement. Through a model based upon products which are added to subscriptions which are added to customer contracts, this billing engine is able to generate tens of thousands of billing lines each month in a matter of seconds, and throughout the whole setup lots of settings ensure the ability to adapt to the needs of the various customers or departments. 


Cloutility comes with a number of built-in products like “total storage”, “transferred data”, “base price”, “archive storage”, “file servers”, “DB servers”, “workstations” and many more. The products determine which values to use when specifying prices in subscriptions later on. The products have a product code which can be modified to match products in your existing ERP or invoicing system. The codes also ensure that you can get information on total revenue based on a product.


At the heart of Cloutility’s billing capabilities are subscriptions. A subscription consists of one or more products with a specification of how the product should be settled: You decide if a product is settled as a “price per unit” or “price per package” (example: 1000 GB at a monthly cost). If a product is settled in units you can include a number of units at a fixed monthly “base price” and extra units will be settled at the unit price. If a product is settled in packages an extra package will be added when consumption exceeds the package size.

For consumption based products the monthly capacity can be settled as the amount which exists at the beginning or end of the month, or as the average or sum of values throughout the month.

Once you have created the subscriptions which are needed to match the commercial terms, it is time to configure contracts for each of your customers.


For each business unit in Cloutility (customers, departments, etc.) you can add a contract. The contract has a start date and includes information about invoicing frequency (monthly, quarterly, yearly), payment terms, currency and optionally an end date. You can also specify whether consumption based products related to the contract are prepaid or postpaid.

Finally, you add one or more subscriptions to the contract. Being able to associate multiple subscriptions to a contract enables you to split various products up into different standard subscriptions which can then be used across multiple customers, which eases long-term subscription management.

Changing the price of a subscription will immediately impact the contracts of all customers with the said subscription. 

Multi-tenant billing

Cloutility supports multi-layered multi-tenant billing. The top level service provider (MSP or enterprise) can set up contracts for all customers or departments and the multi-layered model will further allow the customers to set up contracts for their internal departments. This model will also enable an MSP to automate the billing of a channel of resellers who can set up the billing automation of their own customers - and if needed the customers of resellers can set up billing automation of their departments.

Cloutility even supports a commission model where the MSP can automate the generation of billing data based on invoicing of any reseller’s customers directly and with a percentage of the invoice being paid as a commission to the reseller.

Billing output and API for integration

The final step in generating an automated billing process is getting the raw billing data which contains all billing lines for your BaaS business. In Cloutility, billing data is generated on a configurable date each month. The billing data in Cloutility is available in both CSV and JSON formats and can automatically be sent to one or more email addresses. To improve the level of automation, the billing data can also be retrieved via Cloutility’s REST API and in this way the data can be integrated directly with the invoicing system of the MSP or the enterprise.  

Cloutility generates graphs showing the development of monthly billing amounts for each applicable currency, and of course the historical billing data containing potentially thousands of billing lines are accessible for privileged users. 


In this article we have defined some of the terms used in a recurring billing automation setup. We have discussed some of the challenges and the complexity of automating the billing processes. We have given examples of some of the plug-and-play billing automation features which are built into the multi-tenant Cloutility platform and shown by these examples that billing automation can have many facets. 

Thank you for reading.

Back to articles

You accept the use of cookies by using this site or closing this banner

Read more about cookies
IBM ISM Library Excellence Award 2012
IBM Tivoli Award: Best Cloud Solution 2013
IBM Beacon Award 2013
Ready for IBM Storage 2017
Top 10 IBM solution provider 2021