Customize Recurring Billing and Invoicing Software with Plugins

by | Mar 2, 2021 | Billing Systems, Payments, Plugins, System Integration

Plugins to extend payments, subscription management, recurring billing and invoicing

Kill Bill open-source software has all the basic features needed for recurring billing and invoicing as well as subscription management and payments. However, Kill Bill is so extensible that you can customize it with virtually any functionality you need—for example, connecting to a payment gateway, branding your invoices, or converting currencies. 

You can achieve this with plugins, which is isolated code that runs on top of the Kill Bill platform. No need to modify the existing base code!

We deliberately designed Kill Bill this way. Back when the concept of Kill Bill was still just a glimmer, our combined research and experience brought us to this realization: 

You can never anticipate with a single system all the business logic requirements of all the different subscription systems that people would want to build.

*Paraphrased from Martin Westhead’s talk on Groupon using Kill Bill.

We didn’t want to build a recurring billing and payment platform for a single business. We wanted one that ALL businesses could use. 

Plugins provide the recurring billing, invoicing, and payment customizations that work for your business, but without the hefty bespoke price tag.

Three Ways to Extend Payments, Billing and Invoicing

Plugins provide the business logic to fulfill your billing and invoicing needs. You can use Kill Bill plugins in a variety of ways:

  • Extend the Kill Bill subsystem—Payment plugins are a good example of such plugins; they extend the core payment functionality by connecting to third-party systems like Stripe or Avalara Avatax.
  • Add business logic—Two good examples are payment control plugins and invoice plugins. They allow you to intercept payment (or invoicing) requests so as to modify, abort, or change the state of the payment/invoice. For example, during payment processing, you could implement a fraud detection service or retry logic.
  • Bypass Kill Bill subsystems—The best example of this is a catalog plugin that could work with a catalog implementation you already have in place (more on that below). 

Different Types of Plugins for Payments, Billing and Invoicing

We’ve seen many plugins used with Kill Bill for payments, recurring billing and invoicing. They usually fall into one of these categories: 

  • Invoicing control plugin—Modify a newly generated invoice with branding, add-ons, item adjustments, taxes, etc.
  • Notification plugin—Listen to Kill Bill events and take appropriate action. (A good example of this is the email notification plugin, mentioned below.)
  • Payment control plugin—Modify the payment flow. It can be invoked before or after payment. For example, this type of plugin could be used for fraud detection or credit card transaction retry attempts.
  • Payment plugin—Integrate Kill Bill with a specific payment gateway (e.g., PayPal, Braintree).

Another type of plugin that is different from the others listed above is the catalog plugin. It can be used to bypass the Kill Bill catalog subsystem and instead use a third-party or in-house catalog system. 

Lastly, imagine a plugin to manage other plugins. But don’t worry… we’ve already written this!  It’s called KPM (Kill Bill Package Manager). You can use this utility plugin through Kaui, the user interface. It lets you install and uninstall plugins, as well as start, stop, and restart them at runtime.

Current Open-Source Plugins for Kill Bill

On GitHub we have several vendor-specific plugins as well as some KB-specific plugins (all open source). We mentioned Stripe and Avalara Avatax above; other examples are Adyen and Vertex.  

The KB-specific plugins on GitHub include the following: 

  • Email notification plugin—Listens to specific system bus events and notifies customers through emails.
  • Analytics plugin—Adds business analytics and reporting capabilities to Kill Bill.
  • Catalog plugin—This is a test plugin that serves as a starting point to develop a specific catalog plugin.

Very soon we’ll announce the availability of a new, open-source payment plugin for a well-known payment gateway!

Help with Writing Plugins 

Kill Bill plugins have full power, so you need to design and test them carefully. Everyone learns in different ways, so we’ll just list below a few places to get started: 

  • We recommend cloning existing plugins to get started: 
    • Sample and tutorial plugins on GitHub—For both Java and Ruby, we provide Hello World plugins. We also have a sample GoCardless tutorial plugin to help with writing a payment plugin.
    • Production-ready plugins on GitHub—These include the KB-specific plugins mentioned in the last section.
  • A Java plugin library—A convenience library to help write plugins.
  • The Kill Bill Plugin Development Guide—Covers all you need to know about developing plugins for notifications, payments, payment control, invoices, and catalog use.

If you don’t have programming skills in-house or are short on time, it’s not a blocker. We have partners experienced in working with our billing and invoicing software. Just contact us for more information.

Coming Soon: Another Plugin Resource for Billing and Invoicing

One of our partners is Wovenware, and we’re gearing up for an announcement with them that will take Kill Bill plugin development up another notch. If you’re interested in hearing more about this, sign up for our newsletter or follow us on LinkedIn or Twitter

To learn more about the Kill Bill open-source billing and payments platform:

Also…if you’re looking for an enterprise-level billing system, we wrote a blog post addressing that!

Related Articles