Files
2026-06-09 18:40:21 +02:00

4.3 KiB


title: Rachoon created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, accounting, facturation, freelance, svelte, typescript] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=Accounting, https://github.com/Rachoon/rachoon]

Rachoon 📑

Facturation simple et moderne pour freelances et micro-entreprises, écrite en TypeScript / SvelteKit — interface épurée, multi-devises, export PDF.

Métadonnée Valeur
Site web https://rachoon.app
GitHub https://github.com/Rachoon/rachoon
License AGPL-3.0
Langage TypeScript (SvelteKit) + SQLite/PostgreSQL
Étoiles 71
Dernière MAJ 2024-10
Catégorie cat-accounting

Description

Rachoon est une application de facturation open source pensée pour les freelances, consultants et petites structures qui veulent émettre des factures et devis propres sans empiler les fonctionnalités d'un ERP. Le projet est construit avec SvelteKit (full-stack TypeScript), ce qui lui confère une interface réactive et légère, aussi agréable sur mobile que sur desktop.

Le cœur de l'application gère le cycle complet de facturation : création de clients/prospects, émission de devis convertibles en factures d'un clic, factures récurrentes (mensuelles, annuelles), suivi des paiements et des relances, multi-devises (EUR, USD, GBP, CHF…), multi-taux de TVA, et export PDF généré côté serveur. Un tableau de bord synthétise le chiffre d'affaires encaissé, en attente et en retard.

Rachoon se distingue par son modèle de licence AGPL-3.0 clair (pas de double licence ambiguë comme app-invoice-ninja), une installation Docker simple mono-conteneur, et une roadmap active orientée vers la collaboration d'équipe (rôles, multi-utilisateurs). C'est une excellente alternative moderne à app-invoiceplane pour qui privilégie une UX contemporaine.

Installation

Via Docker (placeholder à adapter)

# docker-compose.yml
services:
  rachoon:
    image: ghcr.io/rachoon/rachoon:latest
    container_name: rachoon
    restart: unless-stopped
    ports:
      - "3010:3000"
    environment:
      DATABASE_URL: postgresql://rachoon:secret@db:5432/rachoon
      ORIGIN: http://localhost:3010
      AUTH_SECRET: changez-moi-long-aleatoire
    depends_on:
      - db
  db:
    image: postgres:16-alpine
    container_name: rachoon-db
    restart: unless-stopped
    environment:
      POSTGRES_DB: rachoon
      POSTGRES_USER: rachoon
      POSTGRES_PASSWORD: secret
    volumes:
      - ./pgdata:/var/lib/postgresql/data

Manuelle (Node ≥ 20)

git clone https://github.com/Rachoon/rachoon.git
cd rachoon
npm install
npm run build
node build/index.js

Configuration

Variables d'environnement principales : DATABASE_URL (PostgreSQL ou SQLite), ORIGIN (URL publique derrière reverse-proxy), AUTH_SECRET (clé de session), SMTP_* (notifications et relances par email). Le fichier app.config.ts permet de définir le logo, les mentions légales par défaut et les modèles de numérotation des factures (préfixe, compteur, format date).

Alternatives

Sécurité

  • Auth_SECRET doit être une chaîne aléatoire ≥ 32 caractères
  • PostgreSQL : ne jamais exposer le port 5432 sur l'hôte (réseau Docker interne uniquement)
  • Mettre l'application derrière un reverse-proxy HTTPS (Caddy, Traefik) — voir recettes-docker-compose
  • Sauvegardes automatiques : pg_dump quotidien + conservation 30 jours (rclone vers S3/Backblaze)
  • Mettre à jour l'image régulièrement (Watchtower)
  • Activer les en-têtes de sécurité côté reverse-proxy (HSTS, CSP, X-Frame-Options)

Ressources

Pages Liées