About NormAPI

Who builds NormAPI — and where the rules come from

A product that promises to have read the specification should say who read it. This page does that, and it states only things you can check.

One person

NormAPI is built by Dmytro Yalanskyi. The code, the rule explanations and this text come from the same person — which is why every rule page carries a line with a name and the date it was last checked against the rule set.

Support is in writing in German and English; calls are in English. It is written down here because otherwise it is a surprise on first contact.

Where the validation comes from

NormAPI does not reimplement the rule set. Validation runs KoSIT’s own validation tool against the official XRechnung validator configuration — the same software that sits behind the public sector’s own checking services.

The configuration is pinned in the build by its SHA-256 checksum. Swapping the rules quietly is therefore not possible: either it is the published release, or the build fails.

Which version is live is printed on every page and returned with every API response — currently v2026-08-31. What changes with a new release is in the rule-set changelog. A validation result without the version behind it cannot be interpreted two years later.

The explanations for the individual rules are published openly: github.com/normapi-de/xrechnung-rules-explained. Anyone who wants to disagree can do so at the source.

What NormAPI does not do

Contact

Questions about a validation, a specific rule code, or an integration: kontakt@normapi.de. If you have an invoice that was rejected, send it along — that answers most questions faster than a description does.