The Self-Hosted Invoicing Tool I Run for My Business
Most small businesses pay a monthly subscription to send invoices, and for most that's the right call. But for those of us with a stronger preference for owning our own infrastructure, there's a quietly excellent open-source alternative: Invoice Ninja.
Most small businesses pay a monthly subscription to send invoices. For most that's the right call — it's simple, it works, and the ten or fifteen dollars a month is rounding error against the rest of running a business. But for those of us with a slightly stronger preference for owning our own infrastructure, there's a quietly excellent alternative: Invoice Ninja.
It's the invoicing software I use myself. Here's why.
What Invoice Ninja is
Invoice Ninja is an open-source invoicing platform that runs essentially anywhere — on your own server, on a cheap VPS, in a Docker container, or hosted by Invoice Ninja themselves if you'd rather not deal with the infrastructure side.
The features cover what most small businesses need:
- Invoices, quotes, and credit notes with custom branding
- Recurring invoices for retainer or subscription work
- Time tracking that converts directly into billable line items
- Expense management with photo capture and supplier tracking
- Payment processing through Stripe, GoCardless, BPAY, and a long list of others
- Client portal where customers can see their invoice history, pay online, and approve quotes
- Project tracking linking time, expenses, and invoices to a specific job
It's not as polished as something like Xero, but it covers more than 90% of what a small services business actually needs.
Why I run it myself
A few reasons it earned a place in my own setup:
- No monthly fee. Self-hosted, the cost is whatever you pay for the small server you run it on. For most independent operators that's a few dollars a month at most — and you can run it on a server you already have for other things.
- Your data is yours. Customer details, invoice history, payment records — all on infrastructure you control. If Invoice Ninja the company changes direction or shuts down tomorrow, my data isn't going anywhere.
- It's open-source. I can see exactly what it does, modify what I need to, and never worry about the licensing terms changing under me.
- It runs in Docker. Drops straight into the same workflow I use for everything else (covered in my piece on containerised hosting). Backups, recovery, moving to a new server — all handled the same way as my other tools.
Who it's for (and isn't)
Invoice Ninja makes sense for:
- Solo operators and small services businesses who'd rather host their own tools
- People already comfortable running a server (or willing to pay someone like me to set it up once)
- Businesses that want full control of their financial data
It's a poor fit for:
- Anyone who doesn't want to deal with self-hosting (use Xero, MYOB, Rounded, or the hosted version of Invoice Ninja itself — not free, but takes the server admin off your plate)
- Anyone who needs payroll, inventory, or full general-ledger accounting — this is invoicing, not accounting
- Anyone whose accountant is already standardised on a specific platform
What it looks like in practice
I run my own Invoice Ninja in Docker on a small Australian server. Quotes get drafted, invoices generated from time tracking, recurring monthly retainers fire automatically, customers pay online via the client portal. End of financial year, I export the lot to CSV for my accountant.
Total ongoing cost: about $5 a month for the server. No SaaS subscription, no per-user fees, no data living on someone else's cloud.
For a freelancer or solo operator who's reasonably technical (or has me on speed-dial), it's a quietly excellent setup.
The bottom line
For most businesses, paying for Xero or MYOB is the right answer. But if you'd rather own the software, control the data, and stop the monthly subscription drip, Invoice Ninja is the clearest open-source alternative. It's what I use, and I've never regretted it.
Get in touch if you'd like a hand setting up Invoice Ninja on your own infrastructure, or wiring it up to your website's enquiry form so quotes and invoices flow through automatically.
Get in touch
Have a project in mind?
Get in touch and let's talk about what your business needs online.
Let's talk about your project.
Ready to get started? I'd love to hear about your business and what you're looking to achieve online.