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.xmlsont normalement reconnus, mais un nom exotique peut ne pas être détecté. - Solution : utiliser
/convertpour 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 "file=@facture-simple.pdf" \
-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 "file=@facture.pdf"
Voir aussi
- Catalogue complet des erreurs BR-* EN16931
- Comprendre les messages Schematron EN16931
- Corriger automatiquement les erreurs réparables
- Erreur PDF/A-3 conformance : niveau incorrect
- Convertir un PDF classique en Factur-X PDF/A-3 conforme — mode ERP (JSON + PDF) ou mode extraction (OCR si nécessaire)
- Extraire le XML CII d’un Factur-X reçu — si vous avez VRAIMENT un Factur-X mais qu’il n’est pas détecté par votre outil