1.8k stars · AGPL-3.0 · 2.4.2 (2026-07-29), read from /releases/latest on 2026-09-12 · Track this in Scout
Self-hosted invoicing and expense tracking with several currencies, and the maintained continuation of Crater.
▶Repo detailsthe review · specs · pros & cons · install
What it is
InvoiceShelf is a self-hosted invoicing application, and the maintained continuation of an older project called Crater. It handles customers, estimates, invoices, recurring invoices, payments and expenses, with a web interface and a phone-friendly layout.
What it is good for. A solo founder or a small business that sends invoices and does not want a monthly subscription for the privilege. Edition 11 recommended Polar and Lago, which are for selling a product to many customers automatically. This is the other half: the handful of invoices you send to named people, in whatever currency they asked for. It is a genuinely small project at 1.8k stars, and that is the point of the gem badge.
- More than one currency, more than one company, and tax rules you can set yourself.
- Recurring invoices go out on their own, which is the part everybody forgets to do.
- Official Docker images, with a choice of SQLite, MariaDB or PostgreSQL behind it.
- It is licensed AGPL-3.0. Fine for your own business. Read it before building it into something you sell.
- It is a PHP application, which is another kind of program to keep updated on a server.
- It makes and tracks invoices. It does not take the payment, so something else still has to do that.
mkdir -p ~/invoiceshelf && cd ~/invoiceshelf git clone https://github.com/InvoiceShelf/docker.git . # Pick one of the provided compose files: SQLite, MariaDB or PostgreSQL. cp .env.example .env # Edit .env — set APP_URL and the database password — then: docker compose up -d

