Money · Edition No. 18 · 12 Sep 2026

InvoiceShelf/InvoiceShelf

Self-hosted invoicing and expense tracking with several currencies, and the maintained continuation of Crater.

← MoneyRead the whole edition →
08

InvoiceShelf/InvoiceShelf

💎 hidden gem

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.

Stars1.8k
LicenceAGPL-3.0
Latest2.4.2 (2026-07-29), read from /releases/latest on 2026-09-12
Good
  • 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.
Watch for
  • 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.
Install
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
Screenshots
InvoiceShelf/InvoiceShelf: GitHub preview cardInvoiceShelf/InvoiceShelf: Screenshot 1

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.