Overview
Discover what makes InvoiceShelf powerful
InvoiceShelf is a self‑hosted, open‑source platform for managing invoices, estimates, and budgeting. Built on the Laravel 11 framework, it embraces modern PHP conventions while remaining lightweight enough for quick deployment in Docker or on bare metal. The application exposes a rich REST‑style API, enabling developers to integrate it into existing ERP or accounting ecosystems. From a technical standpoint, InvoiceShelf is engineered around a clean MVC architecture, with Vue 3 on the frontend and Vite for asset bundling. Its core domain logic is encapsulated in service classes that validate amounts, generate PDF receipts, and handle recurring billing schedules.
Backend
Frontend
Database
File Storage
Overview
InvoiceShelf is a self‑hosted, open‑source platform for managing invoices, estimates, and budgeting. Built on the Laravel 11 framework, it embraces modern PHP conventions while remaining lightweight enough for quick deployment in Docker or on bare metal. The application exposes a rich REST‑style API, enabling developers to integrate it into existing ERP or accounting ecosystems. From a technical standpoint, InvoiceShelf is engineered around a clean MVC architecture, with Vue 3 on the frontend and Vite for asset bundling. Its core domain logic is encapsulated in service classes that validate amounts, generate PDF receipts, and handle recurring billing schedules.
Architecture & Tech Stack
- Backend: Laravel 11 (PHP 8.2+), Eloquent ORM, Laravel Sanctum for API authentication, Queue and Cache drivers (database or Redis).
- Frontend: Vue 3 with Composition API, Axios for HTTP requests, Vite as the dev/build tool.
- Database: Default to SQLite for simplicity, but supports MySQL, PostgreSQL, and SQL Server via configuration.
- File Storage: Laravel Media Library handles uploads (logos, attachments) and can be backed by local storage or cloud services like S3.
- Mail: Configurable via SMTP (including SES) with support for encryption settings.
The project follows PSR‑4 autoloading, and the namespace was recently moved from InvoiceShelf to App, improving compatibility with other Laravel packages. Unit tests are written with PHPUnit and feature tests use Laravel's built‑in testing helpers.
Core Capabilities & APIs
- Invoice/Estimate Lifecycle: Create, clone, edit, and delete; supports decimal quantities, large totals (up to 999 999 999 999), and recurring schedules.
- Customer Management: CRUD operations with searchable dropdowns, including a hotfix that fixes name rendering.
- PDF Generation: Server‑side PDF creation via a blade template, downloadable or emailable.
- API Endpoints:
/api/invoices,/api/estimates,/api/customerswith full CRUD and pagination. All endpoints are token‑protected by Sanctum, allowing secure external integrations. - Webhooks: Configurable callbacks for events such as
invoice.createdorestimate.sent. - Internationalization: Fully translatable strings, with Crowdin integration for community translations.
Developers can also extend the system by creating custom middleware, overriding service providers, or adding new API routes. The modular design encourages plugin development; the core exposes hooks where custom logic can be injected without modifying the base code.
Deployment & Infrastructure
InvoiceShelf is optimized for containerization. The official Docker image pulls the latest Laravel release and pre‑installs dependencies, exposing ports 80/443. For scaling, the queue driver can be switched to Redis, and caching can leverage Memcached or Redis. Because SQLite is the default database, developers can spin up a single‑file instance for prototypes or CI pipelines. Production deployments typically use MySQL or PostgreSQL with a separate database server, and the migration files ensure a smooth upgrade path between major versions.
Integration & Extensibility
The REST API is the primary integration point. Developers can consume it from any language that supports HTTP, and the JSON payloads are self‑describing. Webhooks allow asynchronous event handling in external systems (e.g., triggering a Zapier workflow when an invoice is paid). The application also ships with a plugin skeleton: developers can create Composer packages that register routes, views, and database migrations. Because the codebase follows Laravel conventions, adding a new payment gateway or tax calculation module is straightforward.
Developer Experience
- Documentation: The GitHub repo hosts comprehensive README, changelog, and API reference.
- Community: Active issue tracker, pull request flow, and a dedicated Discord channel for quick support.
- Configuration: Environment variables control every aspect—from database driver to mail settings—making it trivial to adapt the app to different hosting environments.
- Licensing: MIT license encourages commercial use without licensing fees, and the open‑source nature allows full auditability.
Use Cases
- Freelance & Small Business: Rapid deployment on a VPS, auto‑generated PDFs, and API access for mobile invoicing apps.
- Enterprise Integration: Hook into existing ERP systems via webhooks and custom API clients, while leveraging Laravel’s queue system for background tasks.
- SaaS Providers: Use the modular architecture to build multi‑tenant SaaS invoicing services, with tenant isolation handled by separate database connections.
- Developer Tooling: Integrate InvoiceShelf into CI/CD pipelines to automatically generate invoices for subscription billing or test environments.
Advantages
- Performance: Laravel 11 brings improved routing, caching, and Eloquent optimizations.
- Flexibility: Full control over the stack; swap out database drivers, queue backends, or storage services without code changes.
- Licensing & Cost: MIT license eliminates subscription fees, and the ability to host on inexpensive cloud instances keeps operational costs low.
- Community & Support: A vibrant open‑source community means rapid bug fixes, frequent feature updates (e.g., decimal quantities, large totals), and ready‑made extensions.
InvoiceShelf offers a robust, developer‑friendly invoicing platform that balances out‑of‑the‑box functionality with the freedom to customize and extend
Open SourceReady to get started?
Join the community and start self-hosting InvoiceShelf today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
SimpleX Chat
Private messaging without identifiers
Standard Notes
Secure, end‑to‑end encrypted note‑taking for all devices
Group Office
All-in-one on‑premises CRM and groupware suite

RosarioSIS
All-in-one school management for K‑12 and beyond
ByteStash
Secure, self‑hosted snippet manager for developers
Medusa
Self-hosted other