How to Choose SaaS Billing Software
Before reading through yet another “Top-29 SaaS billing platforms” feature comparison post, decide how you want the billing tool to play with the rest of your operations stack.
This post is part of an ongoing series for SaaS founders and CEOs on setting up their financial stack in a scalable manner. The benefits of a well-thought-out process includes increased visibility to your revenues, expenses, and cash flows, and a faster feedback loop to make your forecasting more operationally focused.
You want the right tool for the job. It’s just that every modern billing tool claims to be the best, somehow has a 5-star rating, and you end up combing through blog posts comparing countless billing platforms feature by feature.
While running my financial modeling software business Flightpath, we often get the question “Which SaaS billing platform should we use” from our customers. I recommend that a startup should consider three questions when choosing a SaaS billing platform:
- What is the specific billing logic the platform should provide?
- Do you need to build an integration between the platform and your SaaS app?
- How should the platform work with your accounting & operations stack?
From our experience, the 3rd question is the most difficult to answer, since it’s the least familiar one to startup founders and CEOs. Many SaaS startups don’t have truly unique billing needs, but can be serviced by most major SaaS billing tools. Similarly, the startup leadership are usually the best people to figure out the type of an integration needed between their app and the billing platform. For example, “Does our app need to feed monthly usage data into the billing system, or can we do it manually?”
However, not all billing tools are created equal as it relates to syncing with the rest of your operations stack. If you get the setup wrong, you end up with bad data, incorrect reports and forecasts, which has a material impact on the business.
This post is tactical advice on how your operations stack influences which billing system you should use. There are two approaches you can take: a core billing system supplemented with third-party integrations, or a turnkey billing platform that does everything in-house. These are the example companies we are using in this post:
- Stripe Billing is an example of a developer-friendly solution that requires many third-party integrations or even custom development to run smoothly with your operations stack.
- Chargebee and Chargify are examples of turnkey solutions aimed at business users. These tools include in-house metrics, revenue recognition and native integrations with your accounting.
The Cost of Bad Setup: You Can’t Trust the Data
In the early days of Flightpath, I recall meeting with a founder of a multi-million dollar SaaS company. I had spent a few hours setting up a structure for their initial revenue forecast, and the goal of the meeting was to iterate it further. The founder told me that all of the metrics we were looking at were inaccurate. New customer MRR, customer count, churn—all wrong. He explained to me that he had no confidence in the accuracy of the forecast if he couldn’t even trust their past data.
I later discovered the reason for the inaccuracy was with the way their billing was set up. Their billing process in Stripe was completely detached from their need to use metrics for analysis and forecasting. There were hundreds of different plans and countless one-off charges that should have represented prepaid subscriptions and setup fees. Even the customer churn was defined differently in billing compared to the company-wide cancellation policy.
By then, it had taken too long to figure all of this out and I lost the customer.
Armed with experience from working with SaaS CEOs and operators for several years now, today I am a lot more direct. I let the leaders know that until we fix the underlying issues with their billing setup, their forecasts and reporting would always be garbage in, garbage out.
Things You Need to Get Right
So what is it specifically that you need to get right? In my experience, you can divide these into three buckets.
- Revenue Recognition
- Accounts Receivable
- MRR Metrics
1. Revenue Recognition
Having accurate revenue figures is the first step for understanding your company’s performance. If you’re running a SaaS business, you should be doing accrual based accounting. Revenue recognition gives you far greater visibility into how your business is actually doing—especially as it relates to understanding and forecasting your cash.
Take a look at your company’s revenue. If you are a growing company, the monthly revenue should be a smooth figure growing up and to the right.
If your numbers are “lumpy”, as in the subscription revenue varies significantly from month to month, your accounting operates on a cash-basis.
There are three ways to handle revenue recognition:
- Your billing platform maintains an automatic revenue recognition schedule
- A third-party software connects to your billing platform to maintain the schedule
- Your accountant maintains the schedule manually
As you grow beyond 50 customers, options #1 and #2 start to pull ahead of the manual option. Manually maintaining a revenue recognition schedule introduces an element of human error, and it’s slower than the automated route. That said, no matter how good of a revenue recognition tool you have, it’s likely you’ll need an accountant to review and adjust the numbers at the end of each month.*
Of our example billing platforms, Chargebee and Chargify offer turnkey revenue recognition as a paid add-on, while Stripe’s offering is still in private beta. That said, Stripe will integrate with a third-party revenue recognition solution such as ChartMogul or Profitwell.
Interestingly, none of the platforms offer a native accounting integration for handling the end-to-end revenue recognition process. This is not a deal-breaker. The month-end process is trivial for a good accountant, as they will look at the recognized revenue number provided by your billing tool / integration and adjust your books through a journal entry.
*We are not accountants so this isn’t a sales pitch to get one. Having an accountant is not going to make your business succeed, but not having one can make it fail. Or at least it will make it a lot harder to get accurate visibility into your financial performance.
Bonus - Recognized Revenue per Product
If your company sells both enterprise and self-service plans, chances are you’ll want to separate your revenue by product. Your metrics will look very different for a $100,000/year product vs $19/month one. In contrast, splitting the revenue between $19/mo and $29/mo pricing plans is going to be a lot less useful, since you’ll be selling to each customer the same way and have no noticeable difference in the costs of servicing them. Chargebee, Chargify and Stripe through ChartMogul Revenue Recognition integration will all let you split the revenue by product.
2. Accounts Receivable
A growing company shouldn’t be tight on cash, right? And yet this is something that happens surprisingly often. One common reason for this is poorly managed Accounts Receivable (A/R). This could mean that there is an increasing number of customers who haven’t paid their invoices on time, and that the company lacks a process to review these balances on a regular basis.
Here’s what you need to consider:
- Is the A/R noticed by the right people at the right time?
- Can the billing software take something off of your plate?
Is the A/R noticed by the right people at the right time?
If your billing tool and accounting software don’t talk to each other, your monthly financials won’t reflect the Accounts Receivable. This means that when you review your monthly performance you only see the revenue you should be making, but you have no idea whether the cash actually came in.
Without visibility to your A/R, it would take a while from your company leadership to notice if there’s a looming cash crunch. If you bill exclusively through credit cards or automatically cut off your non-paying customers’ access, this is less of an issue.
Integrations to the rescue
Many platforms integrate with accounting software. But not all integrations are created equal. It’s not enough for an integration to send a sales receipt to your accounting software for every paid invoice. Instead, whenever a new invoice is created, the A/R balance should also increase in your accounting system. When a payment comes in, it should decrease. If it looks like an invoice has been already created but the customer is never going to pay, then the sync should allocate this to Bad Debt.
Of our three example platforms, Chargebee and Chargify offer native accounting integrations, meaning that they have built these integrations in-house. There’s a fair amount of setup, but the payoff quickly becomes evident once your monthly process is running with fairly little manual effort. Again, keep in mind things sometimes fall out of sync, which is why you need an accountant to review things at the end of the month. If you’re an early stage company, get an outsourced accountant, and at around $5MM ARR, get a full-time controller.
Stripe Billing does not provide a native accounting sync with either QuickBooks or Xero, so you’ll need to rely on third-party accounting integrations. I’ve seen customers do things like have Zapier add invoices to QuickBooks.This approach can be somewhat brittle, but it works if you ask your billing person to do a quick review of the sync on a monthly basis. The worst thing you can do is to set up something you think is working, forget it for 12 months, and realize you need to re-do all of it. What's more, you will also need to get rid of all the noise this third-party integration has created for you.
Keep in mind that if an accounting integration isn’t an option - say your accounting software just doesn’t do integrations - there’s always the option to bring over the A/R manually.
What can the billing software take off of your plate?
Most billing providers can collect payments automatically through credit cards or mark things paid “offline.” Far fewer platforms can auto-reconcile an incoming wire transfer or cash checks.
Unlike automatic credit card payments or ACH ‘pulls’, wires or checks used to need someone to manually mark them as paid. What makes this process difficult is that incoming wires have relatively little information associated with them. It’s mildly annoying to figure out whose payment is it, but it’s a pain to figure out which specific invoice is in question—especially if there are multiple invoices of the same size. While the checks usually have more information, handling them is slow and should be left for the people living in the 1990s.
Luckily, a good SaaS billing platform can utilize unique virtual bank accounts for each one of your customers. In other words, if a customer sends you money, you’ll know immediately who paid, how much, and what was it for. This is all in one go, without your accountant having to lift a finger. In fact, this is an area where you should avoid working with an accountant, given that an automatic process is faster, cheaper and more accurate.
Stripe Billing is the only platform I know of that natively offers automatic wire/ACH reconciliation for SaaS billing. They even do it for physical checks if your volume is large enough. Chargebee can do the reconciliation as well, but only if you use Stripe as the merchant gateway.
Bonus: Integrations with the rest of your software stack
If your sales team enters deal details in Salesforce already, you may want to avoid having your billing person to re-do this on the billing platform. Calculating sales tax (or VAT) automatically becomes increasingly important as you expand, for which you want to make sure your billing & tax solutions talk to each other.
3. MRR Metrics
After making sure your billing platform can handle your accounting & reporting requirements, you should find out what else you need to do with the data.
From SaaS forecasting and reporting perspective, getting visibility to your Monthly Recurring Revenue (MRR) is crucial. That said, it’s not enough you can see the metrics, but you need to ensure you can access them through integrations or exports.
Visibility into Monthly Recurring Revenue
You’ll want to break out your MRR into its components to better understand what’s happening under the hood. In other words, you need to be able to see your new customers, expansion, contraction and churn both in terms of MRR and customer count. This breakdown enables you to better answer questions like: Did we miss our monthly target because we signed up fewer new customers than expected? Or was it because the churn was higher than anticipated?
Virtually all SaaS billing platforms provide enough metrics for you to work with - with the exception of Stripe that needs you to rely on third-party services to calculate your numbers. (They are working on this though. Stripe dashboard is getting significant improvements every couple of months.)
Metric Exports & Integrations
It’s not enough you can see these MRR metrics, but you also need to access them for external analysis such as forecasting your revenue.
Off-the-shelf, Stripe Billing is the weaker choice on this front. While their dashboard displays a few solid MRR metrics (and even includes a cohort analysis), there’s absolutely no way to export this data or retrieve it through their API.
The good news is that there are many third-party integrations such as Baremetrics and ChartMogul that calculate your MRR breakdown and other metrics. We’ve also seen customers use the Stripe API or Stripe Sigma to calculate the metrics by themselves. This is a good option if you rely on additional custom logic such as metered billing, and you feel that 3rd party tools don’t accurately capture all the intricacies of your recurring revenue.
In contrast, Chargebee and Chargify calculate plenty of metrics for you including the MRR breakdown, and lets you export most of it through their analytics suites. For more advanced metrics, Chargebee provides a paid add-on. Like Stripe, Chargebee or Chargify don’t make their metrics available through an API—but there are several 3rd party integrations that calculate MRR metrics from raw data.
Price Comparison: Comparing the Cost of Manual Work
The key in comparing the costs of different solutions is to not only compare the cash cost needed to pay for a new billing tool, but also the time and monetary savings the tool should provide. You’ll also need to account for the cost of third-party systems and the manual work required by your accountant.
You’ll need to keep in mind there’s a cost associated with using development time to build and maintain the billing platform integrations, be it internal or with your operations stack.
Duct-taping together the best of class systems vs one-stop shop
If you don’t need many of the turnkey features targeted for business users, you can put together a suite of best in class products by relying Stripe being at the center of it all. Just be prepared to subscribe to more third-party solutions as you continue to grow, given Stripe’s limited in-house options for metrics and native integrations.
Stripe alone tends to be cheaper than the other two options with 0.5% recurring charges fee in their Starter tier. Your first million dollars will be free, and legacy customers get the Starter Tier free forever. The Scale tier charges a 0.8% fee in comparison, but you’ll only benefit from this if you need specific features such as a Netsuite or Salesforce integration. For a $2MM ARR company, the Starter would cost you $833 per month. If you were to add, say, ChartMogul, you’d be adding $500/mo for their metrics, and between 0.2-0.7% of your revenue for their revenue recognition tool (based on the quotes we have seen). Unless you have free Stripe, you’d be looking at a $1,700 - $2,500 monthly investment. This won’t even include other tools you might need such as Zapier.
Chargebee and Chargify both offer revenue recognition, A/R accounting integration and MRR metrics straight out of the box. At the time of this writing, Chargebee would cost you $1,424/month for a $2MM ARR company, whereas Chargify would charge (no pun intended) $2,166/month. Both prices keep going up at a rate of 0.9-1.0% of your MRR.
From what we have seen, the bigger you get, the better chances you will have in negotiating a lower rate for your business. In my opinion, revenue recognition is much more of a commodity than providing business metrics, and once Stripe comes out of the private beta it is likely to bring the prices down for everyone.
Note that this comparison is only for the cost of the billing platform itself. You’d still pay for the credit card fees starting from 2.9% + $0.30 per transaction regardless of the platform you choose.
Choosing a SaaS billing platform is not a black and white exercise where one option is better than the other. You’ll need to decide what requirements are critical for your team, and how the platform integrates with the rest of your operations. The initial planning may sound like a lot of work, but it is going to be well worth it once you are up and running with a billing system that works with your product, accounting and forecasting.
If you realize that your product requires significant custom logic on your end, it’s probably a better idea to go with Stripe. What Stripe lacks in turnkey features for business users, they make up with their API and integrations. Stripe API is the gold standard with many developers, and there are plenty of online resources to learn from others with similar challenges. Just keep in mind that the cost of involving your in-house engineering can be significant.
In contrast, if your billing needs are straightforward and you want to get something off-the-shelf, Chargebee and Chargify are the more natural options. The features are designed for business users, and you rarely need to involve developers in making changes to your products or to experiment with pricing.
Note that we don’t participate in affiliate programs. We realized that we can’t objectively recommend the best tool for the job if we are thinking about the financial impact of the recommendation, and decided to stop doing any affiliate programs unless the full discount goes directly to the client.