Billing infrastructure

Self-hosted or managed billing: who runs it and where your data lives

With managed billing, a vendor runs the software and stores your billing data. With self-hosted billing, you run it in your own cloud account or data center. This guide compares the two so you can pick the one that suits your team.

Last updated: November 2026

Short answer

Should billing be self-hosted or managed?

Choose managed billing if you want a vendor to run the system and keep it up, and your security team is comfortable with billing data in the vendor's systems. Choose self-hosted billing if the data has to stay in your own database, or if you want to review and change the code. In return, your team runs it: hosting, the database, backups, monitoring and upgrades become your work.

What each model means

Vendor-managed billing (SaaS)

The vendor runs the billing software on its own infrastructure. You use it through a web interface and an API. Your customers, subscriptions, invoices and payment records are stored in the vendor's databases. The vendor takes care of hosting, upgrades, backups and uptime. Pricing varies by vendor: some charge a share of billed revenue, others charge per transaction, per user or a fixed fee.

Self-hosted billing

You install the billing software in your own cloud account or data center and run it like any other service your team owns. The billing data sits in a database you control. You decide when to upgrade and who can reach the system. The software may be open source or commercial. Some products combine an open source core with paid add-ons.

A mix of the two

Some products split the work. The billing engine and its data run in your infrastructure, and the vendor hosts supporting services such as sign-in, a management console or software downloads. If you look at a product like this, ask which data each hosted service stores.

How the two models compare

Each row is a question your team will ask sooner or later. The answers describe the usual case. Vendors differ, so ask each one to fill in this table for its own product.

QuestionVendor-managed SaaSSelf-hosted
Where the data lives and who owns it In the vendor's databases, in the regions the vendor offers. Your contract sets the rules for ownership, export and deletion. In your database, in the account and region you choose. You control every copy, including the backups.
Who operates and upgrades it The vendor. Upgrades arrive on the vendor's schedule, and you adapt your integration when the API changes. Your team. You deploy, monitor, back up, patch and upgrade the system, and you pick the timing.
Security review scope You review the vendor's controls, including its subprocessors and staff access to your data. You cannot inspect its systems directly. You review the software and your own deployment. If the code is open source, your team can read it. Access to the network and the database stays under your own controls.
Cost model A subscription that includes hosting and operations. It may grow with billed revenue, transaction count or users. A license fee, or none for open source. On top of that you pay for hosting and for the people who run the system.
Customization Configuration and the extension points the vendor exposes. Changes to core behavior depend on the vendor's roadmap. Configuration, plugins and, with open source, the code itself. You maintain any changes you make.
Exit and lock-in You export the data and rebuild your integrations elsewhere. Check the export format and what happens to your data after the contract ends. The data is already in your database. Dropping a commercial add-on can still take work, so check what keeps running without it.
Team you need People who configure plans and prices and integrate the API. Nobody on your side runs servers. The same people, plus engineers who can run a production service and its relational database, including on-call when something breaks.

When managed billing is the better choice

  • You have no team to run a production service and its database, and you do not plan to hire one.
  • Your billing is fairly standard, for example a few plans billed monthly or yearly and paid by card.
  • You need to start billing soon and cannot spend time on infrastructure first.
  • Your security and legal teams accept billing data stored by a vendor, in the regions it offers.
  • You prefer to pay a vendor to be on call for billing.

If most of these describe you, start with a managed service. You can revisit the choice later, when your volume, your data rules or your pricing change.

When self-hosted billing fits

  • Billing data has to stay in your own database, account or region, because of a contract, a regulation or your own policy.
  • Your security team wants to read the code and control who can reach the system and its data.
  • Your pricing needs changes to how the billing engine behaves, beyond what configuration allows.
  • Billing is central to your product and you want to decide when it is upgraded.
  • You already run production services and databases, so one more is a known cost.
  • You want software pricing that does not grow with what you bill. Compare a fixed fee with a percentage of revenue.

Budget for the people and the infrastructure from the start, and decide who handles a production incident at night.

Questions to ask before you choose

  1. Where is our billing data stored, and in which region? Which hosted services see any of it?
  2. Who on the vendor's side can access our production data, and how is that access logged?
  3. How do we export all of our data, and in what format?
  4. What happens to our data, and to the running system, when the contract ends?
  5. Who applies security patches, and how do we learn that one is available?
  6. Can we delay or skip an upgrade?
  7. What can we change ourselves: configuration, plugins or the source code?
  8. What does the price depend on, and what does it leave out, such as hosting, operations and payment fees?
  9. If we self-host, which skills does our team need, and who helps us when production breaks?

Where Kill Bill and Aviate fit

Kill Bill is self-hosted billing and payments software. It is open source under the Apache 2.0 license and has been in production since 2010. You run it in your own cloud account or data center, and the billing data stays in your database. It comes with community help only: there is no support and no SLA.

Aviate is a distinct commercial product built on Kill Bill, and it follows the mixed model described above. Kill Bill and the Aviate plugin run in your infrastructure. The Aviate Control Plane, sign-in and software distribution are hosted by Kill Bill and hold no billing data. Aviate includes Premium support, with an answer within 2 business days for critical production issues. If you stop Aviate at the end of your term, Kill Bill keeps running under Apache 2.0.

To evaluate Aviate, you can use a free sandbox that runs in Kill Bill's cloud. For the price, see the pricing page.

FAQs

Self-hosted or managed billing: FAQ

What is self-hosted billing software?
Billing software that you install and run in your own cloud account or data center. Your team operates it, and the billing data stays in a database you control.
What is the difference between self-hosted and managed billing?
The difference is who runs the software and where the data lives. With managed billing, the vendor runs the software and stores your billing data. With self-hosted billing, you run it and keep the data in your own database.
Is self-hosted billing cheaper than managed billing?
It depends on your volume and your team. Self-hosted software may have a lower license fee, or none for open source, but you pay for hosting, operations and the people who run it. Add those costs before you compare. If a managed service charges a share of billed revenue, its price grows as you bill more.
What does a team need to self-host a billing system?
Engineers who can run a production service and its relational database. That covers deployment, monitoring, backups, security patches and upgrades. You also need people who own the catalog, the invoices and the integrations, but that is true with a managed service too.
When is managed billing the better choice?
When you have no team to run production services, your billing is fairly standard, and your security team accepts billing data stored by a vendor. In that case a managed service is usually the shorter path.
Where does billing data live with Kill Bill and Aviate?
In your database. Kill Bill and the Aviate plugin run in your infrastructure, in your cloud account or data center. The Aviate Control Plane, sign-in and software distribution are hosted by Kill Bill and hold no billing data. The evaluation sandbox is the exception: it runs in Kill Bill's cloud.
Does Kill Bill open source come with support?
No. Kill Bill is free under the Apache 2.0 license, with community help only: no support and no SLA. Aviate, a distinct commercial product built on Kill Bill, includes Premium support, with an answer within 2 business days for critical production issues.
What happens if we stop using Aviate?
If you stop Aviate at the end of your term, Kill Bill keeps running under the Apache 2.0 license, and your billing data stays in your database.

Run billing in your own infrastructure

Try Aviate in the free sandbox, or tell us how you bill today and we will tell you whether self-hosting fits.