How to manage SaaS subscription billing using Servicebot open-source

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.

Servicebot Manages the Subscription Lifecycle

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:

  • Subscribe — A new customer signs up for your service.
  • Trial Expiration — The free trial period expires and the customer is billed or access is restricted to the app.
  • Upgrade/Downgrade — The customer changes their subscription to a differently priced tier of service. For example, upgrading to premium Netflix for access to ultra HD video at a higher price.
  • Cancellation — The customer cancels their subscription.
  • Resubscribe — A former customer returns to your service.

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.

Service Templates and Service Instances

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.

Service Template

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.

Setting up a Service Template’s payment details and tiering using Servicebot

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:

  • Upgrade capability — If a SaaS offering has different pricing tiers, modifying the tier will change the price and apply proper proration.
  • Cancellation — Cancellation of a service instance should stop all subscriptions as well as restrict access in the SaaS.
  • Custom Charges — If a SaaS offers professional services, or various one-time charges, a service instance can have charges applied to it and be paid automatically.
  • Free trials — With free trials being one of the best ways to sell a product, service instances support the ability to offer a trial service, as well as the power to credit users with extra trial time.

The Service Instance Information in Servicebot, details pricing, user inputted information

Embeddable SaaS Subscription Form

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.”

Generate complex forms that you can embed in your site to easily onboard customers

Embeddable Billing Management

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.

Webhooks for Lifecycle Management

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.

Easily integrate with anything using Servicebot’s webhooks

Conclusion

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.

You Might Also Like...