CRATEAPI

Blog

EU e-invoicing, explained for developers — the standards, the national formats, and the mandate deadlines that actually change what you have to ship. Real curl examples, no marketing fluff.

Standards3 min read

What is EN 16931? The standard under every EU e-invoice

The semantic model, business terms and rules behind every EU e-invoice format — and how UBL, CII, Peppol and XRechnung build on it.

France2 min read

The French e-invoicing mandate: a developer checklist

What actually changes from September 2026, the Plateforme Agréée model, and a concrete checklist before go-live.

Formats3 min read

Factur-X vs ZUGFeRD vs XRechnung: which format, when

Factur-X and ZUGFeRD are the same format under two names. XRechnung is pure XML. Here's which one to generate, and when.

Standards2 min read

UBL vs CII: the two syntaxes of EN 16931

Same invoice model, two very different XML shapes — and why lossless conversion between them is possible at all.

Italy3 min read

Italy's FatturaPA: what makes an invoice valid

TD01/TD04 document types, Natura VAT-exemption codes, ritenuta/bollo/cassa, and how SDI actually delivers the invoice.

Poland2 min read

Poland's KSeF / FA_VAT: what developers need to know

A live mandate, not a future one — the FA(2) schema, VAT rates, NIP rules, and what pre-flight validation covers.

Germany2 min read

XRechnung and the Leitweg-ID, explained

What the routing identifier actually is, where to get one, and why it's just the standard buyer reference field (BT-10).

Overview3 min read

One API for every EU format: why national coverage matters

EU mandates are rolling out on different schedules with different formats. What that fragmentation costs, honestly.

Want to try this against a real invoice?

Every example above calls the same API you can call today — validate for free, or read the full reference.