---
title: SolidInvoice
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, accounting, facturation, laravel, php, crm, paiements]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Accounting, https://github.com/SolidInvoice/SolidInvoice, https://solidinvoice.co/]
---

# SolidInvoice 💎

> **Plateforme de facturation et de gestion commerciale** pour freelances et PME, écrite en **PHP (Laravel/Symfony)** — alternative mature à Invoice Ninja avec un focus sur la **simplicité**.

| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://solidinvoice.co |
| **GitHub** | https://github.com/SolidInvoice/SolidInvoice |
| **License** | MIT |
| **Langage** | PHP 8.2+ (Symfony + bundles) + MariaDB/PostgreSQL |
| **Étoiles** | ⭐222 |
| **Dernière MAJ** | 2025-02 |
| **Catégorie** | [[cat-accounting]] |

## Description

**SolidInvoice** est une **plateforme de facturation et de gestion commerciale** écrite en **PHP** sur la base du framework **Symfony** (avec des composants réutilisés du monde Laravel). Le projet vise les **freelances, agences et PME** qui ont besoin d'un outil complet pour gérer devis, factures, clients et paiements, dans une interface web moderne et responsive, sans les lourdeurs d'un ERP traditionnel.

L'application couvre le **cycle commercial complet** : gestion de **clients et contacts**, émission de **devis** convertibles en factures d'un clic, **factures récurrentes** (abonnements), **notes de crédit / avoirs**, **rappels automatiques** de paiement, **multi-devises** et **multi-taxes**, **tableaux de bord** synthétisant le chiffre d'affaires encaissé / en attente / en retard. L'**export PDF** des documents est natif (basé sur des templates Twig), et une **API REST** permet des intégrations tierces (CRM, e-commerce).

SolidInvoice se positionne comme une **alternative plus légère et plus simple** à [[app-invoice-ninja]] (qui souffre d'une double licence AGPL + Elastic) et à [[app-akaunting]] (plus complet mais plus lourd). Sa **license MIT** claire, son **architecture Symfony** solide et son **code base de qualité** en font un bon choix pour un auto-hébergeur qui veut une solution PHP éprouvée, sans la complexité administrative de logiciels comme Sage ou QuickBooks.

## Installation

### Via Docker (placeholder à adapter)

```yaml
# docker-compose.yml
services:
  solidinvoice:
    image: ghcr.io/solidinvoice/solidinvoice:latest
    container_name: solidinvoice
    restart: unless-stopped
    ports:
      - "8080:80"
    environment:
      APP_ENV: prod
      APP_SECRET: changez-moi-long-aleatoire
      DATABASE_URL: mysql://solidinvoice:secret@db:3306/solidinvoice?serverVersion=10.11
    volumes:
      - ./uploads:/var/www/html/var/uploads
    depends_on:
      - db
  db:
    image: mariadb:11
    container_name: solidinvoice-db
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: solidinvoice
      MARIADB_USER: solidinvoice
      MARIADB_PASSWORD: secret
      MARIADB_ROOT_PASSWORD: root-secret
    volumes:
      - ./dbdata:/var/lib/mysql
```

### Manuelle (PHP ≥ 8.2, Composer)

```bash
git clone https://github.com/SolidInvoice/SolidInvoice.git
cd SolidInvoice
composer install --no-dev
php bin/console doctrine:database:create
php bin/console doctrine:migrations:migrate
php -S 0.0.0.0:8000 -t public/
```

## Configuration

Variables d'environnement principales : `APP_ENV` (`prod` recommandé), `APP_SECRET` (clé applicative, ≥ 32 caractères), `DATABASE_URL` (MariaDB/MySQL ou PostgreSQL), `MAILER_DSN` (notifications et relances SMTP). Le fichier `config/packages/*.yaml` permet d'ajuster la **devise par défaut**, les **formats de numérotation** des factures, les **modèles PDF** (Twig) et les **passerelles de paiement** actives (PayPal, Stripe, etc.).

## Alternatives

- **Open Source** : [[app-invoice-ninja]] (Laravel, plus complet), [[app-akaunting]] (Laravel, comptabilité intégrée), [[app-invoiceplane]] (PHP legacy), [[app-crater]] (Node/React)
- **Propriétaire** : **FreshBooks**, **QuickBooks**, **Sage**, **Wave Accounting**, **Xero**

## Sécurité

- **APP_SECRET** : valeur aléatoire forte, unique par instance
- Mettre le service **derrière HTTPS** (Traefik, Caddy, Nginx) — voir [[recettes-docker-compose]]
- MariaDB : ne **jamais** exposer le port 3306 sur l'hôte (réseau Docker interne)
- Sauvegardes : `mariadb-dump` quotidien + test de restauration mensuel
- Activer les **en-têtes de sécurité** (HSTS, CSP, X-Frame-Options) via reverse-proxy
- Mettre à jour PHP et les dépendances Composer régulièrement (`composer audit`)

## Ressources

- Site officiel : https://solidinvoice.co
- Code source : https://github.com/SolidInvoice/SolidInvoice
- Documentation Symfony : https://symfony.com/doc
- Documentation Doctrine ORM : https://www.doctrine-project.org

## Pages Liées

- [[cat-accounting]]
- [[recettes-docker-compose]]
- [[app-invoice-ninja]]
- [[app-akaunting]]
- [[app-invoiceplane]]
