Overview

Product video
This AMI sets up a simple Kill Bill installation with Kaui, our administrative user interface for Customer Support agents and Finance teams. The AMI can be used in Single-Tier or Multi-Tier scenarios. For more information, go to docs.killbill.io.
ABOUT KILL BILL: Kill Bill includes all of the basic features a business needs to run subscription billing processes and payment processes.
The real power of Kill Bill lies in building your own business logic on top of it to create a customized billing and payments solution. You can write plugins to modify Kill Bill's behavior and integrate with third-party vendors. Kill Bill already has many open-source plugins. Use them as examples for creating your own or modify them for your own use.
Even if you need to create your own customizations, Kill Bill is still a highly affordable solution.
Software Versions:
Kill Bill: 0.24.18
Kaui: 4.0.16
KPM: 0.12.4
Highlights
- Kill Bill is highly modularized. Disable functionality you don't need or replace it with one of your own systems. Use plug-ins to implement specific logic, like accepting alternate payments from e-currencies like Bitcoin and alt-coins.
- Test various billing models to see which is most profitable for your business. Run trials and easily accommodate even the briefest promotional discounts.
- Your customers' data belongs to you. Experience real-time access to basic or custom reports. Kill Bill can scale as your business grows. Start with Kill Bill in one business area and later migrate it to other areas.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Dimension | Cost/hour |
|---|---|
t2.medium Recommended | $0.05 |
t2.large | $0.05 |
t2.xlarge | $0.05 |
Vendor refund policy
We do not currently support refunds, but you can cancel at any time.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Upgraded KB to 0.24.18
Additional details
Usage instructions
Kill Bill is running on port 8443 and Kaui, the administrative user interface, on port 443 (default credentials: admin/{EC2 Instance ID}).
- Launch the product via 1-click.
- When configuring network settings, select a public subnet with Auto-assign public IP enabled.
- Access the application via your web browser at https://Public_DNS.
- Login using the username admin and {EC2 Instance ID} as the password.
Resources
Vendor resources
Support
Vendor support
Onboarding help, SLA-backed support, and professional services available by contacting us at
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.
Similar products
Customer reviews
Real billing engine — you must own the dates
I also love the plugin system. Payment, invoice, and entitlement hooks let me extend Kill Bill without forking the core. The one I use most: an invoice plugin that changes line items at generation time, so we can apply discounts when the invoice is built — not in a messy after-the-fact patch.
On my team I was the person who actually learned how Kill Bill behaves (catalog versions, charged-through dates, requestedDate, blocking states) and then introduced most of those billing features — auto-renewal, add-ons, postpaid, block/unblock, runtime invoice discounts — because nobody else here knew the engine that well. I can read the source, prove a charge or a date, then post a full repro on killbilling-users. People there (and on GitHub) answer with code and issues, not marketing. I am still learning it. That is the point: it is deep enough that there is always more to understand. We are not paying Kill Bill a SaaS bill. The price is engineering time: I had to own catalog, requestedDate, overdue, and plugins before the invoices were trustworthy. Stripe Billing would have been more features on day one and a real invoice to Stripe every month. I would rather pay that time and keep the BSS than rent a prettier stack and lose the source. For what we actually pay (hosting + my hours, not a license), the value is there — if someone on the team will sit with the dates. If you only count the sticker price and ignore that learning, it looks “free” and then it is not.
Block / unblock and auto-renewal dates will not do the job if you treat requestedDate as optional decoration. Auto-renew end is an exact invoice-generation day, not a random calendar pick. If that date is wrong, the block lands on the next day: you get proration you did not want, or the next invoice still charges, or entitlement stops a day late. The docs are correct that a block with no requestedDate is immediate. You can pass the date you want — but it has to be the real generation / period-end date, not “today” and not “whatever.” I use a few different API call shapes (endpoint + params) so the effective day matches that invoice date. I learned that from clock tests and invoices, not from the happy-path doc. A new engineer who blocks blindly will ship a date that looks fine and a bill that is wrong.
Overdue can skip WARNING. After a customer pays some invoices but not all, the earliest unpaid date shifts. The next check can fire late and jump CLEAR → BLOCKED, so no grace email. We posted a repro; the team tracked it (GitHub #2297). Some balance / invoice-count jumps they treat as expected if your XML gaps are too small. Turning overdue on late, when old invoices already blow every threshold, can go straight to cancellation unless you plan tags or temporary day values.
New add-ons vs existing subscriptions: catalog V2 adds an add-on, old subs still fail with 1019. Plan-change-to-same-plan unlocks it but can rebill on MONTHLY mid-cycle (#2261). Painful when the catalog evolves.
IN_ARREAR cancel after an upgrade used to invoice recurring immediately vs end-of-term depending on whether a cycle had already closed. I hit that on 0.22.33, then walked the releases and found the change around 0.24.5 (a condition in the invoicing path). After we moved to that line, the cancel timing matched what we expected. Daily unblock is still a design limit: a few minutes before midnight can bill a full previous day, because Kill Bill does not invoice below a day — you design the clock, the engine will not split the day for you.
I am still learning the behaviour. That time is the real cost. Buyers should budget an engineer who will sit with the dates — not only an integration ticket.
Kill Bill is the BSS. Our app stays product and UX; Kill Bill generates invoices, tracks charged-through dates, applies catalog rules, and drives blocking states. I introduced most of those capabilities here by learning how the engine behaves and wiring the right calls and plugins.
Two concrete wins. Discounts: an invoice plugin lets us change line items at generation time, not after the invoice already exists. Auto-renewal / block: the end date is an exact invoice-generation day. If requestedDate is wrong, the block lands on the next day and you get proration or an extra charge. If you omit the date, it is immediate — as the docs say. I use a few API shapes so the effective day matches that generation date.
The benefit is we can ship those features at all, prove them from invoices and source, and extend via plugins without forking the core. I am still learning. The engine is worth it if someone on the team will own the dates.
Performant and Extensible Open-Source Billing with an Active Developer Community
The apis and the catalog and subscription management system are very robust. This provides us the necessary tools to layer on our own subscription and account management UX. The plugin apis provided the means for critical extensions for our niche market. The API documentation is also quite good. For any endpoint, all the necessary user information can be found there.