Invoice Ninja is a self-hostable invoicing, billing, and payments platform built on Laravel, positioned as an open source alternative to FreshBooks and QuickBooks. The self-hosted version includes all Pro and Enterprise features found in the hosted SaaS product; a $40 per year license is available to remove Invoice Ninja branding from the client-facing portal for those who want a white-labeled deployment. Version 5 rebuilt the application around the most requested features from the earlier v4 line.
routes/api.php and processed through Form Requests for validation and authorization.InvoiceWasCreated) that trigger non-blocking listeners for follow-up tasks such as notifications or inventory adjustments.php artisan ninja:create-test-data command loads demo invoices, clients, and users for evaluating the app before connecting real data.Self-hosting options include a direct server or VM install, an official Docker image, and one-click support for Cloudron, Softaculous, Elestio, and YunoHost. A quick setup clones a tagged release (for example v5.11.53), copies .env.example to .env, and runs composer i -o --no-dev, or composer i -o for a developer install that includes PHPUnit for running the test suite. The APP_KEY in .env encrypts application data, so losing it makes existing encrypted data unrecoverable.
Both the API and client portal are built with Laravel (PHP). Request handling flows through middleware for authentication, a Form Request for validation and authorization, a repository layer for persistence, a service layer for business logic, and Fractal to serialize the API response. Contributors are encouraged to discuss larger changes on Slack before opening a pull request against the main repository, and adding tests for new functionality is called out as improving the odds a pull request gets accepted.
Support channels include a dedicated Support Forum, Slack, Discord, and Instagram for product updates, alongside separate API and Developer Guide documentation sites for anyone building against the REST API directly. A companion project, Event Schedule, is maintained by the same team for scheduling recurring appointments.
Invoice Ninja is released under the Elastic License.