📈 GH Trending Explorer 🎲 Surprise me

← all repos

invoiceninja / invoiceninja

git clone https://github.com/invoiceninja/invoiceninja.git v5.13.49 · 5d ago 🔥 on GitHub Trending today

Source-available invoicing app for invoices, quotes, projects, expenses, and time tracking, built on Laravel and offered hosted or self-hosted.

Why you might care

Suits freelancers and small businesses that want invoicing, payments, and time tracking in one app. Self-hosting gives full control over data, with the hosted SaaS option as an alternative; a paid white-label license removes branding from client-facing pages.

Categories

Alternatives

FreshBooksZoho InvoiceCraterInvoicePlaneQuickBooks
+1
stars, 24h · #13,849
+~16
stars, 7 days · #8,911
+224
stars, 30 days · #3,547
10k
★ total · +0% this week
2.8k
forks · 237 open issues

Star history (as recorded here)

2026-10-20 · 10,305 ★ 2026-10-23 · 10,312 ★
LanguagePHP
License—
Created2013-11-26 (12y ago)
Last push1d ago
Watchers208
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-23 — #7 monthly in php · +223 ★
  • 2026-10-22 — #6 monthly in php · +224 ★
  • 2026-10-21 — #3 monthly in php · +223 ★
  • 2026-10-20 — #3 monthly in php · +225 ★

GitHub topics

Links

README excerpt
# Invoice Ninja 5
Invoice Ninja Version 5 is here! We've taken the best parts of version 4 and added the most requested features to create an invoicing application like no other. Check the Invoice Ninja YouTube Channel to get up to speed, or try the Demo now.
**Choose your setup**
- Hosted: Our hosted version is a Software as a Service (SaaS) solution. You're up and running in under 5 minutes, with no need to worry about hosting or server infrastructure.
- Self-Hosted: For those who prefer to manage their own hosting and server infrastructure. This version gives you full control and flexibility.
All Pro and Enterprise features from the hosted app are included in the source-available code. We offer a $40 per year white-label license to remove the Invoice Ninja branding from client-facing parts of the app.
#### Get social with us
* Support Forum
* Slack
* Discord
* Instagram
#### Documentation
* Invoice Ninja - API
* Invoice Ninja - Developer Guide
* Invoice Ninja - User Guide
* Invoice Ninja - Self-Hosted Installation Guide
## Installation Options and Clients
### Mobile Apps
* iPhone
* Android
* F-Droid
### Desktop Apps
* macOS
* Windows
* Linux - Snap
* Linux - Flatpak
### Self-Hosted Server Installation 
**Note:** The self-hosted options do support the desktop and mobile apps.
* Server or VM
* Docker File
* Cloudron
* Softaculous
* Elestio
* YunoHost
### Recommended Providers
* Stripe
* Postmark
### SDKs available for easier API consumption
* Go SDK
## [Advanced] Quick Hosting Setup
In addition to the official Invoice Ninja - Self-Hosted Installation Guide we have a few commands for you.
 [code] 
**Note** replace v5.11.53 with the latest tag version, you will also want to ensure that when performing updates, you use the latest tag version rather than a particular branch, ie v5-develop. This will ensure that you are not pulling in work in progress code.
Please Note: 
Your APP_KEY in the .env file is used to encrypt data, if you lose this you will not be able to run the application.
Run if you want to load sample data, remember to configure .env
 [code] 
To run the web server
 [code] 
Navigate to (replace localhost with the appropriate domain)
 [code] 
## Developers Guide
In addition to the official Invoice Ninja - Developer Guide we've got your back with some insights.
### App Design
The API and client portal have been developed using Laravel if you wish to contribute to this project familiarity with Laravel is essential.
When inspecting functionality of the API, the best place to start would be in the routes/api.php file which describes all of the availabe API endpoints. The controller methods then describe all the entry points into each domain of the application, ie InvoiceController / QuoteController
The average API request follows this path into the application.
* Middleware processes the request initially inspecting the domain being requested + provides the authentication layer.
* The request then passes into a Form Request (Type hinted in t

Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.