Self-hosted invoicing in 2026: revisit Invoice Ninja, Akaunting and SolidInvoice before you send another invoice from a spreadsheet

Most small teams start invoicing the same way. Someone copies last month’s invoice in a spreadsheet, changes the number and the date, exports a PDF and emails it. It works until the day two people pick the same invoice number, a client asks for a statement of all unpaid bills, or the auditor wants to know who changed an amount after it was sent.

At that point the team looks for a tool. The hosted options are easy, but an invoicing system holds client names, addresses, tax numbers, bank details and the full money trail of the business. That is a good reason to revisit self-hosting before you sign up for another subscription. This post looks at three self-hosted options that are alive in 2026, Invoice Ninja, Akaunting and SolidInvoice, and at one popular project, Crater, that teaches a lesson about checking project health first.

What an invoicing tool actually has to do

Before comparing products, it helps to unlearn the idea that invoicing is “just a PDF template”. A working system has to handle:

  • Numbering that never repeats and never skips without a reason, because tax rules expect a clean series.
  • Clients and items stored once, so you do not retype addresses and rates.
  • Taxes per line or per invoice, with more than one rate when needed.
  • Payments recorded against invoices, including part payments, so the outstanding balance is always correct.
  • Recurring invoices for retainers and subscriptions.
  • Reminders for overdue bills, sent on a schedule.
  • Reports such as receivables ageing and tax summaries for your accountant.
  • An audit trail, so you can see who changed what after an invoice was issued.

Keep this list next to you while you evaluate. A tool with a beautiful dashboard that cannot do part payments or clean numbering will create more manual work, not less.

Invoice Ninja

History and licence

Invoice Ninja is one of the oldest open invoicing projects. The current line is version 5, a rewrite built on Laravel (PHP) with a separate Flutter based client for web, desktop and mobile. Releases come out frequently; the v5.13 series was still receiving releases in November 2026.

The code is published under the Elastic License 2.0. That is a source-available licence, not an OSI approved open source licence. The project’s own licence page explains its reading of it: using Invoice Ninja to bill your own clients is free, and you may modify the code, but you must keep the Invoice Ninja attribution unless you buy a white-label licence. If you want to offer invoicing to other businesses as a hosted service, you need a commercial agreement with Invoice Ninja LLC. For most companies invoicing their own customers, this is fine. For agencies or SaaS builders, read the licence page carefully first.

Strengths

  • Very complete feature set: quotes, invoices, recurring invoices, credits, expenses, projects, tasks with time tracking, and a client portal where customers can view and pay.
  • Many payment gateway integrations, so clients can pay online from the invoice.
  • Multi-company support in one installation.
  • Active development, with a large user base and documentation.

Operations

  • Stack: PHP, a MySQL or MariaDB database, a queue worker and a scheduler (cron) for recurring invoices and reminders. Official Docker setups are available.
  • PDF generation needs a headless browser or the bundled PDF engine, which is the part that most often breaks after upgrades. Test PDF output after every update.
  • Because it is busy and fast moving, pin a version, read release notes and upgrade on a planned day, not automatically.

Akaunting

History and licence

Akaunting is a Laravel based accounting application from Akaunting Inc. It goes beyond invoicing into double-entry style bookkeeping: bank accounts, transfers, bills from vendors, and reports such as profit and loss. Many features are sold as paid apps from its marketplace.

The licence matters a lot here. Akaunting is released under the Business Source License 1.1. Its additional use grant allows production use only within limits: not more than two users, or one company, or one thousand invoices, and no rebranding and no offering it as an accounting service to third parties. Each version converts to GPLv3 four years after it is published. So Akaunting is free for a freelancer or a very small business, but a growing team will hit the limit and need a commercial plan. Do this arithmetic before you migrate, not after.

Strengths

  • Invoicing and basic accounting in one place, which suits a business that does not yet use separate accounting software.
  • Multi-currency, taxes, vendor bills and simple financial reports.
  • A clean, simple interface that non-technical staff pick up quickly.

Operations

  • Stack: PHP with MySQL, MariaDB, PostgreSQL or SQLite, plus a cron job for scheduled tasks.
  • Marketplace apps are a dependency you should track. If you rely on a paid app, note its version and licence status alongside the core version.
  • If your accountant already uses Tally or another package, decide clearly which system is the book of record. Two sources of truth for the same ledger is the classic mistake.

SolidInvoice

History and licence

SolidInvoice is a smaller project built on Symfony (PHP) and released under the MIT licence, which makes it the only one of the three under a permissive OSI approved licence. It has a much smaller community than the other two, but it is actively maintained.

Strengths

  • Focused scope: clients, quotes, invoices, recurring invoices, payments and a client view.
  • Permissive licence with no user or invoice limits and no restriction on hosting it for others.
  • Fewer moving parts, which makes it easier to read and change the code yourself.

Weaknesses

  • Fewer integrations and fewer reports than Invoice Ninja.
  • Smaller community, so you will find fewer answers to unusual questions. Plan to read the code and the issue tracker.

Operations

  • Stack: PHP with a MySQL or MariaDB database (check the current documentation for supported databases), plus a scheduled task for recurring invoices.
  • Docker images are published, which makes a trial easy.

A cautionary note: Crater

Crater was a popular Laravel and Vue based invoicing app with thousands of GitHub stars. Its last release, 6.0.6, came out in March 2022. In 2023 a community issue in its repository relayed a statement from the maintainer that it was no longer in active development and would at most receive critical security fixes, and commenters pointed to a published security advisory. Many blog lists still recommend it.

The lesson is simple and worth practising every time: stars are not health. Before adopting any tool that stores financial data, check the date of the last release, the commit activity, and open security advisories. For an invoicing system you will run for years, this check matters more than any feature.

How to choose

Pick Invoice Ninja if

  • You bill your own clients and want the most complete feature set, online payments and a client portal.
  • You are comfortable with the Elastic License 2.0 terms and with keeping the attribution.

Pick Akaunting if

  • You are a freelancer or a very small business within the BSL usage limits, or you are willing to pay for a plan.
  • You want simple bookkeeping and invoicing in one tool.

Pick SolidInvoice if

  • A permissive licence is a hard requirement, for example because you want to host it for other companies or embed it in a product.
  • Your needs are focused on invoices and payments, and you can live with fewer integrations.

Stay with your accounting package if

  • Your accountant already runs everything in a full accounting system that can raise invoices. A separate invoicing tool then only adds a sync problem.

Notes for Indian teams

None of these tools is built specifically for Indian tax rules, so test the following yourself during a trial:

  • GST fields. Check that you can show GSTIN for both parties, HSN or SAC codes per line, and split tax as CGST plus SGST or as IGST depending on the place of supply. Custom fields and tax settings can usually cover this, but verify the PDF layout.
  • Invoice numbering. GST rules expect a consecutive series that is unique for a financial year. Check whether the tool can reset or prefix numbers by financial year (April to March), not calendar year.
  • E-invoicing. Businesses above the turnover threshold notified by the government must generate e-invoices through the Invoice Registration Portal and print the IRN and QR code. These self-hosted tools do not do this out of the box. Check the current threshold with your accountant, and if it applies to you, plan for a GST Suvidha Provider or a custom integration.
  • Personal data. Client contacts are personal data under the Digital Personal Data Protection Act, 2023. Keep the server access limited, encrypt backups, and decide how long you keep data for clients who have left.

Running it safely

Whichever tool you pick, the operations checklist is the same:

  1. Back up the database and the uploaded files (logos, attachments, generated PDFs) every day, and test a restore into a separate instance at least once a quarter.
  2. Put it behind HTTPS and, if only staff use it, behind a VPN or single sign-on. Keep the client portal as the only public part, if you use one.
  3. Turn on two-factor login for every admin account.
  4. Pin versions and upgrade deliberately. After every upgrade, generate a test invoice PDF and send a test email.
  5. Check outgoing email. Reminders that land in spam are worse than no reminders. Use a proper SMTP relay with SPF, DKIM and DMARC set for your domain.
  6. Lock issued invoices. Decide as a rule that a sent invoice is never edited; corrections go through a credit note. Check that the tool’s audit log records changes.

A small way to start

You do not need to migrate everything at once. A practical path:

  1. Shortlist one tool based on the licence section above.
  2. Run it in Docker on a test machine for two weeks.
  3. Recreate last month’s real invoices in it, including one part payment, one recurring invoice and one credit note.
  4. Show the PDFs and the receivables report to your accountant.
  5. Only then move live invoicing, starting with a fresh number series for the new financial period.

No hands-on drill was run for this post. The comparison is based on each project’s published documentation and licence text as of November 2026; feature lists change, so confirm details against the current documentation before you decide.

Summary

Revisiting invoicing is less about features and more about three questions: does the licence fit how you will use it, is the project alive, and can you back it up and restore it? Invoice Ninja is the most complete, under a source-available licence. Akaunting combines invoicing with bookkeeping, within BSL usage limits. SolidInvoice is the smallest and the only one under a permissive licence. Answer those three questions honestly, test with last month’s real invoices, and the spreadsheet can finally retire.

comments powered by Disqus

Releted Posts

Self-hosted scheduling and booking in 2026: revisit Cal.com, Easy!Appointments and Rallly before you share another Calendly link

Booking a meeting looks like a small thing. You share a link, the other person picks a slot, and an invite lands in both calendars.

Read more

Self-hosted RSS and feed readers in 2026: revisit FreshRSS, Miniflux and Tiny Tiny RSS before you follow another feed through an algorithm

Most engineers follow a lot of sources: release notes of the databases they run, security advisories, vendor status pages, a few good engineering blogs and maybe a newsletter or two.

Read more

Self-hosted bookmarks and read-later in 2026: revisit Linkwarden, Karakeep and Wallabag before you save another link to Pocket

Every technical team collects links. A design document refers to a vendor page. A support engineer saves the forum thread that finally fixed a customer issue.

Read more