“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.
Consider both internal and external system integration points.
Internal:
Accounting
Analytics and business intelligence
Catalogs
Email
Marketing (promotions, discounts, partnerships)
User services/support
Product (access control)
Financial reporting
Sales (subscription creation, visibility into customer usage and trends)
External:
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
Marketers
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
Security
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.
Scalability
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.
Availability
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.
Cost
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).
Start Exploring
Kill Bill Features
Make sure you check out Kill Bill Support Options, Community, documentation guide, and live demo.
Support
Work directly with the Kill Bill core team
Kill Bill Community
For technical questions, start by asking the Community
Documentation
Organized product documentation library and API Reference
Customization
Work with experts for Kill Bill customization