We have been using KillBill for many years for our SaaS product.<p>While it is very nice to own our data, we have had a huge lot of issues with it too.<p>Beware that this is an "industrial" tool, meaning that it is very complex, written in Java, with a lot of quirks and sharp edges. The core team also seems to mainly work on some closed-source version of it, for some not-very-clear-what big corp(s). They let you know sometimes that there exists a more feature-full closed-source version when asking questions in the support google group or on github issues, but it's not very transparent.<p>If you are a startup with a small team or small budget and no real Java development skills, you'll probably want to be careful in considering to use it: many custom things you'll want to do will require contracting with one of their partners because it's too complicated to do yourself, and support will be limited, and debugging issues will be hugely complicated if you are not used to that tech stack...<p>Just this week, we have had a major issue with it: after doing an `apt upgrade`, docker was updated and restarted. It restarted KillBill's docker images fine but KillBill itself restarted only the Stripe plugin, not the Avatax one, for an unknown reason. So the tool happily generated invoices and payments for a few hours without any taxes (!), until we noticed and started the plugin manually from the interface. This is the kind of issues we regularly have to deal with, and while the tool does a good job most of the time, it is mindblowingly annoying sometimes.