NormAPI
Validate, generate and read German e-invoices (XRechnung, ZUGFeRD) against the official KoSIT rules.
| Endpoint | https://normapi.com/mcp (streamable-http) |
|---|---|
| Registry version | 1.3.2 |
| Now | 4 tools · grade A (95) · pin ts_44edc397292da2f68e5bd3c91eb2c0e4 · protocol 2025-06-18 |
| First / last listed | 2026-11-13 00:26 UTC / 2026-11-13 00:26 UTC |
| Grade over time | 2026-11-13: A (95), 4 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: validate_invoice parse_invoice generate_invoice explain_rule
validate_invoice | Check an XRechnung (UBL or CII XML) or a ZUGFeRD/Factur-X PDF against the official KoSIT rules. Returns the verdict, the rule set version, and every finding; each business-rule finding comes with a plain-language meaning, cause and fix. Send the XML as text in `xml`, the PDF base64-encoded in `pdfBase64`, or an uploaded file in `file` — exactly one. No account needed; 5 MB at most. params: xml, pdfBase64, file, fileName, language |
parse_invoice | Read a received e-invoice — XRechnung or any EN 16931 invoice as UBL or CII XML, or a ZUGFeRD/Factur-X PDF — into structured data. `invoice` is in exactly the shape generate_invoice takes (fields the document lacks are left out); `stated` has the totals, the VAT breakdown and each line net as the document states them, as exact decimal strings; `notMapped` lists by path every value of the document params: xml, pdfBase64, file, validate, language |
generate_invoice | Produce an e-invoice as `ubl` or `cii` XML or a ZUGFeRD hybrid PDF (`zugferd`) from invoice data: an XRechnung for a public-sector buyer (profile `xrechnung`, the default), a plain EN 16931 invoice for a business (profile `en16931`). Totals are computed server-side in decimal arithmetic, and the document is validated against the official rules before it is returned. Data the rules do not permit is params: syntax, profile, letterhead, invoice*, language |
explain_rule | Explain one EN 16931 / XRechnung / Peppol business rule by its code (e.g. BR-DE-15, BR-CO-10, PEPPOL-EN16931-R010): what it requires, why invoices typically break it, and how to fix it, with a link to the full page. Case does not matter. Schema findings (cvc-*) have no explanation. params: code*, language |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.