Darko Gjorgjijoski 975d14d86f fix(schema): prune the replaced migration rows when the consolidation is recorded
An upgraded install otherwise keeps 150 recorded rows (plus the one
2.4.x-only name) for migration files that no longer exist on disk. The SKIP
path now deletes exactly the replaced set plus that superseded name, by
explicit list only, before recording itself; module rows and any other
foreign history survive. Found by the upgrade rehearsals.
2026-08-22 14:27:26 +02:00
2026-08-14 00:17:52 +02:00
2021-06-18 15:23:56 +05:30
2025-08-31 03:04:31 +02:00
2024-07-28 17:44:22 -07:00
2024-07-28 17:24:57 +02:00
2024-01-28 19:47:46 +01:00
2024-03-27 11:00:36 +01:00
2021-12-02 21:01:04 +05:30
2026-08-11 20:59:21 +02:00

InvoiceShelf

Open-source invoicing for people who want to own their business data.

Download InvoiceShelf · Documentation · Join Discord

Warning

The default 3.x branch is an alpha preview. It is ready for testing and feedback, but not for production data. Use the supported 2.x release for a production installation.

InvoiceShelf dashboard

Run your invoicing from one place

InvoiceShelf is a self-hosted web application for creating invoices, tracking payments and expenses, and keeping customer accounts organised. It is built for freelancers and small businesses that want a focused workflow without giving up control of their data.

  • Create invoices and estimates, then export polished PDFs.
  • Record payments and see what each customer still owes.
  • Track expenses, taxes, and business reports.
  • Schedule recurring invoices for repeat work.
  • Give customers a portal for invoices, estimates, and payment history.
  • Manage multiple companies and invite team members with scoped roles.

Optional official modules can add specialised features without making the core application heavier.

Install InvoiceShelf

Production: InvoiceShelf 2.x

Install the current stable release from the self-hosted download page, or run the official Docker image with the :latest tag. Follow the installation guide for the complete setup and upgrade instructions.

Preview: InvoiceShelf 3.x

Use the preview only with disposable or backed-up data:

A minimal SQLite Docker setup looks like this:

git clone https://github.com/InvoiceShelf/docker.git invoiceshelf
cd invoiceshelf
cp docker-compose.sqlite.yml docker-compose.yml
# For the 3.x preview, change the image tag in docker-compose.yml to :next.
docker compose up -d

Open http://localhost:8090 and finish the setup wizard. Read the Docker guide before using InvoiceShelf on a public server.

For a traditional web-server installation, see the manual installation guide. InvoiceShelf 3.x requires PHP 8.4 and supports MySQL/MariaDB, PostgreSQL, and SQLite. Docker includes the required application runtime.

Learn and get help

Contribute

Code contributions are welcome. Start with the contribution guide and use the development environment in docker/development.

You can also help translate InvoiceShelf on Crowdin.

License

InvoiceShelf is released under the GNU Affero General Public License v3.0.

S
Description
No description provided
Readme AGPL-3.0
70 MiB
Languages
PHP 59.9%
Vue 36.1%
Blade 3.2%
Shell 0.6%
Dockerfile 0.1%