Files
wiki/Catalogue-Self-Hosted/apps/app-bigcapital.md
T
2026-06-09 18:40:21 +02:00

7.9 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
Bigcapital 2026-06-07 2026-06-07 app
catalogue
accounting
bigcapital
double-entry
inventory
invoicing
typescript
docker
high false
https://selfh.st/apps/?tag=accounting
https://github.com/bigcapitalhq/bigcapital
https://bigcapital.app/

💵 Bigcapital

Comptabilité intelligente et open-source pour PME, alternative moderne à QuickBooks, Xero et Wave, avec inventaire, facturation et rapports financiers automatisés.

Métadonnée Valeur
Site web https://bigcapital.app/
GitHub https://github.com/bigcapitalhq/bigcapital
License AGPL-3.0
Langage TypeScript (97.2%)
Étoiles 3 700 (≈450 sur selfh.st)
Dernière MAJ 2026-05-31
Catégorie cat-accounting

📝 Description

Bigcapital est une plateforme de comptabilité et de gestion d'inventaire tout-en-un pensée pour les petites et moyennes entreprises qui veulent reprendre le contrôle de leurs finances sans dépendre d'un SaaS étranger. Le projet, démarré en 2021 par Ahmed Bouhuolia, s'appuie sur une stack moderne (TypeScript/Node.js, Vite, PostgreSQL) et un monorepo Lerna/pnpm qui sépare clairement le front, l'API et le SDK TypeScript généré automatiquement depuis OpenAPI.

Le cœur fonctionnel repose sur la comptabilité en partie double : chaque écriture est équilibrée (débit = crédit), les journaux sont générés automatiquement à partir des factures, paiements et dépenses, et les états financiers (bilan, compte de résultat, tableau des flux de trésorerie, balance générale) sont produits en temps réel. Bigcapital ajoute nativement la gestion d'inventaire (articles, entrepôts, mouvements de stock, valorisation FIFO/pondérée) et la facturation (devis, factures récurrentes, multi-devises), ce qui le distingue des pure-player de la facturation comme app-invoiceshelf ou app-crater.

Côté UX, l'interface est une SPA réactive (Vite + React) avec dashboard de trésorerie, drill-down sur les transactions, et rapports imprimables. L'intégration Plaid (banques US/CA) et le scanning OCR de reçus sont prévus ou déjà en bêta. Un API REST documentée OpenAPI et un SDK TypeScript permettent l'intégration headless (« headless accounting ») avec d'autres outils (CRM, e-commerce). Un serveur MCP est en cours de stabilisation pour piloter la comptabilité depuis un agent IA.

Cas d'usage typique : « Je suis une PME de 5-20 personnes, je veux remplacer QuickBooks par une solution que j'héberge moi-même, qui gère mes factures, mes dépenses, mon stock et produise mes bilans en un clic ».

🚀 Installation

Option 1 : Docker Compose (recommandé)

# docker-compose.yml
version: "3.8"

services:
  server:
    image: ghcr.io/bigcapitalhq/server:latest
    container_name: bigcapital-server
    restart: unless-stopped
    environment:
      APP_ENV: production
      APP_KEY: ${APP_KEY:-changez-moi-32-caracteres-minimum}
      APP_URL: https://bigcapital.example.com
      DATABASE_URL: postgres://bigcapital:bigcapital@db:5432/bigcapital
      JWT_SECRET: ${JWT_SECRET:-changez-moi-aussi-ici}
      MAIL_HOST: smtp.example.com
      MAIL_PORT: 587
      MAIL_USERNAME: ${MAIL_USERNAME}
      MAIL_PASSWORD: ${MAIL_PASSWORD}
    depends_on:
      db:
        condition: service_healthy
    networks: [bigcapital]

  webapp:
    image: ghcr.io/bigcapitalhq/webapp:latest
    container_name: bigcapital-webapp
    restart: unless-stopped
    environment:
      VITE_API_URL: https://bigcapital.example.com/api
    depends_on:
      - server
    networks: [bigcapital]

  db:
    image: postgres:16-alpine
    container_name: bigcapital-db
    restart: unless-stopped
    environment:
      POSTGRES_DB: bigcapital
      POSTGRES_USER: bigcapital
      POSTGRES_PASSWORD: bigcapital
    volumes:
      - ./data/db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U bigcapital -d bigcapital"]
      interval: 10s
      timeout: 5s
      retries: 5
    networks: [bigcapital]

networks:
  bigcapital:
    driver: bridge

Premier lancement : docker compose up -d, puis créer le compte admin via https://bigcapital.example.com/setup et suivre l'assistant de configuration (devise de base, plan comptable, premier entrepôt).

Option 2 : Installation manuelle (développement)

Cloner le repo, installer Node 18.16.1 (.nvmrc présent), pnpm install au root, puis dans packages/server lancer les migrations Prisma et démarrer l'API. Le front se lance avec pnpm dev dans packages/webapp. Voir CONTRIBUTING.md.

⚙️ Configuration

  • Plan comptable : import d'un chart of accounts au démarrage (templates US GAAP, UK GAAP, FR PCG fournis par la communauté).
  • Multi-devise : taux de change manuels ou importés depuis une source (openexchangerates, ECB).
  • Plaid : intégration bancaire US/CA via OAuth, catégorisation automatique des transactions.
  • Stock : valorisation moyenne pondérée ou FIFO, alertes de réassort, emplacements multiples.
  • Factures récurrentes : planification cron-like, génération PDF branded.
  • Permissions : RBAC fin (admin, comptable, vendeur, lecture seule) basé sur JWT.
  • API/SDK : OpenAPI exporté à chaque release, SDK TypeScript dans packages/sdk consommable depuis n'importe quel front.

🔄 Alternatives

Open Source

  • app-invoiceshelf — Facturation PHP/Laravel, plus simple mais pas de comptabilité double.
  • app-crater — Fork possible, facturation + dépenses uniquement.
  • app-akaunting — Comptabilité PHP mature, plus large mais moins moderne.
  • app-solidinvoice — PHP/Symfony, facturation pour freelances.
  • ERPNext — ERP complet (compta incluse) en Python/Frappe, beaucoup plus lourd.
  • Odoo Community — Modules comptables riches mais usine à gaz.

Propriétaires (ce que cette app remplace)

  • QuickBooks Online — Leader SMB, ~$30-80/mois, fermé.
  • Xero — Concurrent direct, UK/AU, fermé.
  • Wave Accounting — Freemium, fermé depuis l'acquisition par H&R Block.
  • FreshBooks — Orienté freelances, fermé.
  • Sage Business Cloud — Legacy SMB, fermé.

🔒 Sécurité

  • HTTPS obligatoire : reverse proxy app-traefik ou app-caddy avec certificats Let's Encrypt.
  • JWT_SECRET et APP_KEY : 32+ caractères aléatoires, stockés dans un fichier .env jamais commité ou mieux dans un secret manager.
  • Base de données : pg_dump quotidien vers un volume chiffré (cf. recettes app-postgres-backup).
  • Mises à jour : suivre les releases (~1 par mois), images Docker latest et tags pinnés.
  • RBAC : ne jamais donner le rôle admin au quotidien, créer des comptes comptables/read-only.
  • Plaid : tokens stockés chiffrés côté serveur, rotation régulière.
  • Logs : APP_LOG_LEVEL=info en prod, audit log consultable dans l'UI.

📚 Ressources

🔗 Pages Liées