Aller au contenu
documentflare
Tutoriels

Facture rejetée par votre plateforme agréée : diagnostic pas à pas

Votre Factur-X revient rejeté par la plateforme agréée ? Les causes réelles — PDF/A-3, XML embarqué, AFRelationship, règles BR-CO — et comment localiser puis corriger le défaut.

Sommaire

Votre logiciel de facturation a produit un beau PDF, votre plateforme agréée (PA) l’a transmis… et la facture revient rejetée, souvent avec un code d’erreur qui ne dit rien à personne. Bonne nouvelle : un rejet n’est presque jamais mystérieux. La plateforme a inspecté des couches techniques que votre lecteur PDF ne montre pas — et ces couches se diagnostiquent méthodiquement, y compris en local, sans envoyer la facture à un service tiers.

Depuis le 1er septembre 2026, la réception des factures électroniques est obligatoire pour toutes les entreprises françaises, et les grandes entreprises comme les ETI doivent déjà émettre via une plateforme (PME et TPE : septembre 2027). Les rejets affluent donc chez des émetteurs qui découvrent le format — ce guide vous aide à comprendre le vôtre.

Pourquoi la facture « semblait correcte »

Un Factur-X est un fichier hybride : un PDF/A-3 lisible par un humain, plus un fichier XML structuré embarqué en pièce jointe, lu par les logiciels. Quand vous ouvrez la facture dans un lecteur PDF, vous voyez uniquement la première moitié. Les causes de rejet vivent dans la seconde — ou dans les propriétés techniques du conteneur lui-même, invisibles à l’affichage.

Une plateforme agréée ne « lit » pas votre facture comme vous : elle dépile le conteneur, extrait le XML et applique des règles de validation avant d’accepter ou de router le document. Un rendu impeccable peut cohabiter avec un XML absent, corrompu ou arithmétiquement incohérent.

Les causes réelles de rejet, couche par couche

Le diagnostic d’une facture rejetée suit un ordre logique : du conteneur vers le contenu. C’est exactement l’ordre appliqué par l’outil Diagnostic Factur-X de Document Flare, qui évalue cinq couches et s’arrête au premier blocage.

1. Le conteneur n’est pas un PDF/A-3

Factur-X exige un PDF/A-3 (ISO 19005-3), signalé dans les métadonnées XMP par pdfaid:part=3. Un PDF ordinaire — ou un PDF/A d’un autre profil — échoue ici. Deux signaux complémentaires sont vérifiés : la présence d’un OutputIntent (profil colorimétrique, obligatoire en PDF/A) et la déclaration du schéma d’extension Factur-X dans les XMP (fx:DocumentType et ses compagnons ConformanceLevel, DocumentFileName, Version).

Cas typique : une facture « aplatie » ou reconvertie par un outil générique en aval — la conversion a produit un PDF standard, et le caractère PDF/A-3 est perdu.

2. Le XML est absent, mal nommé ou mal déclaré

Le XML doit être joint sous un nom reconnu : factur-x.xml (le plus courant), zugferd-invoice.xml ou xrechnung.xml pour les saveurs allemandes. Un fichier joint sous facture.xml ou data.xml n’est pas un Factur-X — la plateforme ne trouve tout simplement pas de facture électronique dans votre PDF.

Deux autres pièges sur cette couche :

  • AFRelationship : la pièce jointe doit être déclarée en relation avec le document — Alternative est la valeur attendue pour Factur-X (Data est tolérée). Une relation absente ou incorrecte provoque des rejets côté PA alors que le XML est parfaitement présent.
  • XML corrompu : le fichier est là mais ne se parse pas — export tronqué, encodage cassé. Rien à diagnostiquer au-delà : il faut régénérer.

Vous pouvez vérifier la présence du XML à la main avec Déballer les pièces jointes, ou le vérifier automatiquement avec le Diagnostic Factur-X.

3. La structure du XML est incomplète

Le XML d’un Factur-X est une facture CII (CrossIndustryInvoice). Trois sections sont indispensables : ExchangedDocumentContext (dont l’URN qui déclare le profil), ExchangedDocument (numéro, date) et SupplyChainTradeTransaction (vendeur, acheteur, lignes, totaux). Une synthèse monétaire (SpecifiedTradeSettlementHeaderMonetarySummation) doit également être présente.

Sur cette couche tombent aussi les mentions minimales de la norme : numéro de facture (BR-1, BT-1), date d’émission (BR-2, BT-2), nom du vendeur (BR-11, BT-27), nom de l’acheteur (BR-17, BT-44).

4. Les totaux ne s’additionnent pas (règles BR-CO-*)

Les règles arithmétiques EN 16931 sont une cause majeure de rejet : elles vérifient que le XML est cohérent avec lui-même. Les principales :

Règle Ce qui doit être vérifié
BR-CO-10 La somme des montants de lignes égale le total des lignes (BT-106)
BR-CO-13 Total HT (BT-109) = lignes − remises + frais
BR-CO-14 Total TVA (BT-110) = somme des TVA par taux (BT-117)
BR-CO-15 Total TTC (BT-112) = total HT + TVA
BR-CO-16 Net à payer (BT-115) = TTC − acomptes + arrondi

Les comparaisons tolèrent un écart d’un demi-centime (les arrondis intermédiaires existent). S’y ajoutent les règles de précision BR-DEC : les montants de la facture tiennent sur 2 décimales maximum, le prix unitaire sur 4. Enfin, BR-16 exige au moins une ligne de facture dès que le profil dépasse MINIMUM — un Factur-X BASIC « sans lignes » qui se déclare BASIC tout court sera rejeté.

5. Les identifiants français sont mal formés

Couche spécifique France : le SIREN (schéma 0002) doit comporter 9 chiffres, le SIRET (schéma 0009) 14 chiffres, côté vendeur (BT-30) comme côté acheteur (BT-47). Un identifiant déclaré avec le mauvais schéma ou une longueur erronée est signalé.

À noter : les plateformes vérifient souvent au-delà du format — SIREN actif dans l’annuaire, destinataire connu. Un SIREN bien formé mais radié peut donc passer le diagnostic fichier et échouer à la transmission.

Diagnostiquer la facture rejetée, en pratique

L’outil Diagnostic Factur-X applique cette cascade entièrement dans votre navigateur — le fichier ne quitte pas votre appareil, ce qui compte pour un document qui contient vos montants, vos clients et parfois vos coordonnées bancaires.

  1. Déposez le PDF rejeté (un seul fichier à la fois).
  2. Lisez le rapport par couches : chaque couche est conforme, en écart, bloquante (fatale) ou non évaluée.
  3. Une couche bloquante court-circuite les suivantes — inutile de chercher une erreur BR-CO si le XML est absent : corrigez d’abord la couche fatale, puis relancez.
  4. Pour les écarts couverts, le rapport indique la règle exacte (BR-CO-10, FX-EMBEDDED-AFREL…) et une piste de correction.

Le diagnostic porte sur le socle testé (version 1.3.16 des artefacts de validation, listes de codes au 15 mai 2026). C’est un diagnostic de première intention : il ne rejoue pas l’intégralité des règles Schematron officielles — pour une validation exhaustive, le validateur de la FNFE-MPE reste la référence.

Réparer ou régénérer ?

La question se pose différemment selon la couche fautive :

  • Régénérez si le XML est absent, corrompu, structuralement incomplet, ou si les montants déclarés sont faux. Les données métier (totaux, lignes, identités) appartiennent à votre logiciel de facturation ou à votre plateforme : aucun outil PDF ne peut les inventer proprement. Vérifiez le paramétrage de l’export — profil Factur-X choisi, mentions obligatoires renseignées — puis réexportez.
  • La couche conteneur est le seul domaine où une retouche fichier est envisageable (OutputIntent manquant, relation AFRelationship mal déclarée). En pratique, la correction propre reste côté générateur : « réparer » un conteneur à la main sans maîtriser les spécifications PDF/A-3 produit souvent un nouveau rejet. Et rappel utile : convertir un PDF en PDF/A ne suffit pas — la conversion PDF/A de Document Flare produit du profil 1b best-effort, pas le couple PDF/A-3 + XML + XMP qui fait un Factur-X.
  • Si le diagnostic est vierge mais que la plateforme rejette toujours : la cause est côté transmission (SIREN inactif, annuaire, paramétrage de flux). Le message de rejet de la PA et son support deviennent votre meilleure piste.

Un réflexe qui fait gagner du temps : conservez le message de rejet exact. « Facture non conforme » et « BR-CO-10 » ne se creusent pas de la même façon — le second vous emmène directement à la couche 4.

En résumé

Un rejet de facture électronique se diagnostique en descendant les couches : PDF/A-3, XML embarqué et bien déclaré, structure CII complète, arithmétique EN 16931, identifiants français. La plupart des rejets naissent sur les deux premières couches — invisibles dans le PDF, détectables en quelques secondes en local. Diagnostiquez d’abord, régénérez depuis le logiciel émetteur ensuite : c’est là que la donnée vit, et c’est là qu’elle se corrige. Pour les profils MINIMUM et BASIC rejetés alors que le fichier « passe » les validateurs, c’est un problème différent — voir quel profil Factur-X choisir.