mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-09-06 23:24:13 +00:00
590c9f84571dc86ee0a596baae6b624eb35d2d08
Port of #715 and #716 to 2.x. Releases here were published by hand, so the notes every install is offered were written at that moment rather than reviewed with the change — 2.4.2's were composed at the point of release, and nothing checked they existed or matched what shipped. Tagging is now all that is required. release.yaml reads the CHANGELOG.md section for the tag, builds via `make clean dist`, creates the release as a draft with the package already attached, and publishes it as a separate step. `release: published` therefore fires only once the tests have passed and the asset is in place, so a failed run leaves no release at all rather than a published one nobody can download — which is what 2.4.2 left behind. A tag with no section fails before anything is published, and before any dependency is installed. Because the asset is attached at publication, docker.yaml no longer needs to build it: release_artifact_build is gone, and register_release loses both that dependency and the always() dance it needed to survive the job being skipped on a manual dispatch. GitHub's "Latest release" pointer is gated on LATEST_MAJOR, the same expression docker.yaml uses for its moving image tags. The workflow is identical to 3.x's but for comments. tests.yaml carries this branch's own test definition — xdebug coverage and a frontend build, where 3.x runs in parallel and splits out module tests.
Introduction
InvoiceShelf is an open-source web & mobile app that helps you track expenses, payments & create professional invoices & estimates.
The Web Application is made using Laravel & VueJS while the Mobile Apps are built using React Native.
To get started with InvoiceShelf using Docker Compose, check out the Installation docs.
Table of Contents
Documentation
System Requirements
- Starting from v2.2.0 (Laravel 13 upgrade), InvoiceShelf requires PHP 8.4+.
- Before updating from the app settings, verify your server PHP version and required extensions.
- The in-app updater checks requirements and blocks the update if they are not met.
Download
Mobile Apps
- Andorid - Coming Soon
- IOS - Coming Soon
- Source
Discord
Join the InvoiceShelf discord server to discuss: Invite Link
Roadmap
~~Here's a rough roadmap of things to come (not in any specific order):
- Automatic Update
- Email Configuration
- Installation Wizard
- Address Customisation & Default notes
- Edit Email before Sending Invoice
- Available as a docker image
- Performance Improvements
- Customer View page
- Add and Use Custom Fields on Invoices & Estimates.
- Multiple Companies
- Recurring Invoices
- Customer Portal
- Accept Payments (Stripe Integration)
- Improved template system (invoices and estimate)
- Modules and templates marketplace
Credits
InvoiceShelf is made possible thanks to the contributions and support from many people and projects:
- Crater (project inspiration and code base)
- All contributors who have provided code, translations, reported issues, or supported the project in any way.
Translate
Help us translate on https://crowdin.com/project/invoiceshelf
License
InvoiceShelf is released under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3. See LICENSE for details.
Languages
PHP
59.9%
Vue
36.1%
Blade
3.2%
Shell
0.6%
Dockerfile
0.1%