Ce que vous voyez, et ce que le comptable voit
Quand vous ouvrez une facture Factur-X, votre lecteur PDF affiche la page « visuelle » : un logo, un tableau, des totaux. Le logiciel comptable du destinataire, lui, ne regarde pas cette page. Il lit le fichier factur-x.xml attaché au PDF et importe les données sans les ressaisir.
Les deux devraient dire la même chose. En pratique, ce n’est pas toujours le cas : un numéro de TVA oublié dans le XML, une ligne arrondie différemment, un IBAN qui a changé dans le modèle Word mais pas dans le paramétrage du logiciel de facturation… Lire le XML, c’est vérifier ce que la machine va réellement comprendre.
Ce que l’outil affiche
- Le vendeur et l’acheteur : nom, adresse, SIREN, numéro de TVA, e-mail.
- Le document : type (facture, avoir, acompte…), numéro, dates, profil Factur-X, cadre de facturation.
- Les lignes : désignation, quantité, unité, prix unitaire, taux de TVA, montant HT.
- La ventilation de TVA par taux, avec les motifs d’exonération éventuels (franchise en base, autoliquidation…).
- Les totaux : HT, TVA, TTC, acomptes déjà versés, net à payer.
- Le paiement : moyen, IBAN, BIC, référence, conditions et échéance.
- Les notes : pénalités de retard, indemnité de 40 €, escompte et autres mentions.
Un onglet « Contrôles » vérifie en même temps la cohérence du fichier. Si vous cherchez surtout à savoir si une facture est valide, la page valider un fichier Factur-X ouvre directement ce résultat.
Où se cache le XML dans le PDF ?
Techniquement, Factur-X s’appuie sur PDF/A-3, une variante du PDF conçue pour l’archivage qui autorise les fichiers joints. Le XML est stocké comme une pièce jointe classique, déclarée à deux endroits du document : dans l’arbre des fichiers incorporés (/EmbeddedFiles) et dans la liste des « fichiers associés » (/AF) avec une relation Alternative, qui signifie « ce fichier est une autre représentation du même contenu ».
L’outil lit ces deux emplacements, car certains logiciels n’en remplissent qu’un. Il reconnaît aussi les noms utilisés par ZUGFeRD (zugferd-invoice.xml) et XRechnung (xrechnung.xml).
Si l’outil vous répond « ce PDF n’est pas une facture Factur-X », c’est qu’il n’y a aucun XML de facture dans le fichier. Le document a peut-être été « imprimé en PDF » à partir d’un Factur-X, ce qui supprime les pièces jointes.
Exemple : à quoi ressemble le XML
Voici un extrait réel, le bloc qui décrit le vendeur. Chaque balise correspond à une donnée de la norme EN 16931 :
<ram:SellerTradeParty>
<ram:Name>Atelier Numérique SARL</ram:Name>
<ram:SpecifiedLegalOrganization>
<ram:ID schemeID="0002">552100554</ram:ID> <!-- SIREN (BT-30) -->
</ram:SpecifiedLegalOrganization>
<ram:PostalTradeAddress>
<ram:PostcodeCode>69003</ram:PostcodeCode>
<ram:LineOne>12 rue des Lilas</ram:LineOne>
<ram:CityName>Lyon</ram:CityName>
<ram:CountryID>FR</ram:CountryID>
</ram:PostalTradeAddress>
<ram:SpecifiedTaxRegistration>
<ram:ID schemeID="VA">FR40552100554</ram:ID> <!-- TVA (BT-31) -->
</ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>Le schemeID="0002" indique que l’identifiant est un SIREN. C’est ce genre de détail qui fait qu’un fichier est accepté ou non par une plateforme agréée.