Building a subscription billing system internally is like creating a product within your own product. The initial setup might seem easy. But as you start to scale and your customer base starts to increase, your recurring billing software will start demanding more and more of your development time and engineering resources. This can get in the way of your growth or customer experience. Let us look at how this happens, but first, here is a story about a bridge.
You’re the mayor of a town by the riverside. The traders of your town need an easy way to reach the town on the other side of the river.
An idea strikes, to build a bridge. But, before jumping the gun, ask yourself this – can you really build a bridge?
There are a host of elements you would have to consider- finding an ideal area to build the bridge, testing the soil, getting the best material, and designing the bridge.
Let us take the case of one such element – designing the bridge. You would choose the best material that would withstand the rigours of time. You will also have to choose the type of the bridge that best fits your situation – arch, suspension, truss, cable-stayed, or a beam bridge. And to do that, you would’ve to consider the live load (vehicles, people, animals) with the dead load (self-weight of the bridge) and other miscellaneous loads.
When you are considering the wind load (speed of the wind), you would look at the average speed and direction of the wind and see if it’s a cyclone prone area. But, you will also have to consider if the design of the bridge will allow the wind to pass through its structure. Failing to do so, will divert the wind towards the top and bottom of the bridge, causing the bridge to sway.
This is just one aspect of designing a bridge. Just imagine how complex the other factors like ideal area, testing the soil, and procuring the best material would get.
And an enterprise software is no different. You will have to look at the degree of customization, estimate the costs involved in product improvement, integration with third-party software, and the speed of implementation of the software.
Checkout the video below to understand the challenges and complexities involved in building your own recurring billing system.
How far does your internal billing tool stretch?
Recurring billing might seem like a simple process of collecting payments, sending invoices, and recording transactions. And like most SaaS companies, you would at first think of building a basic solution on top of your payment gateway to manage your subscriptions and payments.
This process would work for you initially, sure. But your payment gateway would give you only the basic features, and there is only so much your internal tool would be able to stretch. And as your company begins to grow, you’d have to accommodate for complexities like these, in time:
Managing your subscriptions under various categories, assigning payment methods, automating the payment collection process, including add-ons, and editing subscriptions are just the bare minimum. Your internal billing software wouldn’t be able to accommodate for needs like pausing subscriptions and providing a customer portal.
- Rather than cancelling a subscription, you need to give customers the option to pause subscriptions. Additionally, you could even move them to a free plan for that period of time, and later, move them to a paid plan if you cannot pause the subscription. This way, you wouldn’t have to worry if your customers would come back to reactivate their subscriptions.
- You will need to have a customer portal where your customers can manage subscriptions on their own, and set the options as to what the customers can do in this self-service portal. This would ensure there is no time delay or manual intervention needed to provide a better customer experience.
User Role Management
Assigning your team members under rigid roles like billing or reporting would become an issue when your customers and revenue grow. Sometimes, your team members would need information or would need to perform an immediate action that overlaps with the tasks of another function, and a read-only interface wouldn’t suffice.
- You need to have the option to customize a role, where a person can have a combination of permissions when they require one part of a role and full access to another role. This provides flexibility to customize access for your team, ensuring the security of sensitive information.
To add to these complexities, your European customers might ask for the option to pay through Direct Debit. And that means integrating a tool like GoCardless into your payment gateway.
- You would need to ensure that you support multiple payment methods like Amazon Pay, PayPal, Apple Pay, ACH payments, and SEPA Direct Debit, which would open you up to more customers. This would also guarantee you two things – Revenue assurance (trying another payment method if one payment method fails when charging your customer), and added flexibility (charging a certain payment through one payment method, and other payments through alternative payment methods). This would improve your customer experience and guarantee customer satisfaction. Also, you would want all this information available in one dashboard than having to jump around from one place to another.
- By assigning a primary and backup payment method to your customer’s single or multiple subscriptions (that can be changed as and when required), your revenue assurance increases.
- You need to make sure that the balance in the accounting books matches the balance in your payment gateway and bank statements, i.e. payment reconciliation. Reconciliation involves managing your entire accounting, and not just your fees, transactions, and refunds. This helps your accounting team confirm that all the amounts appearing in the statement are brought to record into the books of accounts and a clear explanation emerges for the unreconciled items.
Reports and Analytics
Your payment gateway would provide reports on your charges, fees, disputes, and refunds. However, it would miss out on some essential metrics that a subscription business would need.
- You would require tailored reports that would show you the data for signups and activations, monthly recurring revenue (MRR), refunds, committed monthly recurring revenue (CMRR), churn, average revenue per user (ARPU), and lost opportunities. Essentially, your billing system must provide you with revenue recognition and revenue recovery reports, which would make analyzing your problem areas easier and would help boost your overall productivity.
To respond to payment failures and to recover more revenue, you need more than just basic dunning management, i.e. retrying the card a few times during a declined payment.
- Flexibility in sending emails to customers is one aspect to consider. You need to be able to customize dunning emails to modify notifications schedule to make sure the customer gets to notice the issue. You should be able to set the tone of the email, the frequency of sending emails, and the time interval that should be there between these emails.
- You will need a system that will be able to crunch numbers for the dunning process to generate the best time to get a successful payment. Using all the previous data available, it should be able to guide you in terms of when you should charge a customer to yield a higher success rate.
What a lot of businesses underestimate is that other teams rely on billing to act on their ends.
- The sales team would want the billing information updated on Salesforce to track subscriptions, extend trials or render discounts. The customer support team would need the subscription information of a particular customer right next to that specific support ticket. The finance team, on the other hand, would need to recognize revenue month-on-month against the subscriptions, and ensure that the revenue accounting is accurate. This requires ease of integrations with other software, which will, in turn, also provide a seamless customer experience without losing out on productivity.
To build, or not to build
You wouldn’t want most of your development time to get eaten away in maintaining (building new features) your in-house billing system and in fixing bugs. It’s an on-going development process of building and re-building.
Along with that, your development team will have to comprise of experts on taxes, currencies, proration, credits etc. They will have to understand how each team works and the overlaps that are present between billing and the different teams, in order to build integrations.
If you want to build your own software, you need to consider having proper documentation (for those building on top of it in the future) and strict quality analysis. The Baremetrics Startup Calculator helps you to decide whether you should build your own solution or buy an existing one.