What is PDF/A-3?
PDF/A-3 (ISO 19005-3:2012) is the third generation of the PDF/A long-term archival standard. Its defining feature compared to earlier versions: PDF/A-3 allows embedding files of any type as attachments within the PDF document. This capability is what makes hybrid e-invoicing formats like ZUGFeRD and Factur-X possible — a human-readable PDF invoice with machine-readable XML data embedded inside a single file.
PDF/A-3 preserves all the archival guarantees of previous PDF/A versions (visual fidelity, font embedding, no external dependencies) while adding the flexibility to include structured data alongside the visual document.
PDF/A Evolution: Why Version 3 Matters
The PDF/A standard evolved in three main generations:
Conformance Levels
Like its predecessors, PDF/A-3 defines three conformance levels:
Most ZUGFeRD/Factur-X implementations target PDF/A-3b (basic conformance), though PDF/A-3u is increasingly recommended for searchability.
How Hybrid Invoices Use PDF/A-3
A ZUGFeRD or Factur-X hybrid invoice is a PDF/A-3 file with a structured XML invoice embedded as an attachment. The result is a single file that serves two audiences:
This "dual representation" approach solves a real problem in the transition to e-invoicing: businesses that have automated invoice processing can use the XML, while those that still rely on manual workflows can use the PDF. One file, zero friction.
Technical Embedding
The XML is embedded at the document level (not page level) using PDF's file attachment mechanism. Two structural elements are required:
1. EmbeddedFiles — Registers the XML as a standard PDF attachment, visible in any PDF viewer's attachment panel.
2. AF (Associated Files) array — A PDF/A-3-specific mechanism that formally associates the embedded file with the document and declares the relationship type.
AFRelationship
The AFRelationship key specifies how the embedded XML relates to the PDF:
The relationship type signals to processing software whether the XML and PDF should be treated as interchangeable (Alternative) or whether one is derived from the other (Source).
File Naming Conventions
The embedded XML filename varies by standard version:
ZUGFeRD-invoice.xmlzugferd-invoice.xml factur-x.xmlxrechnung.xml XMP Metadata
PDF/A-3 hybrid invoices must include specific XMP metadata properties in the document's metadata stream:
These metadata fields are defined in a custom XMP extension schema and are required for ZUGFeRD/Factur-X conformance validation.
ZUGFeRD and Factur-X Profiles
The XML embedded in a PDF/A-3 hybrid invoice follows the UN/CEFACT CII (Cross Industry Invoice) syntax. Different profiles control how much data the XML contains:
For EU e-invoicing compliance, the EN 16931 profile is the target. It makes the XML a proper CIUS of the European standard, suitable for cross-border trade and DRR reporting.
Creating PDF/A-3 Hybrid Invoices
Generating a valid PDF/A-3 hybrid invoice requires:
1. PDF/A-3b (minimum) conformance — All fonts embedded, no external references, no JavaScript, no encryption, correct color profiles.
2. Document-level XML attachment — The CII XML file attached using both EmbeddedFiles and AF mechanisms.
3. Correct AFRelationship — Set to Alternative or Source depending on the ZUGFeRD/Factur-X version.
4. XMP metadata — Custom extension schema with DocumentType, DocumentFileName, Version, and ConformanceLevel.
5. Valid CII XML — The embedded XML must pass Schematron validation against the selected profile's rules.
Libraries commonly used for PDF/A-3 generation include PDFlib, iText, Apache PDFBox, and various open-source ZUGFeRD libraries (Mustangproject for Java, Factur-X for Python).
Why ERP Developers Need to Know This
1. Germany's B2B e-invoicing transition. Germany requires all businesses to receive e-invoices since January 2025. ZUGFeRD (PDF/A-3 + CII XML) is one of the three accepted formats alongside XRechnung and pure CII. Many German SMEs prefer ZUGFeRD because it maintains the familiar PDF workflow.
2. France's e-invoicing mandate. Factur-X is one of the three formats accepted by France's PPF system (alongside UBL and CII). The EN 16931 profile of Factur-X is the practical choice for French B2B invoicing.
3. Backward compatibility. PDF/A-3 hybrid invoices work even when the receiver has no e-invoicing capability — they just see a normal PDF. This makes ZUGFeRD/Factur-X ideal for the transition period where some customers are ready for automated processing and others are not.
4. Archival compliance. PDF/A-3 satisfies the EU's 10-year archival requirements for invoices out of the box. The format is self-contained and guaranteed to render identically for decades.
5. Validation complexity. You need to validate both layers: the PDF must conform to PDF/A-3 (veraPDF is the reference validator), and the embedded XML must pass Schematron validation against the relevant profile.
Relation to Invoice Navigator
Invoice Navigator validates the XML data embedded within ZUGFeRD and Factur-X PDF/A-3 invoices. The engine extracts the CII XML from the PDF attachment, determines the applicable profile from the XMP metadata, and runs the corresponding Schematron rules — catching errors in the machine-readable layer that would be invisible in the visual PDF.