Overview
Discover what makes SolidInvoice powerful
SolidInvoice is a full‑stack, PHP‑based web application that automates the entire invoicing workflow for small businesses and freelancers. From a technical standpoint it exposes a rich RESTful API, supports multiple payment gateways (PayPal, Stripe, Klarna, Be2bill), and offers a modular plugin system that lets developers extend core functionality without touching the core codebase. The application is built around a classic MVC architecture using Symfony as the underlying framework, which brings a mature dependency injection container, routing, and security components to the stack. Data persistence is handled by Doctrine ORM over a MySQL or PostgreSQL database, giving developers the flexibility to choose their preferred relational backend.
Framework & Language
ORM & Database
Dependency Injection
API Layer
Overview
SolidInvoice is a full‑stack, PHP‑based web application that automates the entire invoicing workflow for small businesses and freelancers. From a technical standpoint it exposes a rich RESTful API, supports multiple payment gateways (PayPal, Stripe, Klarna, Be2bill), and offers a modular plugin system that lets developers extend core functionality without touching the core codebase. The application is built around a classic MVC architecture using Symfony as the underlying framework, which brings a mature dependency injection container, routing, and security components to the stack. Data persistence is handled by Doctrine ORM over a MySQL or PostgreSQL database, giving developers the flexibility to choose their preferred relational backend.
Architecture
- Framework & Language: Symfony 6 (PHP 8.3+) with Twig for templating and React/Vue components compiled via Bun.
- ORM & Database: Doctrine ORM with support for MySQL, MariaDB, and PostgreSQL.
- Dependency Injection: Symfony’s service container drives the application; services are defined via YAML or PHP attributes.
- API Layer: Symfony API Platform provides a fully documented, JSON‑API compliant interface. Endpoints for clients, quotes, invoices, payments, and taxes are available out of the box.
- Payment Integration: Abstracted payment gateway interfaces allow plug‑in support for PayPal Express/Pro, Stripe Checkout/JS, Klarna Invoice/Checkout, and Be2bill.
- Testing & CI: PHPUnit for unit tests, Behat for BDD scenarios, and GitHub Actions pipeline for continuous integration.
- Containerization: A ready‑to‑use Docker image is available on Docker Hub, simplifying deployment in Kubernetes or Docker Compose environments.
Core Capabilities
- Client & Contact Management: CRUD operations via API and UI, with relational mapping to invoices and quotes.
- Quote & Invoice Lifecycle: Create, convert, send, and track status; automatic PDF generation using Symfony Mailer and Twig templates.
- Recurring Invoices: Scheduler integration with Symfony’s Messenger component to trigger recurring jobs.
- Multi‑Currency & Tax Handling: Exchange rates can be fetched via external APIs; tax rules are configurable per client.
- Notification System: Webhooks, email, SMS (via third‑party providers), and HipChat integration are exposed as event listeners.
- Extensibility: Plugin architecture allows developers to hook into lifecycle events, add custom fields, or replace the payment gateway logic. All plugins are installed via Composer and can be versioned independently.
Deployment & Infrastructure
SolidInvoice is designed for self‑hosting with minimal external dependencies. A single Docker container runs the web server, PHP runtime, and Composer-installed dependencies; a separate MySQL/PostgreSQL container is recommended for production. The application can scale horizontally by adding more web containers behind a load balancer, with the database acting as the single source of truth. For developers working locally, Bun handles asset compilation and live reloading, while Symfony’s built‑in web server can be used for quick iteration.
Integration & Extensibility
The RESTful API is the primary integration point; it follows HATEOAS principles and returns JSON responses with hypermedia links. Webhooks can be subscribed to for events such as invoice.created, payment.completed, and quote.converted. The plugin system exposes a service interface (SolidInvoice\PluginInterface) that developers can implement to add new payment gateways or modify the invoice generation pipeline. Custom fields and modules can be added via Symfony bundles, allowing full control over the data model without altering core migrations.
Developer Experience
- Configuration: Environment variables control everything from database credentials to payment gateway keys. The
.env.examplefile serves as a living document of all required settings. - Documentation: The README provides clear setup instructions, while API Platform auto‑generates Swagger/OpenAPI docs at
/api/doc. - Community & Support: The project is hosted on GitHub with an active issue tracker and a dedicated
contributing.md. Pull requests are encouraged, and the codebase follows PSR‑12 coding standards. - Testing: A comprehensive test suite is bundled, and developers can run
php bin/phpunitormake test.
Use Cases
- Freelancers: Quick deployment via Docker, with built‑in payment gateway integrations to accept credit card and PayPal payments.
- SMBs: Customizable tax rules, multi‑currency support, and recurring invoices make it suitable for subscription businesses.
- Developers: The open API and plugin architecture allow integration with existing ERP systems or building a bespoke billing portal.
- DevOps: The Docker image and Symfony Messenger make it straightforward to orchestrate deployments in Kubernetes or ECS environments.
Advantages
- Open Source & Free: No licensing fees, full source code access for deep customization.
- Modern Stack: Symfony 6 with PHP 8.3+ ensures performance, type safety, and future‑proofing.
- Extensibility: Plugin system and API platform reduce the need for custom code; developers can focus on business logic rather than boilerplate.
- Self‑Hosting Flexibility: From a single VM to a multi‑node Kubernetes cluster, SolidInvoice scales with your infrastructure.
- Rich Feature Set: Out‑of‑
Open SourceReady to get started?
Join the community and start self-hosting SolidInvoice 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
Postal
Open‑source mail delivery like SendGrid or Mailgun
Shynet
Privacy‑first web analytics without cookies

Digiscreen
Dynamic digital signage for web and kiosks
Svix
Enterprise‑ready webhook delivery and management

WiKiss
Simple, PHP‑based wiki with quick setup and powerful plugins
Starbase 80
Self-hosted other