“We’ll just migrate later.”

How to Choose
a Billing Software System

It’s tempting to choose a billing system quickly with the thought of “migrating later.” This is often a mistake.
It’s difficult, risky, and costly to migrate a billing system, which contains lots of active data: ongoing subscriptions, unpaid invoices… even credit cards. Migrating this data to a different system might take months or years of engineering work.

Business Criteria

Integration points

Determine how well and how easily your existing internal and external systems will integrate with the billing system.
Consider both internal and external system integration points.
Analytics and business intelligence
Marketing (promotions, discounts, partnerships)
User services/support
Product (access control)
Financial reporting
Sales (subscription creation, visibility into customer usage and trends)
Tax calculations
Ecommerce site
Fraud detection and prevention
Mobile apps
Payment processing and gateways

Core operations & supported business models

Create user stories to cover the subscription lifecycle changes that you need. Examples include creation, cancellation, upgrades, downgrades, pause, resume, etc.
Additionally, make sure you have user stories for addons (additional purchases to be added to a subscription), usage billing, or discounts if your business requires them.

Fraud detection & prevention

Most payment processors have their own fraud detection and prevention methods, as do SaaS billing systems. However, fraud detection and prevention is complex.
An off-the-shelf billing software system may not fit your needs without some tweaking. Examine the fraud/attack risks particular to your business or industry and make sure a vendor’s fraud solution will work for you.

User experience

Document at a high level where and how users interact with the system. This can include but isn’t limited to:
Customers using the product
Finance staff
Customers using the account management system
Business owners
Customers using a mobile app
Customer Service Representatives
Engineers and integrators

Globalization capabilities

Globalization is more than just support for multi-currency. It includes:
Multi-language: Provide templates in different languages for all user-facing documents, including emails.
Internationalization of currency and date/time representations: Use correct decimal and thousands separators and present day, month, and years correctly.
Internationalization of currency rounding: Some locations have local rules that define different rounding conventions in different jurisdictions. The rounding, unlike other aspects of internationalization, isn’t just a feature of the presentation layer. It must be built into the billing system. If you were to round the items on an invoice after it is created, they may not add up to the original total.
Time zone handling: Without a proper time zone logic, the system can potentially present customers with a bill on the wrong day.

Retention management (dunning) & chargebacks

All too often, recurring payments will fail. Managing dunning correctly can make a significant difference to the customer churn rate. Also, the system should automatically handle chargebacks and recurring payment cancellations.

Pricing model flexibility

If your business often experiments with addons, discounts, extended trials, buy-one-get-one-half price subscriptions, and so forth, can the billing system easily handle these?

Data & business analytics

How will you have access to or visibility into your data? Some SaaS providers have limited API libraries or are not set up to allow you to extract your own data.
Most systems provide basic metrics (trials converted, overall MRR, etc.). You should also be able to segment this information in various ways (by product, plan, billing term, country of origin, currency, payment type etc.).

Financial reporting

Make sure the Finance team can generate the reports they need when they need them. They’ll need auditable financial reports of at least recognized revenue (for example, ASC 606 standard) and overdue payment aging. Another important need is to reconcile charges against cash in the bank.

Subscription bundling & hierarchical accounts

In large enterprises, users are rarely responsible for paying the bill, so individual user subscriptions need to be rolled up into a department account.
Additionally, it’s sometimes necessary to use subscription bundling to associate a collection of subscriptions with a particular instance of a product. Besides supporting these features, the system needs to be able to present the bill to the customer clearly and correctly.

Entitlement management

An entitlement is a service or product type that a user account or product instance is allowed to access. The entitlement management system is the source of truth as to which services a user (or product instance) has access.
Entitlement and billing are very closely associated. Though they can require separate business logic, they need to be constantly in sync.
Building entitlement management on top of a third-party SaaS billing system that wasn’t designed it can be a painful undertaking. Make sure you understand how a single view of the data between the two is achieved.

Technical Criteria


If you’re looking at a billing system from a SaaS vendor, they should:
Restrict access to their API to calls from particular IP addresses.
Use credentials to log in and connect using HTTPS.
Carry out regular vulnerability scans and penetration tests using third party systems.
In addition, if they deal with credit cards, they should have the appropriate level of PCI DSS compliance.


As you scale, can the billing system meet increasing usage demands? Some multi-tenant SaaS systems can expose you to load issues caused by other clients.
On one hand, this is good because your peak load can be handled by a big pool of server resources shared across all customers. However, there’s the potential for failures caused by the peak loads of other users.
Make sure you know the figures for the overall load that a billing system provider can handle and how close to that maximum they are.


If you can’t access your billing system because it’s out of action, your business can suffer. Furthermore, if you rely on the billing system for entitlement data, customers might not be able to access your product. And system that’s down can’t collect credit card data, so new customers won’t be able to sign up.
Check what level of uptime the software provider commits to. Ask them how long and how often offline maintenance occurs.

API capabilities vs. UI capabilities

When reviewing product features and capabilities, make sure you understand which capabilities are available in the system interface versus the API. Sometimes, features can be offered in one and not the other, allowing a vendor to claim a capability that doesn’t meet your requirements.

Deployment options

Understand what options you have for running a billing system:
Multi-tenant SaaS: All the issues of maintenance, hosting, and updates are handled by the provider
Running billing system in-house: You have more control over security and availability, plus better access to your data.
Standalone SaaS: This is similar to multi-tenant SaaS, except you get your own instance.
Virtual appliance: Runs in-house, but it’s packaged to make it easier for a third-party to maintain.

Developer experience

The quality of the developer experience can significantly impact the speed of integration and the cost of maintaining that integration over time. Some important criteria include:
Quality and availability of testing environments
Quality of the APIs and API documentation
Client libraries in multiple programming languages

Other Criteria

System maturity & long‑term viability

You don’t want to be forced into a change because your billing software vendor went bust.
Look for a billing and management system tried and tested in the real world, with a reputation for stability as well as long-term plans for improvements and support.


Billing system providers usually price their products per month, by the number of users per month, or per transaction. Some might charge additional fees for installation, support, and access to the API or extra features.
Make sure you have a very good understanding of how much a billing system will cost before you sign up.

Client references

Testimonials are a great source of additional information. Online software review sites let users honestly provide feedback. Pay special attention to feedback about integration and the quality of technical support.

Quality of support

In the early stages of integration, technical support is critical. Understand the level of service level agreements (SLAs) that you’ll get.
Talk to support staff to see how much they really know about the billing system. Find out if you’ll get to talk with engineers to solve the hard problems.

Quality of integration

Integrations are hard because of unknown factors that pop-up. Also, it’s difficult to predict accurate time frames.
Look for a support team that has done billing integrations before. Review the proposed integration schedule and make sure you understand how it can be achieved in the time frame they predict.

Vendor lock-in

Once locked in to a billing system software provider, it’s difficult to switch. If you’re required to sign a contract with a billing systems provider, make sure you understand how long the contract lasts and under what terms you can leave the contract.
You’ll be limited to their road map in updating your billing processes, experimenting with pricing models, or using a different third-party service provider.

Standards & legal compliance

Check if the provider has the necessary compliance in areas like PCI SS (credit card storage), SSAE (financial reporting), or TRUSTe certification (storage of Personally Identifiable Information, or PII).
Kill Bill logo app

Start Exploring
Kill Bill Features

Make sure you check out Kill Bill Support Options, Community, documentation guide, and live demo.