CRATEAPI

One API for every EU format: why national coverage matters

Overview3 min read

If you only ever ship to one EU country, e-invoicing is a solved, well-documented problem. The trouble starts the moment a second country joins the list — because each one arrived on its own schedule, with its own format, and its own idea of how an invoice becomes "official".

The mandates aren't aligned

A quick snapshot of where things actually stand:

Different start dates, different legal bases, and — this is the part that actually costs engineering time — different XML formats and different delivery models. Italy and Poland use centralized clearance (SDI, KSeF); Peppol uses a four-corner network; France uses a directory of certified private platforms; Germany checks format compliance with no central registry at all.

What that fragmentation costs a developer

Concretely, supporting three EU markets well enough to actually pass each country's checks usually means: three different XML vocabularies (or a EN 16931 core plus national extras), three different sets of validation rules to keep current as they change, three different sets of transmission-envelope metadata your invoice doesn't naturally have (a 7-digit SDI recipient code here, a NIP there, a SIREN scheme there), and no single library that covers all of it without gaps.

What "one API" honestly means here

Our own answer to that is a single engine covering both layers, without pretending the layers are the same thing:

That honesty matters more than it sounds — a tool that claims to "convert" a FatturaPA invoice into UBL is either wrong or quietly dropping Italy-specific fields no generic model has room for. See the full breakdown on our formats hub, which groups every format we support along exactly this line.

Where to start

If you're only just starting to support a second or third country: pick the mandate with the nearest deadline for your business, read that format's page (FatturaPA, Facturae, KSeF, XRechnung), and validate a real invoice against it for free before you build anything around it — the pricing page covers what happens once you need to generate or convert at volume.

Keep reading

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.