An open API service indexing awesome lists of open source software.

https://github.com/billabear/billabear

Subscription Management and Billing System
https://github.com/billabear/billabear

billing billing-system generator invoice-generator parthenon receipt rest-api saas stripe stripe-billing subscription subscription-management

Last synced: about 2 months ago
JSON representation

Subscription Management and Billing System

Awesome Lists containing this project

README

          




BillaBear - The Best Self-Hostable Billing System

BillaBear is a standalone Subscription Management and Billing System that integrates with Stripe. It provides a REST API
allowing you to integrate it easily.

You can get the managed hosted version at https://www.billabear.com. The managed cloud hosted version gets updates on a regular basis while the open version on GitHub gets a new feature release every 6 months.

## Documentation

* [User Documentation](https://docs.billabear.com/user/) - How to use BillaBear as a user
* [Technical Documentation](https://docs.billabear.com/technical/) - Technical information for hosting and integration
* [Swagger](https://swagger.billabear.com) - The REST API docs for integration

## Features

More features than you can shake a stick at, including:

* Tax System (Thresholds, Multiple Tax Types, Country Tax Rules, State Tax Rules)
* Workflow system
* Plan Management
* Subscription Management
* Slack Integration
* Invoice System
* Hosted Checkout
* Paylinks
* Quotes
* Mass Subscription Change System
* Reports (Subscription, Lifetime Value, Churn)
* Email Service Provider (EMSP) API integration (SendGrid, Mailgun, PostMark)
* Email Template Management - Either via EMSP templates or twig templates
* Document Management (Invoice, PDF, Quote) - Via Twig templates
* Multiple Brand support
* Multiple Currency Support
* Multiple Language Support
* Subscription Add-ons
* Webhooks
* Dunning
* Vouchers
* Credit notes
* And more

### Workflows

Workflows are a powerful feature of BillaBear. They allow you to integrate important tasks that have to be done during a process that, if it fails, you want to be able to retry later and resume with the rest of the process. This avoids manual developer intervention which can be time-consuming and frustrating.

For example, you might want a microservice to be called on a subscription creation to allow for the creation of resources.

Another example of where workflows are useful is when you're issuing refunds and for some reason the connection/API request fails. You can retry the refund later without requiring manual intervention.

### Templates

BillaBear uses Twig templates for the generation of documents such as invoices, quotes, and emails. This allows you to customise the look and feel of these documents to match your brands. It also allows for using the email service provider's templates. Both of these allow other departments other than tech to make minor changes - no more minor tickets to change the wording in an invoice or an email.

### Tax Management

BillaBear has a powerful tax system that allows you to set up tax rules for countries and states. This allows you to configure your tax system to match the legal requirements for your specific product type.

EU Tax laws such as reverse charge and one-stop-shop are supported. And there is an integration with VAT Sense so you can automate the syncing of tax rules for the EU and countries other than US and Canada.

The system is aware of thresholds which are configurable per country and state. This allows you to set up the system to charge tax only when you reach a certain threshold. And you can configure it to receive notifications when a threshold is reached.

### Pricing

BillaBear allows you to have the pricing you want.

Pricing Examples:

* A fixed price for a plan.
* Sell packages, say 200,000 euros of revenue. Which can also be sold in usage so they are billed based on their previous month's usage.
* Have tier volume pricing where the price per unit decreases as the volume increases.
* Have stair pricing (called tier graduated) where the price per unit decreases as the volume increases but only after a certain volume.
* Have tiered volume with a fixed fee and per unit fee.
* Seats pricing where you charge per seat.

### Customer Facing Frontend

BillaBear allows you to use Stripe.JS by providing you a token that is registered with Stripe to be used with the customer. This allows you all the normal flexibility that Stripe.JS allows for.

### Integrations

* DocRaptor - PDF Generation
* SendGrid - Email Service Provider
* Mailgun - Email Service Provider
* PostMark - Email Service Provider
* Stripe - Payment Provider
* VAT Sense - Tax Rules
* Slack - Notifications
* Xero - Accounting
* EasyBill - Accounting
* Mailchimp - Marketing
* EmailOctopus - Marketing
* FreshDesk - Help Desk
* Zendesk - Help Desk

### Feature Comparison Matrix

| Feature | BillaBear | Lago Open Source | Lago Cloud | Stripe | ChargeBee | Recurly | KillBill |
|-----------------------------------|-----------|------------------|------------|--------|-----------|---------|----------|
| Usage Billing | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Tiered Pricing | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Stair Pricing | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Package Pricing | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| One-off Charges | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| **Payment Providers** | | | | | | | |
| Stripe | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Adyen | No | Yes | Yes | Yes | Yes | Yes | Yes |
| PayPal | No | No | No | Yes | Yes | Yes | No |
| GoCardless | No | Yes | Yes | No | No | No | No |
| Invoice | Yes | Yes | Yes | Yes | Yes | Yes | No |
| **Finance** | | | | | | | |
| Global Tax Support | Yes | No | No | Yes | Yes | Yes | No |
| Xero Integration | Yes | No | Yes | Yes | Yes | Yes | No |
| EasyBill Integration | Yes | No | No | No | No | No | No |
| FreshBooks Integration | No | No | Yes | Yes | Yes | Yes | No |
| Netsuite Integration | No | No | Yes | Yes | Yes | Yes | No |
| Pipe Integration | No | No | No | No | No | Yes | No |
| Quickbooks Integration | No | No | Yes | Yes | Yes | Yes | No |
| Sage Intacct Integration | No | No | No | No | Yes | No | No |
| VatSense Integration | Yes | No | No | No | No | No | No |
| Anrok Integration | No | No | Yes | No | No | No | No |
| **Help Desk** | | | | | | | |
| FreshDesk | Yes | No | No | Yes | Yes | No | No |
| Grove | No | No | No | Yes | Yes | No | No |
| Zendesk | Yes | No | Yes | Yes | Yes | Yes | No |
| **Communications** | | | | | | | |
| Transactional Emails | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Full Control Over Email Templates | Yes | No | No | No | No | No | No |
| Full Control Over PDF Templates | Yes | No | No | No | No | No | No |
| Choose PDF generation engine | Yes | No | No | No | No | No | No |
| Mailgun Integration | Yes | No | No | No | No | No | No |
| SendGrid Integration | Yes | No | No | No | No | No | No |
| Postmark Integration | Yes | No | No | No | No | No | No |
| SMS Notifications | No | No | No | No | Yes | No | No |
| Slack Integration | Yes | No | No | Yes | Yes | No | No |
| Zapier Integration | No | Yes | Yes | Yes | Yes | Yes | No |
| EmailOctopus Integration | Yes | No | No | No | No | No | No |
| Mailchimp Integration | Yes | No | No | Yes | Yes | Yes | No |
| **User Self-Service** | | | | | | | |
| Hosted Checkout Page | Yes | No | Yes | Yes | Yes | Yes | No |
| Hosted Paylink Page | Yes | No | Yes | Yes | Yes | Yes | No |
| Hosted Details Management | No | No | Yes | Yes | Yes | Yes | No |
| **Technical** | | | | | | | |
| Self-Hostable | Yes | Yes | No | No | No | No | Yes |
| Extendable | Yes | Yes | No | No | No | No | Yes |
| Slack Support | Yes | Yes | Yes | No | No | No | No |

## Benefits for Developers

* The ability to extend the platform to meet your needs.
* A workflow system that allows you to add webhook events into your workflow to ensure that crucial events are handled.
* The ability to define your own templates for emails and PDFs via Twig.
* The ability for others to make easy changes to templates instead of it being a developer task.
* The ability to define your own tax rules and rates which can make tax changes less painful.
* The ability to choose which PDF generation engine you want to use.
* And a lot more

## How to Integrate

To start integrating with BillaBear you can use the REST API.

* [Swagger Docs](https://swagger.billabear.com)
* [Technical Documentation For API](https://docs.billabear.com/technical/)
* [User Documentation](https://docs.billabear.com/user/)

### SDKs

* [PHP](https://github.com/billabear/php-sdk)
* [Java](https://github.com/billabear/java-sdk)
* [Go](https://github.com/billabear/go-sdk)
* [JavaScript](https://github.com/billabear/javascript-sdk)
* [Ruby](https://github.com/billabear/ruby-sdk)
* [Python](https://github.com/billabear/python-sdk)

## Getting Started

To get started using this repository you can get up and running using Docker and Docker Compose.

### Host on Hostinger

[![Deploy on Hostinger](https://assets.hostinger.com/vps/deploy.svg)](https://www.hostinger.com/vps/docker-hosting?compose_url=https://github.com/billabear/billabear/)

### Host on DigitalOcean

You can deploy to DigitalOcean with just a click of the button below and it'll deploy using the DigitalOcean App Platform.

[![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/billabear/billabear/tree/main)

### Docker Compose

BillaBear is deployable using docker-compose using the docker-compose.yaml found in https://github.com/billabear/hosting-docker-compose.

```
git clone git@github.com:billabear/hosting-docker-compose.git
cd hosting-docker-compose
docker compose up -d
```

### Managed Cloud Hosting

Currently, there is no managed cloud hosting option if you're interested in it or want to offer managed cloud hosting then reach out to sales@billabear.com

### Development

```
docker compose up -d
```

Then go to http://localhost and follow the install instructions.

## FAQ

### Is BillaBear Open Source?

It's available free to use under the Fair Core License that adds restrictions on competing for 2 years.

There are arguments about whether these licences are open source or not, but generally for most of us what matters is: can we use it for free and can we modify it? And this is true for BillaBear.

### Is it possible to have a customer that pays by invoice separately?

Yes! BillaBear allows you to define how a customer pays, which includes by invoice.

### Is it possible to disable customer creation for countries?

Yes! You're able to do this.

### Is it possible to only collect tax for a country once we've met the threshold?

Yes! BillaBear is aware of tax thresholds for countries and states.

You can also declare that you're collecting tax for a country even though you've not met the threshold.

### How much control over templates will I have?

Complete control. With the ability to define the templates using the Twig templating language, you're able to update them with ease. You're also able to use email service provider's templating systems.

### Can I have a trial that once it ends doesn't automatically convert to a proper subscription?

Yes! With BillaBear you can have an automatically converted trial or a standalone trial.

### Will I be able to see what subscriptions a payment is for?

Yes! BillaBear links payments to customers and the subscriptions they are for, as well as linking refunds from the payments.

### Will I be able to handle tax rates changing?

Yes! BillaBear allows you to define the start and end date of a tax rule. This means you can define when a tax rate ends and the next one takes over. So if a tax rate does change, you're able to create the rule ahead of time and have it applied correctly automatically when the time comes.

### Can I do usage-based billing?

Yes.