Convert PDF to ZUGFeRD using REST-API
Convert a PDF invoice into a ZUGFeRD 2.x compliant hybrid invoice. The API extracts structured data from your PDF, validates it against EN 16931 business rules, and returns a PDF/A-3 with an embedded zugferd-invoice.xml attachment, ready for German B2B and B2G exchange.
Transformation uses AI to extract data from your PDF and accelerates remediation, but human review is still recommended for compliance and accuracy. If the source invoice is poorly structured or ambiguous, the AI may misinterpret fields.
https://api.invoicexml.com/v1/transform/to/zugferd
Code Example
curl -X POST https://api.invoicexml.com/v1/transform/to/zugferd \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "[email protected]" \ -F "version=2.3.2" \ -F "profile=extended" \ -F "syntax=cii" \ -F "embed=true" \ -F "language=en"
Try it out online, no coding required
Upload a PDF and get a compliant invoice back instantly, right in your browser.
Request
| Parameter | Type | Description |
|---|---|---|
| file * | binary | The PDF invoice file to convert. |
| strict | boolean | Defaults to false. When true, treat validation warnings as errors, the request is rejected if any warning is raised, not just errors. |
| version | string | Standard version (e.g. 2.3.2). Defaults to the latest supported version. |
| profile | string | Compliance profile. Values: minimum, basicwl, basic, en16931, extended. Defaults to en16931. |
| syntax | string | XML syntax: cii (Cross Industry Invoice) or ubl (Universal Business Language). Defaults to cii. |
| embed | boolean | When true, embed the XML inside a PDF/A-3. Defaults to true. |
| language | string | Language for PDF labels and date formatting. Values: en, de, fr. Defaults to en. |
Content-Type: multipart/form-data
Headers
| Header | Value |
|---|---|
| Authorization * | Bearer YOUR_API_KEY |
| Content-Type | multipart/form-data |
Response
Frequently Asked Questions
What is ZUGFeRD?
ZUGFeRD (Zentraler User Guide des Forums elektronische Rechnung Deutschland) is the German e-invoicing standard. Version 2.x is technically identical to Factur-X and embeds a CII-based XML file inside a PDF/A-3 container.
Which ZUGFeRD version is generated?
The API generates ZUGFeRD 2.3 by default, the latest version aligned with EN 16931 and the upcoming 2025/2026 German e-invoicing mandates.
How does ZUGFeRD differ from Factur-X?
They are the same technical format. ZUGFeRD is the German branding while Factur-X is the French branding. Both embed identical CII XML inside PDF/A-3.
Is ZUGFeRD mandatory in Germany?
Starting January 2025, all German businesses must be able to receive e-invoices. From 2027, sending structured e-invoices becomes mandatory for most B2B transactions. ZUGFeRD is one of the accepted formats.
Can I use this for XRechnung as well?
ZUGFeRD and XRechnung are complementary. ZUGFeRD produces a hybrid PDF, while XRechnung produces a standalone XML. Use the /v1/transform/to/xrechnung endpoint if you need pure XML for German B2G portals.