MCPSERV.CLUB
SolidInvoice

SolidInvoice

Self-Hosted

Effortless invoicing for freelancers and small businesses

Active(97)
741stars
0views
Updated 1 day ago
SolidInvoice screenshot 1
1 / 5

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.example file 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/phpunit or make 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

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
MIT
Stars
741
Technical Specs
Pricing
Open Source
Docker
Official
Supported OS
LinuxDocker
Author
SolidInvoice
SolidInvoice
Last Updated
1 day ago