
PDF/A-3 Technical Guide: Embedding ZUGFeRD & Factur-X XML for Compliance
Article overview
This article explains PDF/A-3 Technical Guide: Embedding ZUGFeRD & Factur-X XML for Compliance as a practical reference for European e-invoicing. It defines the topic in plain language, places it in the compliance context, and connects the explanation to invoice formats such as XRechnung, ZUGFeRD/Factur-X, UBL, and CII.
Hybrid e-invoices such as ZUGFeRD and Factur-X rely on the PDF/A-3 standard (ISO 19005-3) to embed a machine-readable XML file inside a visual PDF document.
For software engineers, PDF library developers, and validation teams, generating compliant PDF/A-3 invoices requires precise adherence to PDF specification rules, XMP extension schemas, and font embedding standards.
How to use this guide
Use the article as a starting point before changing a finance or ERP workflow: identify the applicable country rule or standard, decide which structured format is expected, validate the generated XML, and keep a documented exception process for invoices that require manual review.
Core Architecture: How PDF/A-3 Differs from PDF/A-2
For Core Architecture: How PDF/A-3 Differs from PDF/A-2, review these points before moving on.
- File Attachment Permission: PDF/A-2 prohibits arbitrary embedded files, whereas PDF/A-3 explicitly permits embedding files of any format (XML, CSV, CAD) provided they meet strict metadata guidelines.
- Associated Files (/AF): The root Catalog dictionary and Page dictionaries contain an `/AF` array linking to embedded file stream objects (`/Type /Filespec`).
- AFRelationship Key: Each embedded file dictionary must specify an `/AFRelationship` key (e.g. `/Alternative` or `/Data`) to declare the semantic relationship between the PDF visual layer and the attached XML.
- Canonical Attachment Name: For ZUGFeRD 2.x and Factur-X, the embedded XML attachment MUST be named `factur-x.xml` (or `xrechnung.xml` for hybrid XRechnung profiles).
XMP Metadata Extension Schema Requirements
PDF/A-3 validators like veraPDF verify XMP metadata embedded in the PDF document catalog (`/Metadata` stream). The XMP packet must contain the `pdfaExtension` schema declaring the Factur-X / ZUGFeRD namespace (`urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0#`).
Required XMP properties include DocumentFileName (`factur-x.xml`), DocumentType (`INVOICE`), Version (`1.0`), and ConformanceLevel (`BASIC`, `COMFORT`, or `EXTENDED`).
Font Subsetting & Color Space Rules
For Font Subsetting & Color Space Rules, this sequence gives the practical order of work.
- Font Embedding: All fonts referenced in visual invoice text must be 100% embedded or properly subsetted with valid CMap dictionaries.
- Color Profile (OutputIntent): PDF/A-3 documents must define an OutputIntent dictionary containing a standardized ICC color profile (e.g. sRGB IEC61966-2.1) to guarantee visual reproduction consistency.
- Validation Tools: Always validate output files using veraPDF CLI or Mustang project validator to catch syntax errors before production deployment.
Official Technical References
For Official Technical References, review these points before moving on.
- ISO 19005-3:2012 Specification (PDF/A-3)
- FeRD / FNFE-MPE - Factur-X / ZUGFeRD Technical Documentation
- veraPDF Open Source PDF/A Validator
Ready to convert your invoices?
Start converting PDF invoices to XRechnung, ZUGFeRD, and other formats today.
View PricingReady to convert your invoices?
Start converting PDF invoices to XRechnung, ZUGFeRD, and other formats today with credits or a paid plan.
Related articles
EN 16931 Explained: The European E-Invoicing Standard (2026 Guide)
EN 16931 is the European standard for e-invoicing. Learn about compliance requirements, CIUS implementations (XRechnung, Factur-X, UBL), and how it affects
Read moreZUGFeRD BT Fields: Business Terms for Practical E-Invoicing
Understand ZUGFeRD BT fields, profile matrix (MINIMUM, BASIC, EN 16931, EXTENDED), field mappings, and compliance checks for EU e-invoicing.
Read moreGermany e-invoicing updates 2026: what changed and what did not
A practical Germany e-invoicing update for April 2026: the BMF FAQ refresh, the dates that still hold, and the workflow decisions teams should make before 2027.
Read more