Extracteur Factur-X / ZUGFeRD
Extrayez le fichier XML CII embarqué d'une facture hybride PDF/A-3 (Factur-X 1.0.7 / ZUGFeRD 2.3), 100 % côté client. Aucun upload, aucun log.
Glissez-déposez un PDF ici, ou cliquez pour choisir un fichier
Aucun fichier sélectionné
100 % dans votre navigateur — aucun upload, aucune donnée envoyée à ediverse.io.
Comment ça marche
Une facture hybride Factur-X (Franco-Allemande, FNFE-MPE) ou ZUGFeRD (Allemande, FeRD) est un fichier PDF/A-3 (ISO 19005-3) contenant une pièce jointe XML conforme au schéma UN/CEFACT Cross-Industry Invoice (CII). L'extracteur procède en cinq étapes :
- Lecture du header PDF : la signature
%PDF-1.xest contrôlée et la version PDF mémorisée. - Localisation du
xref: le pointeurstartxrefest suivi vers la table de références croisées classique (ISO 32000-1 §7.5.4). Chaque entrée donne l'offset d'un objet indirect. - Navigation Catalog → Names → EmbeddedFiles : le
trailerpointe vers le/Root(le catalogue) ; celui-ci expose un name tree/Names/EmbeddedFilesqui énumère les pièces jointes (ISO 19005-3 §6.8). Un fallback lit le tableau/AF(Associated Files) du catalogue. - Extraction du flux XML : la spécification de
fichier (
/Type /Filespec) référence un stream/Type /EmbeddedFile. Si le filtre est/FlateDecode(cas habituel), le navigateur décompresse viaDecompressionStream('deflate'). - Détection du profil : le XML CII expose son URN
via
ExchangedDocumentContext/GuidelineSpecifiedDocumentContextParameter/ID. Cet identifiant détermine le profil : MINIMUM, BASIC WL, BASIC, EN 16931, EXTENDED ou XRECHNUNG.
Profils de conformité supportés
Les six profils définis par Factur-X 1.0.7 (FNFE-MPE) et ZUGFeRD 2.3 (FeRD) sont reconnus, ainsi que la CIUS allemande XRechnung (KoSIT). L'URN du profil est extrait du XML embarqué et affiché tel quel dans le rapport.
MINIMUM—urn:factur-x.eu:1p0:minimum. Données d'en-tête uniquement, Factur-X seulement.BASIC WL—urn:factur-x.eu:1p0:basicwl. Without Lines, pas de détail ligne.BASIC—urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic. Sous-ensemble EN 16931, minimum requis pour qualifier de facture fiscale.EN 16931—urn:cen.eu:en16931:2017. Norme européenne cœur (anciennement « COMFORT » dans ZUGFeRD 1.0).EXTENDED—urn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended. EN 16931 + extensions sectorielles.XRECHNUNG—…urn:xeinkauf.de:kosit:xrechnung_3.0. CIUS imposée au secteur public allemand.
Limites
L'extracteur est volontairement minimaliste — il s'agit d'extraire le XML, pas de remplacer un parser PDF complet :
-
Les PDF chiffrés (
/Encrypt) ne sont pas pris en charge. -
Les cross-reference streams (PDF 1.5+) ne sont pas
lus : nous traitons la table
xrefclassique. La grande majorité des chaînes d'émission de factures électroniques produisent un xref classique pour compatibilité PDF/A. -
Les object streams (
/ObjStm) ne sont pas pris en charge. -
Seul le filtre
/FlateDecode(zlib) est décodé. Les filtres rarissimes pour des pièces jointes XML (/ASCII85Decode,/LZWDecode…) renverrontE_PDF_PARSE_FAILED. - L'extracteur ne valide pas le contenu du XML extrait — il détecte uniquement le profil. Utilisez le validateur EN 16931 ou le validateur PEPPOL pour valider le XML extrait.
Confidentialité
Documentation associée
- Standard Factur-X / ZUGFeRD — l'historique, les versions et la structure CII de la facture hybride.
- Validateur PEPPOL — pour valider une facture UBL ; complémentaire pour les chaînes PEPPOL Network.
- Validateur EN 16931 — la couche cœur de norme avant les CIUS Factur-X / XRechnung / PEPPOL BIS.
- Sources : FNFE-MPE Factur-X 1.0.7 (fnfe-mpe.org/factur-x/), FeRD ZUGFeRD 2.3 (ferd-net.de), ISO 19005-3 (PDF/A-3), ISO 32000-1 (PDF 1.7).