Émission de factures électroniques — PME et micro-entreprises (01/09/2027)
Statut au 21/07/2026 : périmètre livré = génération, validation (Epic 1), documentation (Epic 2), validateur public (Epic 3), comptes/ facturation self-service (Epic 4), extraction Factur-X/CII (Epic 5), et génération/conversion/extraction UBL (Epic 6).
Ce que dit la réforme
Après les grandes entreprises et ETI (01/09/2026), les PME et micro-entreprises devront émettre leurs factures au format électronique structuré à partir du 1er septembre 2027. C'est la fenêtre de marché principale visée par Heartwood (voir le PRD du projet).
Ce que Heartwood couvre aujourd'hui
- Génération Factur-X conforme aux deux profils retenus par le socle
minimum français (norme AFNOR XP Z12-012) : EN 16931 et
EXTENDED-CTC-FR — les deux seuls profils du socle minimum français
(norme AFNOR XP Z12-012). Le profil
BASICgénérique est absent de ce socle : il ne porte pas les extensions françaises (EXT-FR-FE-*) et sera rejeté au contrôle. Nuance de rigueur : aucun texte officiel n'écrit explicitement « BASIC est refusé » — c'est une exclusion par omission (le mot n'apparaît nulle part dans les spécifications externes DGFiP v3.2), pas une interdiction rédigée. - Validation structurelle (XSD) du CII embarqué, avec rapport détaillé.
- Rule packs versionnés et listables (
GET /v1/rulepacks) — le référentiel de règles appliqué est toujours identifié dans chaque réponse.
Ce que Heartwood couvre également depuis Epic 4
- Inscription self-service (
POST /signup+ vérification e-mail) et espace client (/account/) pour gérer ses clés API et suivre sa consommation — voir le guide de démarrage et la page comptes et facturation. - Paliers payants (Starter/Pro/Éditeur) via Stripe Checkout, gestion de carte/factures/résiliation via le Stripe Customer Portal — voir comptes et facturation.
Ce que Heartwood couvre également depuis Epic 5/6
- Extraction de Factur-X, CII ou UBL vers JSON normalisé
(
POST /v1/extract) — voir exemples d'extraction. - Génération UBL 2.1 (
fr-socle,peppol-bis) et conversions CII↔UBL, emballage CII→Factur-X, extraction CII brut d'un Factur-X (POST /v1/generate/ubl,POST /v1/convert) — voir Peppol Belgique, exemples de génération UBL et exemples de conversion.
Ce que Heartwood ne couvre PAS encore
- XRechnung (Allemagne) : non exposée (spike licences/corpus J4 non réalisé) — voir XRechnung Allemagne.
- Validation schematron (règles BR-*) : réelle depuis Story 3.7/3.8
pour Factur-X/CII et UBL (profils EN16931 et EXTENDED-CTC-FR,
référentiel officiel FNFE-MPE,
schematronChecked: true, détection automatique du format soumis àPOST /v1/validate) — voir rapport de validation. Aucun corpus de non-régression automatisé en CI pour aucun des deux formats (vérification ponctuelle sur quelques exemples officiels seulement, voirrulepacks/README.md). - Alertes de quota à 80%/100% et réconciliation comptable Stripe : le comptage et la facturation fonctionnent, mais ces deux mécanismes d'exploitation ne sont pas encore câblés (voir Story 4.4, Dev Notes).
Fidélité au profil EXTENDED-CTC-FR
Le profil EXTENDED-CTC-FR porte des exigences propres au contexte français (mentions fiscales spécifiques, tolérances d'arrondi, multi-livraison au niveau ligne). Le modèle actuel couvre le socle commun avec EN 16931 ; les particularités propres à EXTENDED-CTC-FR ne sont pas encore toutes modélisées — ne pas présumer une conformité totale à ce profil avant une story dédiée à sa fidélité complète.