02/SaaS · Facturation électronique
Nette Factures
La réforme de la facture électronique 2026-2027, automatisée pour les marchands.
- Rôle
- Produit, architecture et développement full-stack, en solo
- Période
- sept. – oct. 2026
- Statut
- En revue sur le Shopify App Store
- Liens
Code privé — démo sur demande. Le dépôt est privé. Je fais volontiers une démo de l’application en visio ou en entretien.
Demander une démo
- lignes de code
- ~70 k
- fichiers de tests
- 260
- sources prises en charge par l’architecture
- 4
- d’archive légale
- 10 ans
Contexte
Avec la réforme 2026-2027, les entreprises françaises doivent recevoir puis émettre des factures électroniques et transmettre leurs données de vente (e-reporting). Pour un petit marchand en ligne, c’est un chantier réglementaire de plus.
Le problème
Une facture est un document légal : numérotation continue, montants exacts au centime, archive inaltérable, format EN16931. Un écart d’arrondi ou un trou dans la numérotation n’est pas un bug cosmétique.
Ce que j’ai fait
- Lecture de la réglementation et traduction en règles métier testables.
- Architecture du domaine, de la persistance et de l’archive.
- Développement de l’app Shopify (en revue), de la web app « vente directe » et du plugin WooCommerce (pas encore déployés).
- Suite de tests et préparation de la revue App Store.
Architecture & choix techniques
- 01
Un domaine de facturation pur
Le cœur est en TypeScript sans aucune I/O : règles EN16931, sérialisation XML CII, montants en centimes entiers et TVA en points de base. Jamais de flottants, et tout se teste en isolation.
- 02
Une archive immuable
Chaque document est figé en snapshot JSON canonique, haché en SHA-256 et chaîné au précédent. Des triggers PostgreSQL interdisent toute modification, et la numérotation continue est attribuée sous verrou de ligne dans la même transaction.
- 03
Une architecture multi-source
Une interface SourceGateway / SourceFactory permet à Shopify, WooCommerce, Stripe et la saisie manuelle de partager le même cœur. Après le refactor, la sortie Shopify est restée identique à l’octet près.
- 04
Factur-X de bout en bout
PDF/A-3 généré avec Gotenberg, XML EN16931 embarqué, transmission B2B via une plateforme agréée, empreinte vérifiée à chaque téléchargement. Le plugin WooCommerce s’appaire par signature HMAC, un mécanisme révisé après deux revues de sécurité.
Points clés
- Validation stricte des imports : un fichier passe en entier ou pas du tout.
- E-reporting préparé période par période selon le régime de TVA.
- Environ 220 commits.
Stack
- TypeScript
- React 18
- React Router 7
- Shopify App Bridge
- Polaris
- Shopify UI extensions
- Prisma
- PostgreSQL (triggers, séquences)
- pg-boss
- Zod
- Gotenberg
- Factur-X / CII
- Stripe API
- WooCommerce (PHP)
- Vitest
- Docker
- Caddy
- S3 Object Lock
Galerie (10)
Captures issues de boutiques de démonstration, données fictives. Sélectionnez une image pour l’agrandir.