BLOG TECHNIQUE

Factur-X & EN16931

Guides techniques et intégrations pour maîtriser Factur-X, valider EN16931 et préparer la réforme de facturation électronique 2026-2027.

59 articles
Technique

BR-CL-23 : corriger les codes unités UN/ECE dans une facture Factur-X

Pourquoi l'erreur BR-CL-23 apparaît dans un XML CII Factur-X, comment mapper les unités ERP vers les codes UN/ECE Rec 20 et comment éviter les libellés libres.

#BR-CL-23 #unit-code
Lire l'article →
Technique

BR-CO-17 : comprendre et corriger les erreurs d'arrondi TVA dans EN16931

Pourquoi BR-CO-17 échoue dans une facture Factur-X : base taxable, taux TVA, montant TVA par catégorie, arrondi à 2 décimales et stratégie de calcul ERP.

#BR-CO-17 #TVA
Lire l'article →
Guide

Facture rejetée par une Plateforme Agréée : workflow développeur pour diagnostiquer, réparer et revalider

Un workflow en 5 étapes pour traiter une facture Factur-X rejetée : récupérer le fichier exact, scanner, isoler PDF/A-3 vs XML CII, corriger, revalider et automatiser.

#plateforme-agréée #rejet
Lire l'article →
Intégration

Convertir un PDF ERP en Factur-X sans réécrire l'export : le rôle de invoice_data JSON

Comment FacturX API combine le PDF existant d'un ERP avec des données métier invoice_data JSON pour produire un Factur-X conforme EN16931 sans réécrire tout le moteur d'export.

#invoice_data #convert
Lire l'article →
Guide

Lire un rapport de scan Factur-X : BR-*, PDF/A-3, XML CII et corrections possibles

Comment interpréter un rapport de scan Factur-X : erreurs BR-*, problèmes PDF/A-3, XML CII, XMP, verdicts FacturX corrige, ERP complète et cas rare.

#factur-x #scan
Lire l'article →
Intégration

Préflight Factur-X en amont d'une Plateforme Agréée : architecture pour éditeur ERP

Où placer un contrôle Factur-X dans l'architecture d'un éditeur ERP : génération PDF, données métier, scan, repair, convert, revalidation et remise à la PA choisie par le client.

#erp #architecture
Lire l'article →
Conformité

Scanner une facture Factur-X avant envoi via une Plateforme Agréée : les 7 contrôles utiles

Les contrôles à lancer avant de remettre une facture Factur-X à une Plateforme Agréée : PDF/A-3, XML CII, profil EN16931, règles BR-*, XMP, AFRelationship et corrections possibles.

#factur-x #scan
Lire l'article →
Technique

BR-05 — Le code devise de la facture (BT-5) est obligatoire

BR-05 impose la présence d'InvoiceCurrencyCode (BT-5) à l'ApplicableHeaderTradeSettlement. Code ISO 4217 alpha-3 sur 3 lettres.

#en16931 #schematron
Lire l'article →
Technique

BR-15 — Le montant à payer (BT-115) est obligatoire

BR-15 impose la présence de BT-115 (Amount due for payment). Attention : BR-12 concerne autre chose ; la formule arithmétique relève de BR-CO-16.

#en16931 #schematron
Lire l'article →
Technique

BR-33 — Une raison ou un code de raison est requis pour chaque remise documentaire

BR-33 (et non BR-31) exige qu'une remise documentaire BG-20 ait une raison BT-97 ou un code BT-98. BR-31 concerne la présence du montant (BT-92).

#en16931 #schematron
Lire l'article →
Technique

BR-AE-05 — Autoliquidation : taux de ligne obligatoire à 0

BR-AE-05 impose qu'une ligne en autoliquidation (catégorie AE) ait un taux de TVA à 0. BR-AE-01 concerne la présence d'un breakdown AE. BR-AE-10 concerne la raison d'exonération VATEX-EU-AE.

#en16931 #schematron
Lire l'article →
Technique

BR-CO-10 — La somme des montants de ligne ne correspond pas au total déclaré

BR-CO-10 impose que BT-106 (sum of invoice line net amount) = Σ BT-131. Erreur fréquente après ajout/suppression de ligne ou arrondis ligne-par-ligne.

#en16931 #schematron
Lire l'article →
Technique

BR-CO-14 — Le total TVA ne correspond pas à la somme des catégories TVA

BR-CO-14 impose que BT-110 (TVA totale) = Σ BT-117 (montant TVA par catégorie). Différent de BR-CO-17 qui vérifie la formule base × taux par catégorie.

#en16931 #schematron
Lire l'article →
Technique

BR-CO-15 — Le total avec TVA ne correspond pas au calcul HT + TVA

BR-CO-15 impose que GrandTotalAmount (BT-112) = TaxBasisTotalAmount (BT-109) + TaxTotalAmount (BT-110). Ne pas confondre BT-112 (total avec TVA) et BT-115 (montant à payer).

#en16931 #schematron
Lire l'article →
Technique

BR-CO-16 — Le montant à payer ne correspond pas au calcul attendu

BR-CO-16 vérifie que BT-115 (montant à payer) = BT-112 − BT-113 + BT-114. PrepaidAmount et PayableRoundingAmount sont optionnels (cardinalité 0..1).

#en16931 #schematron
Lire l'article →
Technique

BR-S-05 — TVA Standard : taux de ligne strictement positif obligatoire

BR-S-05 impose qu'une ligne en TVA Standard (catégorie S) ait un taux > 0. BR-S-01 concerne la présence du VAT breakdown S au niveau facture.

#en16931 #schematron
Lire l'article →
Technique

BR-Z-05 — TVA Zero rated : taux de ligne à 0 obligatoire

BR-Z-05 impose qu'une ligne en catégorie Z (Zero rated) ait RateApplicablePercent=0. BR-Z-01 exige la présence d'un breakdown Z. Différent de E, AE, G, K.

#en16931 #schematron
Lire l'article →
Technique

Montant net de ligne (BT-131) incohérent : quantité × prix net/base ± remises/frais

Le montant net de ligne BT-131 doit correspondre à ((BT-146/BT-149) × BT-129) + charges − remises. Règle Peppol PEPPOL-EN16931-R120, avec base quantity BT-149 souvent oubliée.

#en16931 #schematron
Lire l'article →
Technique

BT-84 — Compte bancaire de paiement : IBAN ou ProprietaryID, pas schemeID

BT-84 (Payment account identifier) utilise ram:IBANID pour un IBAN ou ram:ProprietaryID pour un compte non-IBAN. Règles BR-50 et BR-61 contrôlent sa présence conditionnelle.

#en16931 #schematron
Lire l'article →
Technique

Erreur format date : Factur-X attend yyyymmdd avec format 102

Les dates métier Factur-X CII utilisent l'attribut format=102 et la valeur yyyymmdd (sans tirets). Format 102 = CCYYMMDD selon UN/EDIFACT 2379.

#en16931 #schematron
Lire l'article →
Technique

Erreur IBAN format incorrect : règles ISO 13616 et longueur par pays

L'IBAN dans Factur-X (BT-84 via IBANID) doit respecter le format ISO 13616, utilisé notamment dans les paiements SEPA. Longueurs fixes par pays et clé MOD-97.

#en16931 #schematron
Lire l'article →
Technique

Erreur namespace CII : URI incorrecte ou mélange UBL/CII

En XML, c'est l'URI du namespace qui compte, pas le préfixe. Les préfixes rsm/ram/udt/qdt sont recommandés pour lisibilité, mais cii: ou factx: fonctionnent aussi si correctement liés aux bonnes URI CII.

#en16931 #schematron
Lire l'article →
Technique

« No Factur-X XML found » : votre PDF n'embarque pas de XML CII détectable

Le PDF Factur-X doit être un PDF/A-3 avec un XML CII embarqué. Les noms factur-x.xml, zugferd-invoice.xml, xrechnung.xml sont tous reconnus.

#en16931 #schematron
Lire l'article →
Technique

Erreur PDF/A-3 : niveau de conformance incorrect (A, B ou U requis)

Factur-X exige PDF/A-3 (pdfaid:part=3) avec conformance A, B ou U. PDF/A-2 autorise les pièces jointes PDF/A mais pas l'embarquement arbitraire d'un XML.

#en16931 #schematron
Lire l'article →
Technique

Erreur profil Factur-X : GuidelineSpecifiedDocumentContextParameter incorrect

Les 5 profils standards Factur-X (MINIMUM, BASIC WL, BASIC, EN16931, EXTENDED) ont chacun un URN officiel précis. XRECHNUNG est un profil de référence, pas un profil standard Factur-X.

#en16931 #schematron
Lire l'article →
Technique

Erreur schemeID (organisations) : SIREN, SIRET, GLN, DUNS avec code ISO 6523 incorrect

L'attribut schemeID des identifiants d'organisation (BT-29, BT-30, BT-31) doit suivre la liste ISO 6523 ICD : 0002 SIREN, 0009 SIRET, 0088 GLN, 0060 DUNS, VA pour le n° TVA.

#en16931 #schematron
Lire l'article →
Technique

Erreur séparateur décimal : Factur-X exige le point XML, pas la virgule

Les valeurs décimales XML de Factur-X utilisent le point comme séparateur ("1234.56"), jamais la virgule. Contraintes de décimales variables selon les champs.

#en16931 #schematron
Lire l'article →
Technique

Confusion catégorie TVA : S, Z, E, AE, G, K — quel code utiliser ?

Les catégories de TVA EN16931 (S, Z, E, AE, K, G, L, M, O) ont des sémantiques juridiques différentes. Règles BR-S-*/BR-Z-*/BR-AE-* varient selon la catégorie. Exemple autoliquidation complet avec VATEX-EU-AE.

#en16931 #schematron
Lire l'article →
Technique

Erreur numéro de TVA intracommunautaire : format propre à chaque pays

Le numéro de TVA intracommunautaire (BT-31, BT-48) suit un format propre à chaque pays UE. Vérification VIES pour la référence opérationnelle.

#en16931 #schematron
Lire l'article →
Technique

Build vs Buy : construire sa conformité Factur-X ou utiliser une API

Analyse chiffrée Build vs Buy pour la conformité Factur-X EN16931. Trois périmètres de coûts (validation seule à full compliance engine) vs API SaaS. Critères de décision pour CTO et architectes.

#build-vs-buy #factur-x
Lire l'article →
Technique

Comprendre les messages Schematron EN16931 : lire un rapport de validation Factur-X

Guide pratique pour interpréter les messages d'erreur Schematron EN16931. Comment lire un rapport de validation, comprendre les codes BR-*, localiser l'erreur dans le XML, et décider quoi corriger.

#schematron #EN16931
Lire l'article →
Technique

Les erreurs Factur-X qui bloquent vos factures BTP : autoliquidation, situations, retenues

Les erreurs de conformité Factur-X spécifiques au secteur BTP : autoliquidation (art. 283, 2 nonies CGI), factures de situation, retenue de garantie, multi-taux TVA. Diagnostic et corrections avec exemples XML.

#BTP #factur-x
Lire l'article →
Technique

Intégrer la conformité Factur-X dans votre ERP en 3 jours : retour d'expérience

Comment un éditeur ERP BTP a intégré la conformité Factur-X EN16931 en 3 jours via API. Étapes concrètes : mapping JSON, appel API, validation, gestion des erreurs, mise en production.

#ERP #intégration
Lire l'article →
Technique

Réception de factures électroniques 2026 : valider ce que vous recevez (back-offices finance, éditeurs SaaS)

Comment valider les factures Factur-X, UBL et CII reçues avant intégration comptable. Guide pour back-offices finance multi-entités et éditeurs de logiciels de gestion : extraction XML, validation EN16931, détection d'anomalies.

#réception #facturation électronique
Lire l'article →
Technique

Automatiser la validation et la correction Factur-X dans votre pipeline CI/CD

Intégrer la validation EN16931 et la correction XML CII dans un pipeline CI/CD. Exemples GitHub Actions, GitLab CI, scripts bash, gestion des erreurs et alerting.

#CI/CD #factur-x
Lire l'article →
Technique

Checklist développeur : préparer la réception obligatoire du 1er septembre 2026

Liste de vérification technique pour les développeurs et intégrateurs qui préparent la réception obligatoire de factures électroniques au 1er septembre 2026. Format, validation, pipeline, tests.

#réforme 2026 #checklist
Lire l'article →
Technique

Convertir une facture PDF en Factur-X 1.08 conforme (PDF/A-3 + XML CII D22B)

Comment transformer un PDF de facture classique en document Factur-X PDF/A-3 avec XML CII embarqué. Deux approches : extraction automatique du PDF ou données structurées depuis l'ERP.

#factur-x #convert
Lire l'article →
Technique

Corriger automatiquement un XML CII Factur-X invalide : erreurs réparables et API de correction

Comment corriger automatiquement les erreurs de format dans un XML CII (Factur-X / EN16931) : dates, décimaux, namespaces, schemeID, devises. API de réparation avec diff détaillé et validation avant/après.

#factur-x #repair
Lire l'article →
Technique

Données ERP → Factur-X CII : mapper JSON vers XML EN16931 (guide développeur)

Comment transformer les données structurées de votre ERP (JSON, CSV) en XML CII conforme EN16931 pour générer un Factur-X. Mapping des champs, cas spéciaux (autoliquidation, avoir), exemples pratiques.

#ERP #JSON
Lire l'article →
Technique

Factur-X 1.08 / ZUGFeRD 2.4 : ce qui change pour les développeurs

Nouveautés de Factur-X 1.08 et ZUGFeRD 2.4 pour les développeurs : passage à CII D22B, nouveaux champs, compatibilité avec les versions précédentes, et impact sur les pipelines de validation.

#factur-x #ZUGFeRD
Lire l'article →
Technique

PDF/A-3 vs PDF/A-1 : pourquoi Factur-X 1.08 exige PDF/A-3 et pas PDF/A-1

Différences techniques entre PDF/A-1, PDF/A-2 et PDF/A-3 pour la facturation électronique. Pourquoi Factur-X nécessite PDF/A-3 (ISO 19005-3) pour embarquer le XML CII, et ce que ça change pour les développeurs.

#PDF/A-3 #PDF/A-1
Lire l'article →
Technique

Rejets Chorus Pro décryptés : erreurs Factur-X, codes retour et corrections

Comprendre et corriger les rejets Chorus Pro lors de la soumission de factures Factur-X. Codes de rejet courants, erreurs EN16931 spécifiques au B2G, et diagnostic systématique.

#chorus-pro #factur-x
Lire l'article →
Technique

API annuaire et routage SIRET : identifier et router les factures électroniques

Comment fonctionne le routage des factures dans l'écosystème de facturation électronique français : annuaire central, identification SIRET/SIREN, API SIRENE, et mapping vers les champs Factur-X.

#siret #siren
Lire l'article →
Technique

Extraire l'XML d'un PDF Factur-X reçu : méthodes et automatisation

Comment extraire le fichier XML CII embarqué dans un PDF Factur-X ou ZUGFeRD, le parser pour en tirer les données métier, et valider son contenu. Exemples complets en Python, Java, PHP et CLI.

#factur-x #xml
Lire l'article →
Technique

PHP et mPDF : résoudre le bug XML 0 bytes en PDF/A-3 Factur-X

Diagnostic et correction du bug mPDF où le fichier XML Factur-X embarqué dans un PDF/A-3 apparaît avec un flux de 0 bytes. Quatre approches de correction testées avec du code PHP fonctionnel.

#php #mpdf
Lire l'article →
Technique

Python et Factur-X : générer, attacher et valider un XML EN16931

Guide complet pour manipuler des factures Factur-X en Python : générer un XML CII conforme, l'embarquer dans un PDF/A-3 avec la bibliothèque factur-x, extraire et valider via XSD, Schematron et l'API FacturX.

#python #factur-x
Lire l'article →
Technique

Invoice Ninja et la réforme française : architecture e-invoicing et validation

Architecture technique d'Invoice Ninja pour la facturation électronique Factur-X : pipeline Laravel → horstoeko/zugferd → CII D22B, configuration SIRET/TVA, validation avant remise à une PA et préparation à la réforme 2026.

#invoice-ninja #factur-x
Lire l'article →
Technique

Dolibarr et Factur-X 2026 : module, validation et intégration API

Comment configurer le module Factur-X de Dolibarr, corriger les erreurs de validation EN16931 les plus courantes, et intégrer un pipeline de conformité automatisé avant l'envoi aux PA.

#dolibarr #factur-x
Lire l'article →
Technique

Déployer un validateur Factur-X : KoSIT, Mustangproject ou API SaaS ?

Comparatif technique des options de validation Factur-X : KoSIT Validator, Mustangproject/ZUV, pipeline custom verapdf+Schematron, et API SaaS. Checklist d'installation, exemples de code, matrice de décision et patterns CI/CD.

#validation #kosit
Lire l'article →
Technique

Odoo et Factur-X : diagnostiquer et corriger les erreurs de validation

Guide technique pour identifier et corriger les erreurs Factur-X, XRechnung et Peppol dans Odoo v16+. Modules EDI, configuration des identifiants, EAS codes, et workflow de validation.

#odoo #factur-x
Lire l'article →
Technique

Catalogue des erreurs BR-* EN16931 : causes, correctifs, exemples XML

Référence complète des erreurs BR-* Schematron EN16931 rencontrées lors de la validation Factur-X et CII. Pour chaque règle : cause racine, XML invalide, XML corrigé, pièges à éviter.

#en16931 #schematron
Lire l'article →
Intégration

InvoiceNinja et Factur-X : valider ses factures avant la réforme 2026

Comment vérifier que vos factures générées par InvoiceNinja sont conformes EN16931 avant la réforme de facturation électronique 2026-2027. Erreurs courantes et corrections.

#invoiceninja #factur-x
Lire l'article →
Technique

Profils Factur-X : MINIMUM → EXTENDED (matrice de choix technique)

Comment choisir entre les profils Factur-X MINIMUM, BASIC WL, BASIC, EN 16931 et EXTENDED selon votre flux, votre PA et vos obligations réglementaires.

#factur-x #profils
Lire l'article →
Technique

Champs obligatoires EN16931/Factur-X : cartographie et mapping ERP → XML

Quels champs sont obligatoires pour une facture EN16931 conforme ? Cartographie des Business Terms, mapping vers les champs ERP courants, et erreurs fréquentes de configuration.

#en16931 #factur-x
Lire l'article →
Technique

Factur-X vs UBL vs CII : quel format choisir selon votre intégration

Comparatif technique des trois syntaxes EN16931 acceptées pour la facturation électronique française : structure XML, namespaces, cas d'usage, validation et conversion.

#factur-x #ubl
Lire l'article →
Technique

PDF/A-3 pour Factur-X : checklist de conformité et pièges courants

Pourquoi la plupart des bibliothèques PDF génèrent des fichiers non conformes PDF/A-3, comment diagnostiquer les erreurs ISO 19005-3, et comment produire un conteneur Factur-X valide avec VeraPDF.

#pdf/a-3 #factur-x
Lire l'article →
Technique

Valider EN16931 / Factur-X en pratique : XSD vs Schematron, erreurs BR-*, workflow de debug

Comment fonctionne réellement la validation d'une facture électronique EN16931, pourquoi un XML valide en XSD peut échouer en Schematron, et comment déboguer les erreurs BR-* étape par étape.

#en16931 #schematron
Lire l'article →
Guide

Facturation électronique 2026 : le guide technique complet pour développeurs

Tout ce qu'un architecte logiciel ou lead dev doit maîtriser avant septembre 2026 : formats EN16931, modèle PA, pipeline de validation, profils Factur-X, et les cinq zones de friction identifiées dans les communautés open source.

#facturation électronique #en16931
Lire l'article →