How Kill Bill Works
Last updated: October 2026
How is Kill Bill built?
- Type
- Java server you run yourself, with a REST API
- Design
- Event-driven core services on a persistent bus
- Data
- Relational database: MySQL, PostgreSQL, MariaDB
- Extensions
- Java plugins: payment, tax, invoice, catalog and more
- Scaling
- Stateless nodes behind a load balancer
- Isolation
- Multi-tenant: several businesses on one deployment
Where Kill Bill Sits in Your Stack
Think of it asthe billing engine behind your website, the way a payment terminal sits behind a shop counter.
Five Layers, From API to Database
What Happens When a Customer Subscribes
- Your appCreates a subscription
One REST API call - SubscriptionRecords it and publishes an event
Event on the bus - InvoiceComputes what is due
Invoice items - Tax pluginAdds tax lines from the tax engine
Avalara, Vertex, Kintsugi - PaymentCharges the default payment method
Payment event - Payment pluginCalls the gateway and returns the status
Stripe, Adyen, Braintree - Your systemsReceive the events they registered for
Push notifications
Invoices can also be grouped when you prefer one invoice per period for several subscriptions.
Change Behavior Without Changing the Core
Connect a payment gateway or processor.
Stripe, Adyen, Braintree, GoCardlessChange invoice items before they are saved, for example to add tax.
Avalara, Vertex, KintsugiStop a payment for fraud, or route it to another gateway.
Retries, routing, fraud checksReplace the XML catalog with your own catalog engine.
Aviate catalogAdd your own logic when a subscription is created or changed.
Coupons, price overridesProvide exchange rates for payments in another currency.
Currency conversionReact to any event: send an email, update a CRM.
Email notifications, analyticsSeveral Businesses on One Deployment
Think of it asan apartment building: shared walls and plumbing, separate keys.
Stateless Nodes, One Database
Typical production setup from the deployment guide: three Kill Bill instances and two Kaui instances are usually plenty.
Who Can Do What, and Who Did What
Each user has roles, and each role a list of permissions. Users can live in Kill Bill or in your directory.
Okta, Auth0, LDAPEvery change records who made it, when, and why, with an optional reason and comment.
Who, when, whatKill Bill keeps the history of each record, and of each event once it is processed.
History tablesKill Bill runs in your infrastructure, on your database, under your security rules.
Self-hostedWhere Aviate Fits
Kill Bill vs Aviate: what each one includes.
Frequently Asked Questions