In this article I will explain how to use Servicebot, an open-source platform for automating SaaS billing. Servicebot is designed to be the billing engine enabling businesses to sell software as a service.
Being able to manage the subscription lifecycle is paramount to selling a SaaS. This means having automated processes which react to specific billing events, such as subscribing or cancelling a service. Typically, subscription billing is made up of the following events:
The ability to set an application to react to these events (for example, restricting access if a free trial expires without a payment source), is the core to billing management for SaaS.
Servicebot is designed with this in mind and gives a company the ability to add business logic around these events.
Servicebot powers SaaS billing with two main constructs. The Service Template, containing the details of what customers are subscribing to, and the Service Instance, which represents the service a customer has subscribed to.
The Service Template is the blueprint needed to deliver an application to a customer. The template contains details such as the pricing and field definitions the end customer needs to fill out. For example, a business may want to collect a phone number or other information when on-boarding new customers. Their service template would contain a required input field that needs to be filled out in order to create a new service instance.
Once a customer subscribes, a service instance is created based on the service template and the information they filled out. For SaaS billing, hooking into the lifecycle of the service instance is key. Instances can be upgraded, cancelled, or trialing — meaning all a company needs to do to implement billing is integrate their application with the different events that occur within Servicebot.
Here are some of the important features that make service instances a great fit for SaaS:
Servicebot makes it easy for you to embed forms to your website. Just copy and paste the code into your site and immediately start selling your product. All you need to do is specify what happens after a customer presses “subscribe.”
The other embeddable which Servicebot provides is an account management form. When you embed this in your SaaS, your customers can add their credit card, change their plan to a higher tier, cancel their subscription, or resubscribe. You just have to paste pre-generated code into your application and Servicebot takes care of the rest.
One of the best ways to alert your app to billing changes, such as a trial expiring, is with webhooks. Webhooks allow apps to communicate real-time information to other apps. In this case, Servicebot would be providing your SaaS with billing information.
Using Servicebot, webhook endpoints can be defined so whenever a billing event occurs, the endpoint will be notified and action can be taken. For example: if a trial expires, a webhook will be sent to the SaaS and the customer can be locked out of the software until they pay.
We at Servicebot believe that the process of getting paid for your software should not be a difficult task. Many tools focus on the payment aspect of billing; Servicebot is different by focusing on the service being provided, making it much easier to tap into the subscription lifecycle.