Technique

Erreur "No Factur-X XML found" : PDF sans XML embarqué — diagnostic PDF/A-3

3 min de lecture Par FacturX API

Cette erreur indique l'absence de XML CII détectable dans le PDF. Cause : PDF simple, ré-impression qui a perdu la pièce jointe, ou problème de détection côté outil.

En bref

  • Cette erreur signifie qu’aucun fichier XML CII n’a été détecté dans votre PDF.
  • Cause principale : c’est un PDF « simple » sans XML embarqué (pas un PDF/A-3 avec pièce jointe).
  • Cause #2 : la pièce jointe a été perdue lors d’une re-impression PDF (Print to PDF, Aperçu, etc.).
  • Cause #3 : un nom de fichier inattendu côté extracteur — les noms factur-x.xml, zugferd-invoice.xml, xrechnung.xml sont normalement reconnus, mais un nom exotique peut ne pas être détecté.
  • Solution : utiliser /convert pour générer un Factur-X conforme à partir d’un PDF + JSON ERP.

Ce que l’erreur veut dire

Cette erreur (renvoyée par nos endpoints /extract ou /validate) signifie que le fichier PDF transmis ne contient aucune pièce jointe XML détectable comme XML CII Factur-X. La spécification Factur-X impose un PDF/A-3 avec un fichier factur-x.xml embarqué via le mécanisme PDF/A-3 « Embedded Files ». Certains outils acceptent aussi des noms alternatifs comme zugferd-invoice.xml ou xrechnung.xml lorsqu’ils sont cohérents avec un profil connu.

Quand cette erreur arrive

Survient quand : (a) le PDF est un PDF simple généré par Word/LibreOffice/wkhtmltopdf sans option PDF/A-3 ; (b) un PDF Factur-X a été ré-imprimé via « Imprimer en PDF » macOS/Windows et a perdu sa pièce jointe ; (c) le PDF a été optimisé/compressé par un outil qui supprime les fichiers attachés ; (d) problème possible de détection côté extracteur : le XML est attaché sous un nom que l’extracteur ne reconnaît pas.

Comment diagnostiquer le PDF

# Vérifier la présence d'une pièce jointe dans le PDF
$ pdfinfo -E facture.pdf
# Cherche la ligne : 'Embedded files: 0' = pas de XML embarqué

# Avec pdftk
$ pdftk facture.pdf dump_data | grep -A 2 EmbeddedFile

# Avec qpdf (inspection plus détaillée)
$ qpdf --show-xref facture.pdf | grep -i attached

Comment régénérer un Factur-X conforme

# Convertir un PDF simple en Factur-X conforme via /convert :
curl -X POST https://api.facturxapi.com/api/v1/convert \
  -H "Authorization: Bearer VOTRE_CLE" \
  -F "[email protected]" \
  -F 'invoice_data={"invoiceNumber":"FA-2026-042","issueDate":"20260401","seller":{"name":"Ma Société SAS","vatId":"FR12345678901"},"buyer":{"name":"Client SA"},"currencyCode":"EUR","lines":[{"description":"Prestation","quantity":1,"unitPrice":1000,"vatRate":20,"vatCategory":"S"}],"totals":{"netAmount":1000,"vatAmount":200,"grossAmount":1200,"dueAmount":1200}}' \
  -o facture-facturx.pdf

Correction manuelle

Si vous avez un PDF + des données structurées (JSON ERP) : utilisez /convert qui produit un PDF/A-3 conforme avec XML CII embarqué. Si vous avez un Factur-X qui a perdu son XML, régénérez-le depuis la source. Ne tentez pas d’attacher manuellement un XML à un PDF non-A-3 : la conformité PDF/A-3 elle-même est une condition Factur-X.

Réparable automatiquement par /repair ?

Non — la correction est sémantique ou structurelle et nécessite une décision humaine (choix de catégorie TVA, URN de profil, etc.). Utilisez /validate pour confirmer après correction manuelle.

Et maintenant ?

Convertir mon PDF en Factur-X conforme →

curl -X POST https://api.facturxapi.com/api/v1/convert \
  -H "Authorization: Bearer VOTRE_CLE" \
  -F "[email protected]"

Voir aussi

#en16931 #schematron #factur-x #erreurs #validation