Self-hosted invoicing app for invoices, estimates, expenses, and payments
- Stars1.7k
- Forks351
- Open Issues68
AGPL-3.0
- PHP
- Vue
- TypeScript

About InvoiceShelf
InvoiceShelf is a self-hosted web app for individuals and small businesses to create professional invoices and estimates, track expenses, and record payments. It is multi-tenant, so multiple companies and members can keep their books on infrastructure you control.
Features include recurring invoices, a customer portal, custom fields on invoices and estimates, and company member invitations with custom roles. Version 3 added decoupled system settings, proper multi-tenancy, dark mode, and a full TypeScript frontend refactor.
The app is built with Laravel and Vue 3 and installs with Docker Compose. It works with MySQL, MariaDB, PostgreSQL, or SQLite, and an in-app updater checks server requirements before proceeding. It is released under the GNU AGPL v3.
Key features
- Create invoices and estimates
- Track expenses and record payments
- Multi-tenant with multiple companies
- Recurring invoices and customer portal
- Custom fields and member roles
Details
- On GitHub since
- 2024
- Built with
- Laravel · Vue 3 · PHP 8.4+
- License
- GNU AGPLv3
- Database
- MySQL · MariaDB · PostgreSQL · SQLite
- Platforms
- Web · Docker
- Install
- Docker Compose
