Open source / Invoicing & billing

Invoice Ninja

Invoicing and billing for small businesses and freelancers: quotes, invoices, recurring billing and a client payment portal. Source-available under ELv2 rather than OSI open source.

Pricing: Self-hosting is free with every feature unlocked and unlimited clients and users. Removing “Created by Invoice Ninja” from client PDFs and the portal is $40 a year per install. Hosted plans are free up to 5 clients, then $14 a month for Ninja Pro or from $18 a month for Enterprise.

Does it fit your team?

Consider it if
You are a small team or freelancer who wants quotes, invoices, recurring billing and a client payment portal on your own server, with every feature unlocked and no per-user fee.
Look elsewhere if
You plan to sell it as a hosted invoicing service (ELv2 does not allow it), or you cannot have any Invoice Ninja branding at all: the $40-a-year white-label license covers only what clients see, and the staff admin keeps the branding.
Can you use it commercially?
Yes for your own business; no competing SaaS hosting

Licensed under Elastic License 2.0 (ELv2, source-available rather than OSI open source). Running and modifying it for your own business is free, and the official license FAQ explicitly allows web hosts and IT providers to install isolated instances for clients. You cannot offer it as a managed SaaS, bundle it into a commercial SaaS product, circumvent license-key checks, or strip Invoice Ninja branding without a white-label license.

LicenseLicense FAQ

Is it still maintained?
Active

Last push on 2026-11-02. The repository is not archived.

Commits

How hard is it to deploy?
Moderate

Official Dockerfiles and a Docker Compose stack (app, Nginx and MySQL / MariaDB) are maintained alongside the INmanage CLI installer. Bare-metal setup needs PHP 8.2, MySQL 5.7+ or MariaDB 10.3+, Nginx or Apache, and a per-minute Laravel cron job (schedule:run) for recurring invoices and reminders. Watch two install traps: it must sit at the root of a domain or subdomain (subdirectories like /ninja are unsupported), and git clone lacks the prebuilt React admin UI — use the release tarball or Docker image instead.

Self-host installationOfficial Dockerfiles

What does it cost?
All features free when self-hosted; $40 a year to remove client branding

Self-hosting unlocks all Pro and Enterprise features for $0, with unlimited clients, invoices and team users. The one paid add-on is a $40-a-year White-Label license per self-hosted install (raised from $30 on January 1, 2026) to remove “Created by Invoice Ninja” from client-facing PDFs and payment portals. Official hosted plans are free up to 5 clients, $14 a month ($140 a year) for 1-user Ninja Pro with unlimited clients, and $18 to $300 a month ($180 to $3,000 a year) for multi-user Enterprise tiers.

READMEWhite-labeling docsHosted pricingJan 2026 pricing update

What to watch out for
Even with a white-label key, the admin app keeps Invoice Ninja branding

The official white-label docs note that the $40/year license only removes branding on client-facing PDFs, client emails and the payment portal — the staff admin interface and admin notification emails still carry Invoice Ninja branding by design. Also note that v5 is a ground-up rewrite and cannot be upgraded in place from v4.x.

White-labeling docsSelf-host installation

Last checked: .

Your industry is not here?

Tell me the industry and what you need solved. I will look at it next.

Message @dceniac on X