Glossary Term

PDF/A-3

PDF/A-3 (ISO 19005-3) is an archival PDF format that allows embedded file attachments, making it the required container format for ZUGFeRD and Factur-X hybrid e-invoices.

Quick Facts

Used by
ZUGFeRD, Factur-X
Standard
ISO 19005-3
Key feature
Allows embedded XML attachments
PDF version
1.7 (ISO 32000-1)

Definition

What is PDF/A-3?

PDF/A-3 is an ISO standard (ISO 19005-3) for long-term archival of PDF documents. What makes it special for e-invoicing is that it allows files to be embedded inside the PDF — specifically, the structured XML invoice data.

This is the foundation of hybrid e-invoicing: a PDF that looks like a normal invoice to humans, but contains machine-readable XML data inside.

Why PDF/A-3 for E-Invoicing?

ZUGFeRD and Factur-X invoices embed a CII (Cross-Industry Invoice) XML file inside a PDF/A-3 document. The result is dual-readability:

  • Human-readable: Open the PDF, see a formatted invoice

  • Machine-readable: Extract the embedded XML, process automatically
  • PDF/A-3 Requirements

    Requirement Why -----------------
    Font embedding All fonts must be embedded (no system font dependencies) ICC color profiles Ensures consistent color reproduction
    No JavaScript Security and long-term readability No encryption Must be accessible without passwords
    No external references All content must be self-contained Metadata (XMP) Document properties in standardized format

    PDF/A Versions

    Version Standard Attachments
    --------------------------------
    PDF/A-1 ISO 19005-1 No attachments allowed
    PDF/A-2 ISO 19005-2 Only PDF/A attachments
    PDF/A-3 ISO 19005-3 Any file type (including XML)

    PDF/A-3 is specifically required because it's the only version that allows non-PDF attachments like XML files.

    In ZUGFeRD/Factur-X

    The embedded XML file must:

  • Be named factur-x.xml (Factur-X) or zugferd-invoice.xml (ZUGFeRD 2.0)

  • Be attached with relationship type "Alternative" or "Data"

  • Conform to CII (Cross-Industry Invoice) syntax

  • Match the selected profile (MINIMUM, BASIC, EN16931, etc.)
  • Creating PDF/A-3 Invoices

    Most ERP systems generate PDF/A-3 automatically when creating ZUGFeRD or Factur-X invoices. Key libraries:

  • Apache PDFBox (Java) — open source

  • iText (Java/.NET) — commercial

  • Mustang (Java) — open source, ZUGFeRD-specific

  • Factur-X Python — open source Python library
  • Common Issues

  • PDF not conforming to PDF/A-3 (using wrong PDF version)

  • Missing font embedding

  • XML attachment not properly linked

  • Wrong attachment filename