InvoiceShelf
Built by InvoiceShelf
Send polished invoices, track payments and expenses, and keep your business data yours.
About
What it does
InvoiceShelf runs your invoicing from one place. Create invoices and estimates, export them as polished PDFs, and record payments as they arrive, so you always know what each customer still owes.
Beyond invoices, it tracks expenses and taxes, produces business reports, and schedules recurring invoices for repeat work. Customers get their own portal to view invoices, estimates and payment history, and you can manage several companies and invite teammates with scoped roles.
Highlights
- Invoices and estimates with PDF export
- Payment tracking and customer balances
- Expenses, taxes and business reports
- Recurring invoices
- Customer portal
- Multiple companies and team roles
Who it's for
Freelancers and small businesses who want a focused invoicing tool without giving up control of their data.
Readme
from the project's repository
Show the full readme from GitHub
[!WARNING] The default
3.xbranch is an alpha preview. It is ready for testing and feedback, but not for production data. Use the supported2.xrelease 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.
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:
- Download the latest 3.x preview from the self-hosted download page.
- For Docker, use
invoiceshelf/invoiceshelf:nextinstead of:latestin the official Compose setup.
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
- User and installation documentation
- API reference
- Discord community
- Bug reports and feature requests
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.