Validation Factur-X

Deux validateurs Factur-X peuvent avoir raison tout en donnant deux résultats différents

La plupart des contradictions viennent d’un périmètre différent : un outil vérifie le conteneur PDF, un autre le XML CII, un troisième les règles EN16931, et une Plateforme Agréée ajoute son propre contexte de transmission.

Avant de conclure qu’un outil se trompe

Un écart de résultat devient utile seulement si vous pouvez le rattacher à une couche, une version de règles ou un contexte de dépôt.

Comparer le périmètre

PDF, XML, XSD, Schematron, profil et PA ne répondent pas à la même question.

Lire les règles brutes

Un code erreur et sa version de référentiel valent mieux qu’un verdict global.

Décider l’action

Corriger le fichier, fournir une donnée ERP ou attendre le retour réel du parcours PA.

Comparer les couches avant de comparer les outils

Un écart de verdict devient exploitable quand il est rattaché à une couche précise. Le tableau ci-dessous donne des cas génériques, sans supposer qu’un validateur ment ou qu’un autre arbitre l’acceptation PA.

Couche vérifiée Divergence possible Pourquoi deux outils divergent Action recommandée
PDF/A-3 Un outil signale le PDF comme invalide, un autre lit quand même le XML embarqué. Certains contrôles bloquent au conteneur PDF, d’autres continuent l’analyse XML pour aider au diagnostic. Séparer le verdict PDF/A-3 du verdict XML et corriger le packaging avant transmission finale.
XML CII embarqué Le PDF est lisible, mais le XML embarqué est absent, corrompu ou incohérent avec le profil déclaré. Un outil orienté PDF peut vérifier la présence du fichier, tandis qu’un outil métier lit le contenu CII. Extraire le XML, vérifier le profil Factur-X déclaré et relancer un contrôle XSD/Schematron.
XSD Un validateur bloque sur une erreur de structure XML avant même d’exécuter les règles métier. Les validateurs ne s’arrêtent pas toujours au même stade du pipeline. Corriger d’abord la structure XML, puis relancer les règles EN16931.
Schematron EN16931 Un outil remonte un BR-* bloquant, un autre le classe en avertissement ou ne l’exécute pas. Les versions de règles, listes de codes et politiques warning/error peuvent diverger. Comparer la règle exacte, la version du référentiel et le champ métier concerné.
France CTC / contexte français Un fichier passe EN16931 mais échoue sur un complément attendu pour le parcours France 2026. Le socle européen et les contraintes françaises ne couvrent pas le même périmètre. Identifier les données de routage ou de contexte à fournir depuis l’ERP.
PA / parcours opérateur Un fichier techniquement exploitable reste rejeté lors d’une vraie soumission plateforme. La plateforme ajoute son contexte de dépôt, de destinataire et de cycle de vie. Utiliser le diagnostic pour préparer le fichier, puis s’appuyer sur le retour PA réel pour l’acceptation finale.

Comment trancher proprement

  1. 1. Récupérer le fichier exact testé, pas une version exportée après coup.
  2. 2. Identifier la couche en échec : PDF/A-3, XML, XSD, Schematron, profil, France CTC.
  3. 3. Comparer la version des règles et les messages bruts.
  4. 4. Séparer ce qui est réparable automatiquement de ce qui demande une donnée métier.
  5. 5. Contrôler le document réparé dans votre parcours PA/SC avant transmission finale.

Ce que FacturX API apporte

Le scanner public sépare les couches du diagnostic. L’API peut ensuite convertir ou réparer certains cas déterministes avec des traces exploitables. Elle ne remplace pas une soumission PA et ne doit pas inventer une décision métier manquante.