10,239 stars · ELASTIC LICENSE 2.0 (SPDX Elastic-2.0) — NOT an OSI open-source licence. Read from /blob/v5-stable/LICENSE; LICENSE.md and LICENSE.txt both 404, so there is exactly one licence file. The text is plain unmodified ELv2 and carries NO COPYRIGHT LINE AT ALL, naming only 'the licensor'. composer.json agrees with 'license': 'Elastic License' · v5.13.44 (2026-10-07), read from /releases/latest as a yearless '07 Oct 00:37' and settled by the ungh releases/latest record (2026-10-07T00:37:11Z) — the morning of the edition. VERSION.txt on v5-stable reads 5.13.43, one patch behind the tag · Track this in Scout
Quotes, invoices, payments, projects and time tracking in one self-hosted application, under a licence that forbids running it as a service for other people.
▶Repo detailsthe review · specs · pros & cons · install
What it is
Invoice Ninja is a Laravel application — Laravel is a widely used PHP framework — covering the whole billing cycle from quote to paid invoice, with a customer-facing portal, recurring invoices and more than forty payment providers. It has been developed since 2013.
What it is good for. Someone invoicing a handful of clients every month who has reached the limits of a spreadsheet. The customer portal is the part that is hard to build and easy to underrate: a client can see the invoice, read the line items and pay, without an email thread. Code landed on 7 October 2026, the morning of this edition, and so did the newest release.
- Complete. Quotes, invoices, credits, recurring billing, projects, timers, expenses and a client portal, in one application.
- Very active. The release v5.13.44 is dated 7 October 2026, the day of this edition.
- Mature payment handling, with more than forty providers already written and tested.
- It is not open source, and the licence is the main fact about it. The LICENSE file is the Elastic License 2.0. Its own words: you "may not provide the software to third parties as a hosted or managed service", you "may not move, change, disable, or circumvent the license key functionality in the software", and you may not "alter, remove, or obscure any licensing, copyright, or other notices". Using it to bill your own customers is fine. Running it for other businesses as a service is not, and neither is working around the licence key that gates the paid features. The licence names no copyright holder at all, because the Elastic License has no such field, and the project's own repository description calls it "source-available".
- The seeded install ships the password
password. The README's demo accounts aresmall@example.com/passwordfor the administrator anduser@example.com/passwordfor the client portal. An install left as seeded is open with a guessable password. - It publishes no memory, disk or processor figure anywhere. The real install asks for PHP 8.2 with sixteen extensions, MySQL 5.7 or MariaDB 10.3 or newer, a web server with HTTPS, a scheduled job every minute and a background worker — and its own documents pin
php8.2packages while the code declares support up to PHP 8.5, so the two disagree. The official advice is to install from the release archive; the Git route is marked as not recommended for real use.
- InvoicePlane/InvoicePlane
The only genuinely open-source answer of the three: MIT, so no hosted-service restriction at all, but much smaller, with no time tracking and no project module.
Track this in Scout - akaunting/akaunting
Invoicing inside a full double-entry accounting product on the same PHP stack, but its own README says it ships under the Business Source License.
Track this in Scout
kimai/kimaiTime tracking first with invoicing second, which is the mirror image of this balance, and AGPL-3.0.
Track this in Scout
sudo apt install php8.2-bcmath php8.2-gmp php8.2-gd php8.2-mbstring \
php8.2-xml php8.2-curl php8.2-zip php8.2-mysql php8.2-fpm \
php8.2-imagick php8.2-soap php8.2-common php8.2-intl