How to Convert a PDF Invoice to ZUGFeRD or XRechnung
Learn how to turn a PDF invoice into a German e-invoice in ZUGFeRD or XRechnung format: why a PDF is not enough, which data you need, step-by-step conversion, validation and common problems.
Many businesses still create invoices as PDF files from Word, Excel or older accounting software. In Germany, that is becoming a problem: since 1 January 2025, businesses must be able to receive e-invoices, and the obligation to send them is being phased in until 2028. If your customer in Germany asks for an invoice in ZUGFeRD or XRechnung format, you need more than a PDF. This guide explains what conversion really involves, which data must be correct and how to do it with XRechnungs.de.
Why a normal PDF is not an e-invoice in Germany
Under German VAT law (§ 14 UStG), an e-invoice is an invoice issued, sent and received in a structured electronic format that allows automatic processing. The format must comply with the European standard EN 16931. A PDF is readable for people, but software cannot reliably extract the invoice number, amounts or VAT rates from it. For this reason, a plain PDF counts as an "other invoice" (sonstige Rechnung), not as an e-invoice.
Plain PDFs are still allowed for domestic B2B invoices during the transition period, but this period ends in stages between 2027 and 2028. You can find the full timeline and who is affected in our guide to Germany's e-invoicing mandate.
ZUGFeRD or XRechnung: which output format do you need?
Both formats meet EN 16931, but they look different to the recipient:
- ZUGFeRD: a hybrid invoice. It is a PDF/A-3 file that people can read, with a structured XML file embedded inside it. ZUGFeRD 2.x is technically identical to the French Factur-X format. It is popular for B2B invoices because the customer still sees a normal-looking PDF.
- XRechnung: a pure XML file without a visual layer. It is the standard format for invoices to German public authorities, and many of them require it. To read it, you need a viewer.
Not every ZUGFeRD profile is a valid e-invoice. The German Federal Ministry of Finance (BMF) does not accept the MINIMUM and BASIC WL profiles as e-invoices because they do not contain all required invoice data. Use the EN 16931 (COMFORT) profile or higher. For a detailed comparison, read XRechnung vs ZUGFeRD.
What "converting" a PDF really means
You cannot turn a PDF into an e-invoice by renaming it or saving it in another format. A real conversion has four stages:
- Extract the data from the PDF, using text recognition (OCR) for scanned documents.
- Map each value to the correct field of the EN 16931 data model, for example seller, buyer, line items and VAT breakdown.
- Check and complete the data, because recognition is never perfect and some required fields are often missing from the original PDF.
- Generate a new file: an XRechnung XML file or a ZUGFeRD PDF/A-3 with embedded XML.
Step by step: convert a PDF invoice with XRechnungs.de
- Upload your PDF to the PDF to XRechnung and ZUGFeRD converter. Digital and scanned PDFs are supported, but a PDF created by software gives better results than a scan.
- Let the OCR read the invoice. The converter recognises data such as seller, customer, invoice number, line items and amounts.
- Complete missing required fields. The converter shows which required fields are missing and asks you to fill them in. Also check the recognised values.
- Choose the output format (XRechnung or ZUGFeRD) and download the file.
- Validate the result with the free XRechnung validator before you send it.
Checklist: data your e-invoice must contain
A converted invoice is only as good as its data. Before you generate the file, check at least the following points. They are based on the mandatory invoice details under § 14 (4) UStG and the requirements of EN 16931:
- Full name and address of the seller and the buyer.
- The seller's German tax number (Steuernummer) or VAT identification number (USt-IdNr.).
- A unique, sequential invoice number and the invoice date.
- The date of delivery or service, or the service period.
- Each line item: description, quantity, unit price and VAT rate.
- Net amounts per VAT rate, the VAT amount and the total, with consistent sums.
- A note on the reason for exemption where no VAT is charged, for example for reverse charge or the Kleinunternehmer (small business) exemption under § 19 UStG.
- Payment details: due date, payment terms and bank details (IBAN).
- For invoices to German public authorities: the Leitweg-ID (routing ID) as buyer reference. Without it, the invoice is usually rejected.
Common problems and how to avoid them
- Poor scans: low resolution, skewed pages or handwriting reduce recognition quality. Use the original digital PDF where possible.
- Missing fields: many PDF templates have no buyer reference, no service date or no VAT ID. Add them before you generate the file.
- Several VAT rates: check that each line has the correct rate and that the VAT breakdown per rate matches the totals. Rounding differences are a frequent cause of validation errors.
- Wrong profile: a ZUGFeRD file in the MINIMUM or BASIC WL profile is not a valid e-invoice in Germany.
- Sending only the PDF: if you send a printed or "flattened" version, the embedded XML is lost.
Want to see what a correct file looks like inside? Our German e-invoice example explains the XML structure field by field. If you receive an XRechnung and cannot open it, read how to open an XRechnung.
Conversion as a stop-gap vs creating e-invoices directly
Converting PDFs is useful when you only need a few e-invoices or when your current software cannot export structured formats. If you invoice regularly, converting every PDF adds an extra step and an extra source of errors. With XRechnungs.de you can also create invoices directly: you save your customers and products once, and each invoice is generated as XRechnung, ZUGFeRD or Factur-X and validated against EN 16931. This is usually the more reliable long-term solution.
What is free and what is paid?
You can try the converter on the converter page, and the viewer and validator are free to use without an account. Regular use of the converter is part of the XRechnungs.de plans: the number of conversions included depends on your plan, and there are also converter-only plans. The free trial lasts 14 days, includes up to 50 documents and requires no credit card. You can find the current limits on the pricing page.
FAQ: converting PDF invoices to e-invoices
Is a PDF invoice an e-invoice in Germany?
No. A plain PDF does not contain structured data, so it counts as an "other invoice". An e-invoice must use a structured format that complies with EN 16931, such as XRechnung or ZUGFeRD (from the EN 16931 profile upwards).
Can I convert a scanned invoice?
Yes. The converter uses OCR to read scanned PDFs. Recognition works best with clear, digitally created documents, so always check the recognised data before you generate the file.
Should I choose XRechnung or ZUGFeRD?
For German public authorities, use XRechnung unless the authority accepts another format. For business customers, ZUGFeRD is often the easiest choice because it combines a readable PDF with structured data. Ask your customer which format their system accepts.
What is a Leitweg-ID?
The Leitweg-ID is a routing ID used by German public authorities to direct an e-invoice to the right department. The authority gives it to you, and you enter it as buyer reference in the invoice.
Does the converter send the invoice to my customer?
The converter creates the e-invoice file for you to download. You then send it to your customer through the channel they accept, for example email or the public sector invoicing portal.
How do I check that the converted file is valid?
Upload the file to the free XRechnung validator. It checks the file against EN 16931 and the German rules and shows any errors that you need to fix.
Next step
Converting a PDF into an e-invoice is a data task, not a file task: extract, check, complete and then generate. Try it with one of your invoices in the PDF converter, or start a free 14-day trial to create e-invoices directly.