How To Build and Scale Your SaaS Billing Solution?

Mobile App Development, On-demand App Development

A billing solution is vital for every business that runs online and sells either digital services or physical goods. Subscription management, recurring billing, generating invoices, and all such operations fall under the task list of a SaaS billing service. As the number of online businesses increases, customers are shifting from physical shopping to online shopping of physical goods. And digital services, like a software subscription or a chatbot subscription, like IBM Watson, are only getting more popular every year. As the demand spikes and customers fly in from all directions, the worth of a reliable SaaS billing solution is immense and if you are thinking of developing a SaaS solution for your own, then read on.

The Curious Tale of Ed, Edd, and Eddy   

Ed, Edd, and Eddy are brilliant coders. All three of them have been in the IT industry for a couple of years and they know the industry inside out. They know its pitfalls, they know what will work in the market and what will tank. Ed, Edd, and Eddy have been very vigilant of the trends, they know in which direction the IT industry is going and they feel like now is the time for them to make a move; they feel like the time is right for them to finally get started on their own startup. 

It all started two years ago when, after a couple of drinks, Eddy pitched an idea for a possible project they could do, all three of them together. He proposed that they build a subscription-based chat system for Enterprises for their inner workings. He further elaborated on the idea and said that he wanted this chat-system to be secure, fun to use, and chock-full of features. He also wanted to have a lot of plug-ins and offer a lot of paid add ons, to allow their customers to customize their chat system. 

The idea sat well with the other two friends and over the course of the next two years, this vague idea that was slurred by a couple of drunk friends in a pub somewhere, took a solid shape and before they knew it, they were ready to get started.

It took them some time; juggling between their full-time jobs and this new commitment wasn’t always easy, but Ed, Edd, and Eddy were smart and driven guys. They knew what they wanted and they knew how to get it and so, before long, they were ready to reach out to a couple of prospective customers and offer their chat system. To their shock, the meetings went well and they had scored their first customers. They told these customers to use their website and opt for the subscription plan that suits their needs the best. 

They had not given much thought to their SaaS billing solution till then. They were using Stripe to generate invoices and thought that it would suffice their current needs. After all, there were only a couple of things this billing system needed to do- accept payment from a couple of payment methods and renew subscriptions based on the user’s preferences. It was a simple Cron job, nothing three smart guys like them couldn’t handle. For Ed, Edd, and Eddy, it was the easiest part to develop for their chat system. But what they had not anticipated back then was that as they grew and more customers started to come in, their rustic billing solution will not suffice.

The leaks started to show themselves five customers later when all of a sudden, a new customer asked if he could pay with cheque instead of the payment methods that Ed, Edd, and Eddy had provided. They agreed, of course, and went back and made some changes to their subscription solution and enabled it to accept payment by cheques.

It didn’t stop there, of course. As more customers were attracted to their solution, more use cases popped up, varying subscription demands came in, some wanted only a one-time add-on, some wanted demos, marketeers wanted insights and an entire plethora of other subscription-related complexities emerged and Ed, Edd, and Eddy found their relatively simple subscription solution utterly useless.

Moral of the Story

While making a SaaS billing solution, you need to keep in mind that billing gets complex when your subscriptions do, which is something Ed, Edd, and Eddy should have kept in mind while they were putting their solution together. So, there will come a time when you will have to scale up your current SaaS billing solution to prevent it from completely breaking down. 

And in this article, we will cover what are the things that you need to keep in mind while building your SaaS billing solution and when you need to scale it up.

What is a SaaS Billing System and How It Works?

Billing And Payment

Software as a service or SaaS is a subscription-based model in which users have to buy subscriptions for the services. The software is centrally hosted and it can be tweaked to meet a customer’s needs. So when we say a SaaS billing system, what we really mean is making a billing system that can cater to the needs of startups and enterprises and handle their complex subscription-based businesses and take care of their other billing-related needs. 

A common billing system is responsible for receiving payments from the customers, allowing them to buy subscriptions according to their needs. It also needs to renew these subscriptions. It is a recurring process in which the billing system has to regularly charge the user’s entered credit/debit card for their purchased services.

Catch-22

So far, billing sounds like a very easy job, at least to a coder; all you need is a gateway that stores the credit card details and is connected directly to your checkout page and a CRON job, which is a small set of code, that can schedule the card to be charged every month.

Simple, right? It is, at least in the beginning. But, remember what happened to Ed, Edd, and Eddy? It wasn’t till they started to see a heavy deluge of unconventional subscription needs, courtesy of their growing popularity, that they began to run into problems and realized that their billing system was paper-thin and was not up to the task.

On paper, Ed, Edd, and Eddy’s solution should have been enough. Billing generally only has three parts-

  1. Collecting a payment,
  2. Making and invoice
  3. And storing the payment information in your personal database for later users like paying taxes, etc.

So where did it all go wrong? 

The answer is, before they even go to the payment. Recurring payment for a conventional subscription plan works on a monthly basis. So it is simple enough for a billing system to charge a customer on the due date. 

But what happens when there are more than one subscriptions, starting on different dates and are of varying rates? And what happens when one of those subscriptions have a couple of add-ons but one of them is only a one time buy? Furthermore, how will your billing system respond when the customer also has a Christmas coupon that he bought last year which makes him eligible to get 25% off on an add-on of a certain type, let’s say stickers?

These are all subscription related questions and a billing system needs to handle them well. And this is just the tip of the iceberg. As customers with different personas will come in, they will demand different payment options, they will want refunds, they will want advance invoicing options, they will ask for insights, they might ask for unconventional billing periods. And if your customers are coming from different geographical locations, then you will need to take care of tax rules and invoice rules for their country, as well. 

So in the end, a billing system gradually becomes more complex and complicated as users with different personas and needs come in, demanding unconventional subscriptions, payment and billing services.

And as much as you try, you can never really know what your customers will want. All the planning in the world cannot prepare you to face every hurdle, every demand of your customer. But even if by some miracle, you are able to predict what your customers might need and how your subscriptions will change over the course of time, you cannot risk putting in all the features in the beginning. You might end up over-engineering your product and wind up with a bunch of features you don’t even need.

It is an unwinnable situation- A catch-22. Over-engineering brings risks of wasting resources and money while waiting for the need to scale to arise might cost you in lost sales.

o your best bet is to develop an MVP in the beginning, a basic solution with only essential features, leaving in the framework for future integrations and scale up as more customers come in and start demanding new features and subscription models. 

SaaS billing Solution

What are Some Essential Features of a SaaS billing Solution?

An MVP is a basic form of a whole product that contains only a handful but essential features; these features are the heart and soul of your product. For your SaaS billing solution, you need to have the below features. But they will depend on the type of business that you run. For digital services, you will need a different array of features while for physical goods, you need to go a different route.

  1. Basic Subscription and Billing Plan- the first thing you need to do is come up with all the different types of subscription models that you will be providing, various methods of payment you will be accepting, the base price of your service, and your billing frequency.
  2. A payment Gateway Integration you will need a payment gateway to receive payments from your customers. 
  3. Trial Periods- this is very important if you are going for competitive prices. Trial periods allow users to use your service for a couple of days to help them make up their minds.
  4. PCI Compliant Checkout Pages 
  5. Paid Plan Upgradation- this will become an imperative part of your billing system once the user is through his trial period and is ready to buy your services. Also, if your service is elaborate and you offer a plethora of features, chances are you have divided them into different plans. So a user might want to upgrade to a new plan because that plan has a feature he needs.
  6. Flexible billing periods
  7. Invoices- they are a list of all the services/goods selected for purchase and they contain all the vital information about the products. They are fully customizable and give a user a complete snapshot of his purchase.
  8. Dunning- Dunning is the automated process of retrying a failed payment. A large number of online payments fail, and in case that happens to your customers, you need basic Dunning for your service.
  9. Communication- invoices, any changes in subscription plans, and other such information need to be relayed to the user, via email or SMS. This is also a good way to build healthy relationships with your customers.
  10. Metrics- A billing system should be able to tell some facts about your business like, your monthly sales, insights about your revenue, etc.

These are all the features you need to have if you are providing a digital service, but if you provide physical goods, then given below are some of the features you need to have in your SaaS billing system. 

  • Basic Subscription and Billing Plan
  • Payment Gateways
    1. Shipping Address Support- selling physical goods online means you will need to store shipping addresses somewhere so that you can align them with the subscription plan to make sure that you are sending the right customer the right goods. It is a good idea to try and automate as much of this phase as you can because it can be a tedious and very time-consuming task.
    2. Shipping Operations Integration- if you are considering automating your shipping process, then you will have to integrate your billing process with a shipping operations integration that you can very easily purchase.
    3. Webhook Support- Webhooks will help your billing system in communicating with your website and vice versa. They will help you in making sure that customer information matches for each order.
    4. ERP(Enterprise Resource Planning) Integration- by hooking your ERP up with your billing system, you will be able to track your orders and mark them as delivered, invoices as paid, etc.
    5. Order Fulfillment Integration- whenever you run out of a product, you need to make sure that it either doesn’t show up on your website or is marked as ‘Out of Stock’. This integration will help you and your billing solution with that.
  • Allow Refunds
  • Basic Metrics

How to Scale your SaaS Billing Solution?

Scale your SaaS Billing Solution

As we mentioned before, scaling your SaaS billing solution is a tricky and expensive task. So before you jump in, you’ll have to make sure that,

  1. There is enough need for a certain change, integration, tweak, etc.
  2. Are customers willing to pay for it?
  3. Do you have the resources to pull it off?

The answer to these above questions depends on the type of scaling you are talking about. Commonly, there are two types of changes-

  1. Minor changes, mere tweaks to improve the performance of the solution or a little UI/UX related shuffling to make it more user friendly.
  2. Major changes, including integrations and new subscription models, etc, like in the case of Ed, Edd, and Eddy.

Minor changes are easier to handle. While they can set off a domino effect if not handle and documented properly, they are comparatively easier to pull off.

Major changes are a slow and gradual process that will require you to do a lot of intense research, put in some serious money, and even scale up your development team.

So when is the right time to scale up? It depends on your needs. How bothersome your current billing system is to you, and will the new changes be helpful to your customers? And how you scale up, that will depend on your business and your future goals and how flexible are you willing to be with them.

How to Scale up Your Development Team?

When you finally do decide to scale up your current SaaS billing solution, you might find yourself in need of good coders and developers who can help you achieve your goal. The problem, however, is that like scaling up your solution, scaling up your development team is tricky and expensive.

The first thing you need to keep in mind while scaling up your development team is the complexity of the task that you are undertaking. Some integrations are harder to pull off than others, for instance, making a communication gateway doesn’t have to be a particularly tricky task, but if you want to integrate your accounting software with your billing system, then that is a whole another beast and you will need a dedicated development team to best it.

Following the same example of the accounting software integration, your developer will need a deep understanding of your subscription plans and use cases, they will need to have a good understanding of taxation and for that, they might have to work closely with your accounting team and will even take some time to work as fast as you want them to.

Aside from developers, you will also need QA engineers and UI/UX designers. And for DevOps, you will need a couple of people to offer 24X7 support and coverage. If you are looking for turn your SaaS billing solution around and scale it up, Matellio has years of experience in the industry and we employ the latest technologies to deliver top of the line billing solutions.

Want to Develop Best SaaS Billing Solution

Conclusion

Building a SaaS billing solution is not as simple as it sounds, as we have seen before. Ed, Edd, and Eddy are not the only ones to make the mistake of thinking that their job was limited to coding. Once customers started to come in, they found themselves dealing with issues like customer support, sales deck, subscription management, etc. 

It is very easy to be blindsided by the vibe of ease that a subscription billing solution flaunts on the surface. But underneath the shiny surface, are a lot of surprises. So in order to handle the varying needs, the best thing that you can do is think of these use cases in the beginning.  If you have done a good job of planning your project in the beginning, the complex subscription use cases won’t be such big of a problem later on. And even if you are unable to predict some future need, then scaling your product is a tricky but doable task.