InvoiceShelf /InvoiceShelf

Open Source Invoicing Solution for Individuals & Businesses

★ 1,895⑂ 403👁 17⑃ 540● 354▤ 43◈ 57
PHPAGPL-3.0Created 2024-01-26invoiceshelf.com
1,895
stars
+0
403
forks
17
watchers
540
prs
354
issues
43
releases
57
discussions

README

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



  Download InvoiceShelf
  ·
  Try the live demo
  ·
  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.


  
  


 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.

Want to look around before installing? The public demo
includes sample data and resets automatically.

- 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.
- Issue EN 16931 e-invoices: ZUGFeRD / Factur-X PDFs with the e-invoice XML
  embedded (3.x, with the official E-Invoicing module).

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

 E-invoicing

InvoiceShelf 3.x issues e-invoices to the European standard EN 16931 through
the official E-Invoicing module:

- An invoice's PDF becomes a ZUGFeRD / Factur-X hybrid e-invoice, a
  PDF/A-3 file with the EN 16931 XML inside that accounting software reads.
  This meets the German B2B e-invoicing rules and is one of the formats the
  French reform accepts.
- The XML can also be downloaded on its own, for portals that take a file.
- Each invoice shows whether it qualifies and, if not, exactly what is missing.
- Tax types carry their EN 16931 tax category and units their UN/ECE unit code.

It needs the Gotenberg PDF driver. UBL formats (Peppol BIS Billing, XRechnung
UBL) and sending through Peppol are planned.

 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:

- Download the latest 3.x preview from the
  self-hosted download page.
- For Docker, use invoiceshelf/invoiceshelf:next instead of :latest in the
  official Compose setup.

A minimal SQLite Docker setup looks like this:

bash
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  and finish the setup wizard. Read the
Docker guide before using
InvoiceShelf on a public server.

For a traditional

Top issues

Discussions

Latest release

2.4.7 2.4.7 2026-10-21
Moves the Docker image to PHP 8.4.27, which fixes two critical PHP vulnerabilities, and makes recurring invoices generate however the scheduler is run. Upgrade every Docker install, and update PHP on manual installs.

 Security

- The Docker image ran PHP 8.4.25, which is affected by CVE-2026-109618 and CVE-2026-109619: remote code execution without signing in. The image is now built on serversideup/php v5.0.2 with PHP 8.4.27. Manual installs run the server's own PHP, which has to be updated separately (see the upgrade notes). (922)

 Fixes

- Recurring invoices were not generated unless the s

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON