Dev.to
7/12/2026

EU e-invoicing for developers: XRechnung vs ZUGFeRD vs ebInterface vs Peppol
Short summary
A practical developer's guide to EU e-invoicing formats: XRechnung, ZUGFeRD, ebInterface, and Peppol. All are flavors of the EN 16931 standard, expressed in UBL or CII XML syntaxes. The post includes a comparison table, country-specific mandates (Germany's 2025 receive mandate, Austria's B2G requirements), and a Python parsing strategy that normalizes all formats into one neutral JSON shape.
- •EN 16931 is the shared semantic model; UBL and CII are the two XML syntaxes
- •XRechnung is a profile not a file type; ZUGFeRD embeds XML inside PDF/A-3; ebInterface is Austria's own schema
- •Normalize on parse by walking XML by local element name and emitting one neutral JSON shape
Generated with AI, which can make mistakes.
Is this a good recommendation for you?



