openfacture Svelte Themes

Openfacture

Facturation électronique open source — Factur-X EN 16931, SvelteKit + Hono + Cloudflare

OpenFacture

Logiciel de facturation open source, gratuit, respectueux de la vie privee. Concu en France pour les TPE/PME francaises.

Pourquoi OpenFacture ?

  • Open source (AGPL-3.0) — code auditable, pas de lock-in, fork autorise
  • Respect de la vie privee — zero tracking, zero analytics tierces, vos donnees restent les votres
  • Souverainete — heberge sur infrastructure europeenne (Cloudflare WEUR), conforme RGPD
  • Made in France — adapte a la legislation francaise (TVA, mentions legales, numerotation)
  • Gratuit — auto-hebergeable, pas de plan payant cache
  • Moderne — stack performante, interface rapide, pas de WordPress

Fonctionnalites

  • Gestion clients (entreprises et particuliers)
  • Catalogue articles/prestations avec unites multiples
  • Devis avec workflow complet (brouillon → envoye → accepte/refuse → converti en facture)
  • Factures, avoirs et acomptes
  • Conversion automatique devis → facture
  • Numerotation sequentielle legale (FA-2026-0001, DE-2026-0001)
  • Calculs TVA automatiques (taux FR : 20%, 10%, 5.5%, 2.1%, 0%)
  • Dashboard avec KPIs (CA mensuel, factures en attente, devis en cours)
  • Parametres entreprise complets (infos legales, coordonnees bancaires)
  • Auth par email/mot de passe avec sessions securisees
  • Multi-utilisateurs par entreprise (owner, admin, user)

Stack technique

Couche Technologie
Frontend SvelteKit 2 (Svelte 5 runes) + Tailwind CSS 4
API Hono 4 sur Cloudflare Workers
BDD Cloudflare D1 (SQLite) via Drizzle ORM
Validation Zod
Auth PBKDF2 (Web Crypto natif) + sessions
Hebergement Cloudflare Pages

Zero dependance lourde. Pas de WordPress, pas de PHP, pas de Node.js en production.

Installation

Pre-requis

Setup

# Cloner le repo
git clone https://github.com/votre-org/openfacture.git
cd openfacture

# Installer les dependances
pnpm install

# Creer la base D1
npx wrangler d1 create openfacture-db
# Copier le database_id dans infra/workers/wrangler.jsonc

# Appliquer les migrations
cd infra/migrations && npx drizzle-kit generate && cd ../..
npx wrangler d1 execute openfacture-db --local --file=infra/migrations/drizzle/0000_*.sql

Developpement

# Frontend (port 5173)
pnpm dev

# API (port 8787)
pnpm dev:api

# Les deux en parallele
pnpm dev & pnpm dev:api

Tests

# Tous les tests (69 tests : unitaires + integration)
pnpm test

# Verification des types
pnpm typecheck

# Build production
pnpm build

Structure du projet

openfacture/
├── apps/web/              # Frontend SvelteKit
│   └── src/
│       ├── lib/
│       │   ├── api/       # Client API
│       │   ├── components/# Composants reutilisables
│       │   ├── stores/    # Stores Svelte 5
│       │   ├── types/     # Types TypeScript
│       │   └── utils/     # Formatage, helpers
│       └── routes/        # Pages SvelteKit
├── infra/
│   ├── workers/           # API Hono (Cloudflare Workers)
│   │   └── src/
│   │       ├── lib/       # Crypto, calculs, numerotation
│   │       ├── middleware/ # Auth middleware
│   │       ├── routes/    # Endpoints API
│   │       └── validators/# Schemas Zod
│   └── migrations/        # Schema Drizzle + migrations SQL
└── package.json           # Workspace pnpm

Conventions techniques

Donnee Stockage Exemple
Montants Centimes (integer) 1599 = 15,99 EUR
Quantites Milliemes (integer) 2500 = 2,500
TVA Centiemes de % (integer) 2000 = 20,00%
IDs UUIDv7 0192d4e0-...
Dates ISO 8601 2026-04-21

Deploiement

# Appliquer les migrations en production
npx wrangler d1 execute openfacture-db --remote --file=infra/migrations/drizzle/0000_*.sql

# Deployer l'API
cd infra/workers && npx wrangler deploy

# Le frontend se deploie automatiquement via Cloudflare Pages (connect au repo Git)

Vie privee et RGPD

OpenFacture est concu pour etre conforme au RGPD des sa conception (privacy by design) :

  • Pas de tracking — aucun Google Analytics, aucun pixel, aucun cookie tiers
  • Pas de telemetrie — l'application ne contacte aucun serveur externe
  • Donnees localisees — hebergement Cloudflare region WEUR (Europe de l'Ouest)
  • Chiffrement — mots de passe hashes via PBKDF2 (100 000 iterations, SHA-256)
  • Droit a l'effacement — suppression des donnees possible a tout moment
  • Auto-hebergeable — gardez le controle total de vos donnees

Contribuer

Les contributions sont les bienvenues ! Ouvrez une issue pour discuter avant de soumettre une PR.

# Forker le repo, cloner, creer une branche
git checkout -b feature/ma-feature

# Verifier avant de pousser
pnpm typecheck && pnpm test

# Pousser et creer une PR
git push origin feature/ma-feature

Licence

AGPL-3.0 — Logiciel libre. Vous pouvez utiliser, modifier et redistribuer OpenFacture. Si vous modifiez le code et proposez le service en ligne, vous devez publier vos modifications.

Top categories

Loading Svelte Themes