Open-Source Plugins to Extend Kill Bill’s Functionality

by | Jun 15, 2022 | Analytics, Billing Systems, Catalog, Payments, Plugins

a bunch of plugins

In this post, we’re going to go through our list of open-source plugins for Kill Bill and give you all the information you need to dig deep into plugins.

But first, some exciting news! 

Our software development partner, Wovenware, recently released a new open-source plugin to connect Kill Bill to Adyen, a popular and well-known payment gateway. Adyen supports a multitude of payment methods, from Amazon Pay to Zip. You can find the new plugin on GitHub here. To read the press release, go here

Wovenware also developed and released an open-source payment plugin for Braintree last year. Wovenware is our recommended partner for any Kill Bill development work, such as plugins. 

About Kill Bill Plugins: You can use our open-source plugins (or write your own plugins) that interact with Kill Bill to perform certain operations. Plugins are isolated code that runs on top of the Kill Bill platform to extend its functionality and/or communicate with third-party software (tax providers, payment gateways).

All of Our Open-Source Plugins

Now let’s address our existing plugins. This is a good time to gather them all together. They’re currently listed on our GitHub page. 

Here is a list of our currently supported plugins: 

  • Analytics & Reporting
  • Coupons/Entitlement
  • Deposit
  • Email Notifications
  • Framework/Learning
  • Payment Gateways
  • Taxes
  • Testing

Analytics & Reporting

GitHub | Readme | Documentation

Use this plugin to generate reports and view them via Kaui. The plugin listens to all events in Kill Bill and maintains a set of reporting tables in real-time for business intelligence.

Work with the canned reports or create your own custom reports with the local database. You can also create reports against external databases. 


Coupons/Entitlement

GitHub | Readme | Documentation

This is a demo as opposed to a fully functional plugin. It uses the core entitlement system to intercept subscription operations (i.e., subscription creation) so you can inject your own subscription business logic. Use cases include coupons management or price overrides. It can also use the catalog price override functionality to override the price on the fly.


Deposit

GitHub | Readme

This open-source plugin enables you to distribute a single payment against multiple invoices. A couple of use cases that come to mind include: 

  • Offline payment methods, such as wire transfers, in which finance personnel matches the details of the B2B customer’s wire (or ACH) deposit against the unpaid invoice. This is helpful for large organizations that settle in bulk several invoices with a single bank transfer.
  • Online payment methods, such as credit cards. In this situation, the B2B customer pays several unpaid invoices via a single credit card transaction. The deposit plugin can settle the unpaid invoices.

Email Notifications

GitHub | Readme | Documentation

The Email Notifications plugin listens to Kill Bill events, and when those events occur, it sends out an email. These events include: 

  • Invoice creation
  • Payment failure
  • Payment (or refund) success
  • Subscription cancellation  

Additionally, the plugin can send an email to your customer about upcoming invoices, the timing of which is adjustable. You can also configure the Email Notifications plugin to handle other types of events.


Framework/Learning

Jump in and learn how to write open-source plugins for Kill Bill!

Hello World 

GitHub | Readme | Documentation

The Hello World plugin shows how to do the following: 

  • Build an OSGI plugin using Maven
  • Listen to Kill Bill events
  • Call Kill Bill APIs from the plugin
  • Register a custom HTTP servlet

GoCardless Example

GitHub | Readme | Documentation

GoCardless enables customers to pay for products and services from their bank accounts. We call it an “example” because its operations include setting up a mandate for a first-time customer and processing payments, but it does not process credits or refunds. 


Payment Gateways

Our current open-source payment plugins are for Adyen, Braintree, Qualpay, and Stripe. For more information on payment plugins in general, see the Payment Plugin Guide

Note: The Braintree and Adyen (Checkout) open-source plugins were developed by Wovenware, our development partner


Taxes

We did not design Kill Bill to handle tax, deciding instead to defer tax logic to plugins. We have two open-source tax plugins that can communicate with third-party tax calculation vendors: Avalara Avatax and the Simple Tax plugin.

Avatax

GitHub | Readme

The Avatax plugin has two sets of APIs. One is for the full-featured Avalara AvaTax product. The other is for the Avalara TaxRates API. The TaxRates API is a free-to-use, no cost option for estimating sales tax rates. 

You can request a free AvaTax account to use the TaxRates API. (Even after the trial period ends, you can still use it.)

Simple Tax

GitHubReadme 

Developed by the Kill Bill community, you can use the Simple Tax plugin for fixed-rate taxes (for example, VAT). 


Testing

Don’t worry – we’re not going to test you on your Kill Bill knowledge! Instead, we have a couple of plugins: one to test a catalog (assuming you are using a customized one) and another one to test payments. 

Catalog Test

GitHub | Readme 

If you have decided to build your own catalog to work with Kill Bill’s subscription engine (along with the invoicing and payment logic), the open-source Catalog Test plugin is a starting point. It loads a static json catalog and serves that catalog through the CatalogPluginApi. 

Payment Test

GitHub | Readme | Documentation

You can use the Payment Test plugin to test the Kill Bill Payment plugin API by enabling certain failure modes (insufficient funds, payment gateway errors, runtime error, etc.) on a payment call. 


Learn More About Open-Source Plugins

That wraps up our list of open-source plugins for Kill Bill. If you want to learn more, the documentation is the best place to start: 

 

Related Articles