Compare
XRechnung vs ZUGFeRD
Both formats can express an EN 16931 invoice in Germany. They are not interchangeable files.
XRechnung is XML only (UBL or CII). Public buyers use it, and the KoSIT validator plus a Leitweg-ID are part of the contract. There is no PDF requirement.
ZUGFeRD is a PDF/A-3 for the human and CII XML for the system. It fits B2B where the recipient still opens a PDF. Profiles range from MINIMUM to EXTENDED.
If the buyer says XRechnung, do not send a ZUGFeRD PDF. If they say ZUGFeRD or “hybrid e-invoice”, do not send bare XML unless they also accept XRechnung.
Related
Questions
Which one should an API default to in Germany?
Default to the buyer’s requested format. If you only know the sector, use XRechnung for government and ZUGFeRD for a commercial PDF workflow.