Alle Formate
Factur-X / ZUGFeRD
PDF/A-3

Ein hybrides Factur-X- oder ZUGFeRD-PDF per API prüfen

Eine Factur-X-Rechnung ist ein PDF/A-3, das sein XML als Anhang trägt. ZUGFeRD ist dasselbe Dokument unter seinem deutschen Namen — derselbe Container, dieselbe Syntax, dieselben Profile. Factlint prüft beide Schichten: das PDF als archivierbares Dokument und das XML als Rechnung.

Was es genau ist

Eine Datei, zwei Lesarten. Ein Mensch öffnet das PDF und sieht eine Rechnung; Software liest den XML-Anhang und entnimmt die Daten. Das Format verlangt, dass beide dasselbe aussagen, und genau das prüft eine Kontrolle: Ein gültiges PDF mit gültigem XML kann trotzdem eine ungültige Rechnung sein, wenn der Anhang nicht als solcher deklariert ist.

Die drei geprüften Schichten

  1. 1Der Container — PDF/A-3-Konformität, eingebettete Schriften, Output Intent. Ohne sie ist das Dokument nicht archivierbar, unabhängig vom Inhalt.
  2. 2Die Übereinstimmung beider — die deklarierte Beziehung des Anhangs und das in den XMP-Metadaten angekündigte Profil gegenüber dem, das das XML tatsächlich anwendet.
  3. 3Die Rechnung selbst — der XML-Anhang durchläuft anschließend dieselben Regeln wie jedes einzeln eingereichte CII.

Die Profile

MINIMUM und BASIC WL tragen nicht genug Daten, um Rechnungen im Sinne der Norm zu sein: Der französische Sockel weist sie beim Versand zurück. Die akzeptierten Profile reichen von BASIC bis EXTENDED, und das französische Mandat ergänzt EXTENDED-CTC-FR.

Wogegen Factlint es prüft

Die versiegelten Sockel, die dieses Format heute annehmen. Jedes Urteil nennt denjenigen, der es gefällt hat, und bleibt wiederholbar.

  • fr-2026-08

    EN 16931 CIUS France + BR-FR-CTC (FNFE)

Die geltenden Codes

6 dokumentierte Codes gelten für dieses Format, alle unten aufgeführt.

Codes ansehen

Ausprobieren

Der kostenlose Prüfer nimmt dieses Format ohne Konto an. Per API ist der Aufruf eine Zeile:

curl -X POST https://api.factlint.com/v1/validate \
  -F 'file=@facture.pdf' \
  -F 'jurisdiction=FR' \
  -F 'ruleset=latest' \
  -F 'pinned=true' \
  -H 'Accept-Language: fr'
Prüfer öffnen