ZUGFeRD

PDF/A-3 fehlt bei ZUGFeRD

Warum Validatoren PDF/A-3 verlangen.

Warum ist PDF/A-3 für ZUGFeRD zwingend erforderlich?

Der ZUGFeRD-Standard basiert auf dem Prinzip einer hybriden E-Rechnung. Damit elektronische Systeme diese Rechnungen automatisiert verarbeiten können, muss das Dokument ein ganz bestimmtes technisches Fundament haben: das PDF/A-3-Format. Wird die Rechnung als "normales" Standard-PDF (z. B. PDF 1.4 oder 1.7) exportiert, bricht jeder offizielle E-Rechnungs-Validator sofort mit der Fehlermeldung Not a PDF/A-3 ab.

Der Grund dafür liegt in den ISO-Richtlinien: Ältere PDF/A-Standards (wie PDF/A-1 oder PDF/A-2) verbieten das Einbetten von externen Dateien komplett. Erst der Standard PDF/A-3 (ISO 19005-3) erlaubt es explizit, beliebige Dateiformate (wie die für ZUGFeRD benötigte factur-x.xml) als nativen Anhang in den PDF-Container zu integrieren.


Unterteilung: PDF/A-3B vs. PDF/A-3U

In der Praxis fordert die ZUGFeRD-Spezifikation meist die Einhaltung eines bestimmten Konformitätslevels:

  • PDF/A-3b (Basic): Garantiert, dass das visuelle Erscheinungsbild des Dokuments über einen sehr langen Zeitraum exakt gleich bleibt (Langzeitarchivierung). Es stellt die Mindestanforderung für ZUGFeRD dar.
  • PDF/A-3u (Unicode): Bietet die gleichen Vorteile wie "3b", verlangt zusätzlich aber, dass sämtlicher Text im PDF in Unicode (UCS-2 bzw. UTF-8) kodiert ist. Das stellt sicher, dass der Text im PDF (z. B. von Suchmaschinen oder Readern) fehlerfrei kopiert und gelesen werden kann.

Häufige Ursachen für den Fehler

  • Falscher Export-Modus: Die genutzte Software (z. B. ERP-System, PDF-Drucker oder PHP-Bibliotheken wie TCPDF/mPDF) erzeugt standardmäßig ein herkömmliches Web-PDF. Der PDF/A-3-Modus muss oft explizit per Code oder Checkbox aktiviert werden.
  • Nicht eingebettete Schriftarten: PDF/A-3 verlangt, dass alle im Dokument verwendeten Schriftarten (Fonts) vollständig im PDF gespeichert sind. Verweist das Dokument nur auf eine Systemschriftart (wie Arial oder Times New Roman), schlägt die PDF/A-Konvertierung fehl.
  • Fehlende Farbräume (Device-Independent Color): Bilder oder Logos im PDF müssen in einem geräteunabhängigen Farbraum (z. B. sRGB) vorliegen oder ein entsprechendes ICC-Profil besitzen.

🛠️ Wie wird der Fehler behoben?

  1. In PHP-Bibliotheken (Beispiel TCPDF): Es reicht nicht, die XML-Datei anzuhängen. Du musst der Bibliothek mitteilen, dass das Ausgabeformat PDF/A-3 sein soll. In TCPDF geschieht dies über den Parameter:
    $pdf->setTextShadow(array('enabled'=>false)); (Schatten entfernen, da in PDF/A verboten) und die Definition des PDF/A-Modus im Konstruktor oder den Einstellungen.
  2. Validierungs-Metadaten einbetten: Ein PDF/A-3 Dokument benötigt im Header spezielle XMP-Metadaten, die dem Validator explizit sagen: "Ich bin ein PDF/A-3 Dokument". Ohne diesen Eintrag erkennt der Validator das Format nicht, selbst wenn die Struktur korrekt wäre.
  3. Anhänge richtig deklarieren: Die eingebettete XML-Datei muss mit dem Bezug (Relationship) /Alternative angehängt werden, um die PDF/A-3-Konformität für hybride Dokumente zu erfüllen.

War dieser Artikel hilfreich?