When people search for the best billing software for small business they mean three different things: sending a one-off bill, charging clients on a schedule, or charging by usage. Free self-hosted options exist for all three, but they are very different tools. Decide which one you are before you compare.
Which kind of billing do you do?
| Billing model | What it looks like | What you need |
|---|---|---|
| One-off | A consultant bills per job or project | Plain invoicing, see our invoicing guide |
| Recurring | A hosting or retainer client pays monthly | Scheduled invoices, reminders, payment links |
| Usage-based | A software product charges per API call or seat | A billing engine that meters usage |
How the free tools line up
- Lago (Usage-based and subscription billing): Open source billing engine for metering usage, pricing plans and generating invoices. Built for software products and needs developer integration. 10,686 stars · AGPL-3.0 · repo updated Oct 2026
- Kill Bill (Subscription billing and payments): A long-established Java platform for subscription billing and payments. Powerful and flexible, but heavier to run. 5,797 stars · Apache-2.0 · repo updated Oct 2026
- FOSSBilling (Hosting and service providers): A PHP billing and client management system, commonly used by web hosting and service providers that sell recurring services. 1,716 stars · Apache-2.0 · repo updated Oct 2026
- Meteroid (Pricing and billing infrastructure): A newer Rust-based project for subscription and usage-based pricing and billing. Young, so test it thoroughly. 1,333 stars · AGPL-3.0 · repo updated Oct 2026
- Dolibarr ERP CRM (Simple recurring invoices): Handles customer invoices and can repeat them on a schedule. A practical fit for small businesses with a few recurring clients. 7,732 stars · GPL-3.0 · repo updated Oct 2026
- ERPNext (Subscriptions inside an ERP): Includes subscription and invoicing features within a full ERP, useful if billing must connect to accounting and stock. 40,232 stars · GPL-3.0 · repo updated Oct 2026
Why billing engines need a developer
Tools like Lago, Kill Bill and Meteroid expose APIs and expect your product to send them events. That is powerful, but it is not a point-and-click app. If nobody on your team writes code, use a simple invoicing app or the recurring invoice feature of an ERP such as Dolibarr or ERPNext.
Questions to ask before choosing
- Which payment gateways does it support in your country?
- How does it handle tax on invoices to customers abroad?
- Can customers update their card or download invoices themselves?
- What happens when a payment fails? Look for retry and reminder rules.
- Can you export every invoice, since your accountant will need them?
Careful with the label “open source”
BillaBear markets itself as open source, but its repository uses the Fair Core License, which is not an open source license. Always read the LICENSE file.
Tool-by-tool notes
Lago
Usage-based and subscription billing. Open source billing engine for metering usage, pricing plans and generating invoices. Built for software products and needs developer integration.
10,686 stars · AGPL-3.0 · repo updated Oct 2026
GitHub · Website
Kill Bill
Subscription billing and payments. A long-established Java platform for subscription billing and payments. Powerful and flexible, but heavier to run.
5,797 stars · Apache-2.0 · repo updated Oct 2026
GitHub · Website
FOSSBilling
Hosting and service providers. A PHP billing and client management system, commonly used by web hosting and service providers that sell recurring services.
1,716 stars · Apache-2.0 · repo updated Oct 2026
GitHub · Website
Meteroid
Pricing and billing infrastructure. A newer Rust-based project for subscription and usage-based pricing and billing. Young, so test it thoroughly.
1,333 stars · AGPL-3.0 · repo updated Oct 2026
GitHub · Website
Dolibarr ERP CRM
Simple recurring invoices. Handles customer invoices and can repeat them on a schedule. A practical fit for small businesses with a few recurring clients.
7,732 stars · GPL-3.0 · repo updated Oct 2026
Our guide to Dolibarr ERP CRM · GitHub · Website
ERPNext
Subscriptions inside an ERP. Includes subscription and invoicing features within a full ERP, useful if billing must connect to accounting and stock.
40,232 stars · GPL-3.0 · repo updated Oct 2026
Our guide to ERPNext · GitHub · Website
Example: a small web agency with retainers
An illustrative example, not a real company.
An agency has twelve clients on monthly retainers and bills extra work by the hour. Retainers should be invoiced automatically on the first of the month, while extra work is invoiced manually.
They use the recurring invoice feature of an ERP they already run, set reminders three and ten days after the due date, and connect a payment gateway so clients can pay online. The extra hours come from their time tracker and are added as a separate invoice.
They did not need a billing engine. If they later launch a product with per-seat pricing, that is when a tool like Lago becomes relevant.
Mistakes that cost small businesses time
- Choosing a developer-oriented billing engine when nobody can code.
- Forgetting that the payment processor is separate from the invoicing software.
- Not planning for failed payments and retries.
- Ignoring tax on invoices to customers abroad.
- Using different invoice numbering systems in two tools.
Self-hosted vs paid: the honest trade-off
Paid billing products win on ready-made payment retry logic, customer portals and tax handling. A self-hosted engine gives you control and no per-invoice fee, but you build and maintain more. If recurring revenue is your whole business, a mistake in billing is expensive, so test carefully either way.
Billing software handles money and personal data, so use HTTPS, restrict admin access and back up daily. Our security checklist applies here too. A server from a provider such as Hostinger works for the lighter PHP tools, while engines like Lago are easier on a VPS with Docker.
Need a server to host it?
Self-hosting a CRM needs a server. PHP and MySQL apps can often run on ordinary web hosting, while Docker, Node, Python or Java apps usually need a VPS. Check each project's requirements first. Hostinger offers both shared web hosting and VPS plans.
Affiliate disclosure: this is an affiliate link. If you buy through it we may earn a commission at no extra cost to you. CRMs are listed independently of any hosting partner. Learn more.