Why convert PDFs to XRechnung?
A PDF invoice is not an e-invoice in the legal sense — it is an image of one. For German public-sector contracts an XRechnung has been mandatory since November 2020, and portals reject PDFs outright. In B2B the same shift is under way under the Wachstumschancengesetz: since 1 January 2025 every German business must be able to receive structured e-invoices, from 1 January 2027 companies with previous-year turnover above €800,000 must issue them, and from 1 January 2028 all remaining businesses follow.
Converting is the practical bridge. Most businesses already produce a PDF from their existing software; extracting that data into XRechnung XML lets you meet the requirement today without replacing your accounting system first.
XRechnung or ZUGFeRD?
Both are German EN 16931 formats and both satisfy the mandate, but they are shaped differently. XRechnung is pure XML — the format German public-sector buyers require, and the safe default when a buyer names a format. ZUGFeRD is a hybrid PDF/A-3 that carries the same data invisibly inside a normal-looking invoice PDF, which is often easier in private-sector B2B because the recipient can still just read it. aiDoks generates both from one form, so the choice is not locked in.
Good to know
- The Leitweg-ID is not optional — B2G buyers issue it with the order and XRechnung requires it in Buyer reference (BT-10). A missing Leitweg-ID (BR-DE-15) is the classic first-attempt rejection.
- UBL or CII — both are valid XRechnung; pick whichever the recipient's portal documents. If unsure, UBL is the more widely accepted of the two.
- Credit notes supported — the same flow generates XRechnung credit notes, not just invoices.
- Validate before sending — the free validator checks any XRechnung (yours or a supplier's) against the official KOSIT schematron and reports the exact rule IDs.
The recommended workflow
Convert the PDF, review the extracted data (check the VAT IDs and totals — identifier errors are the most common rejection cause), enter the Leitweg-ID, download the XRechnung, and re-run the free validator if you edited anything by hand. Then deliver it: upload to the buyer's portal (ZRE or OZG-RE for federal bodies, a Land portal otherwise), send it over PEPPOL, or hand it to your accounting software.