PDF to ZUGFeRD Converter API
ZUGFeRD PDF/A-3 with embedded XML, validated against EN 16931 before it is returned. Try the REST API demo, no code required. Drop a PDF to see exactly what InvoiceXML returns.
Drop a PDF to test the API
or browse files to upload
REST API demo · POST /transform/to/zugferd · PDF · Max 20 MB
Review every result before you use it. AI can make mistakes. Before you send the invoice or submit it to an authority, check the values in the embedded XML against your PDF, not only the visual layer.
From Messy Scanned PDF to Compliant XML
See exactly how your invoices are transformed automatically.
PDF Invoice
Unstructured
Legacy / scanned PDF with no embedded data
AI Extraction
Processing
OCR & AI extraction with confidence scores
Data Mapping
Structuring
Data mapped to selected compliance schema
Compliant Output
Validated ✓
All validation checks passed (XSD + Schematron)
Why Choose ZUGFeRD for Your Invoices?
ZUGFeRD bridges the gap between traditional PDF invoices and fully electronic data exchange. By embedding structured XML inside a standard PDF, your invoices stay readable for people while becoming machine-readable, eliminating manual data entry, reducing errors, and accelerating payment cycles. It's the European standard trusted by thousands of companies for compliant B2B and B2G invoicing.
Built for Developers
A single REST endpoint. Send a PDF, receive structured XML. Built for ultra-high concurrency and sub-second processing.
- Native, scanned and photographed PDF invoices, no preprocessing needed
- Every response validated against official Schematron rules
Supports ZUGFeRD · Factur-X · XRechnung · UBL · CII · EN 16931
API Documentation$ curl -X POST https://api.invoicexml.com/v1/transform/to/zugferd \ -H "Authorization: Bearer sk_live_..." \ -H "Content-Type: multipart/form-data"\ -F "[email protected]" // => 200 OK // => { "id": "inv_8f3k...", "status": "completed" }
How PDF to ZUGFeRD Conversion Works
Upload Your Invoice
Drag and drop any standard PDF invoice. We extract the relevant financial data automatically.
XML Generation
Our engine maps your invoice data to the ZUGFeRD XML schema and validates it against EU business rules.
Download Your PDF
Receive a PDF/A-3 file with the XML embedded as an attachment, validated before it is returned. Review the XML values before you send it.
Complete ZUGFeRD Toolkit
Everything you need to create, convert, embed, validate, and extract ZUGFeRD invoices, via REST API or online.
AI output requires human review of the structured data before use
With ZUGFeRD, one file holds two things: the PDF you see and the XML inside it. The XML is what the recipient's software and the tax authority process, so that is what you must check.
Check the values inside the XML
By default the visual layer is drawn from the same AI data as the XML. If you keep your original PDF (preserveOriginalPdf), it always looks right, even when the XML is not. Either way, compare these values in the XML against your source PDF:
- Seller and buyer names, addresses and tax identifiers
- Invoice number, issue date, due date and payment terms
- Line items, quantities, unit prices and line totals
- Tax rates, tax amounts and invoice totals
- Payment details, such as the IBAN
See the XML in a readable form
- Open the file in the ZUGFeRD viewer on GetZUGFeRD. It shows what the embedded XML contains.
- Or use our API: pull the XML out with POST /v1/extract/xml, then render it as a PDF with POST /v1/render/xml/to/pdf.
The rendered PDF is built only from the XML values, so what you read there is exactly what the recipient's system receives. Only send, book or submit the invoice once every value matches. Our Terms of Service require this review for all AI output.
Frequently Asked Questions
What is ZUGFeRD?
ZUGFeRD (Zentraler User Guide des Forums elektronische Rechnung Deutschland) is a German e-invoicing standard that embeds structured XML data inside a PDF/A-3 document, making invoices both human-readable and machine-processable.
Is ZUGFeRD accepted across Europe?
Yes. ZUGFeRD is fully compatible with the French Factur-X standard and conforms to the European Norm EN 16931, making it valid for cross-border B2B and B2G invoicing throughout the EU.
Do I need to change my PDF layout?
No. Send preserveOriginalPdf=true and the API keeps your PDF exactly as it is and embeds the XML into the PDF/A-3 container. By default it renders a clean new PDF from the extracted data, in the language of the invoice, or in English, German or French when you set the language field.
Which ZUGFeRD profiles are supported?
The converter produces the EN 16931 (Comfort) profile, the full European core invoice. To build other profiles from structured data, use the Create ZUGFeRD API.
Ready to automate your invoices?
Validate, convert and embed compliant e-invoices through one API. Start your 30-day free trial. No credit card required.