InvoiceShelf
Open source invoicing solution for individuals and businesses
Alternative to: freshbooks, invoice ninja, zoho invoice
3.0.0-alpha.2
2026-08-13Second public alpha of InvoiceShelf 3.0, with major additions across payments, taxes, PDFs, and the module platform.
⚠️ Pre-release — not for production. Back up your database before upgrading and use this release for evaluation and testing only.
Highlights
- Credit notes: Create, send, and render linked full-invoice reversals. Credit notes settle the original balance, preserve the relationship in both directions, and can be safely removed to restore the balance.
- Customer accounts and payments: Allocate a payment across multiple invoices, retain overpayments as customer credit, inspect account activity and outstanding balances, and download or email customer statements.
- Taxes: Track purchase taxes on expenses and in tax reports, and apply compound sales taxes at document or item level with consistent exclusive, tax-inclusive, discount, and recurring-invoice calculations.
- PDFs: Dompdf and Gotenberg now share one rendering contract, with common page settings, repeating headers and footers, page numbers, broader template overrides, document metadata, and optional PDF/A output through Gotenberg.
- Modules and AI: Pair with the official marketplace, securely install and update signed modules, and uninstall them with data-preserving or explicitly destructive flows. The AI assistant is now a free official module instead of bundled core functionality.
Improvements and fixes
- Require invoices to be settled before marking them completed, correct demo document sequences, and surface document save failures instead of silently leaving inconsistent state.
- Improve PDF downloads, report authorization, custom templates, fonts, line heights, margins, and access to private or Docker-internal Gotenberg hosts.
- Add MariaDB support to the installer, make the application timezone configurable, recreate required storage directories on container startup, and avoid secure-context-only browser APIs on plain HTTP installations.
- Reorganize the application into explicit domain and platform boundaries while keeping public v1 API routes and durable database data compatible.
- Harden the tag-driven release pipeline so packages are tested, built, reviewed as drafts, and registered with the updater only after publication.
Upgrade notes
- The payment migration backfills existing invoice-payment relationships into the new allocation table and validates invalid or orphaned rows before removing the legacy relationship.
- Existing tax types are classified as sales taxes. Create purchase tax types for expense input-tax tracking.
- Core AI screens and services have moved to the official AI Assistant module. Existing AI data is retained so the module can adopt it.
- Internal PHP namespaces changed as part of the domain reorganization. Custom modules or integrations importing internal application classes must update those imports; public API routes remain compatible.
- The module runtime now uses InvoiceShelf Modules SDK 3.3.0. The unsafe
module:deletecommand is replaced bymodule:uninstall, with explicit confirmation required before removing module data.
Docker: invoiceshelf/invoiceshelf:3.0.0-alpha.2 (also :next).