E-Rechnung-Validator-API
Das erzeugte XML als String oder Datei senden. Die Antwort listet jeden Verstoß gegen EN 16931 und KoSIT mit XPath.
curl -H "Authorization: Bearer $FINEKOT_KEY" -F file=@invoice.xml https://api.finekot.com/v1/e-invoice
{
"valid": false,
"verdict": "technically_invalid",
"profile": {"name": "XRechnung 3.0"},
"errors": 3, "warnings": 1,
"issues": [
{"rule": "BR-DE-15", "severity": "error",
"message": "Das Element \"Buyer reference\" (BT-10) muss übermittelt werden.",
"location": "/ubl:Invoice[1]"},
…
],
"cost": 0.02, "balance": 0.98
}Kein Abo, kein Vertrag.
Erstellung aus JSON €0,04 · PDF → XRechnung €0,10
Ein Abo berechnet denselben Monatstarif für 10 oder 1.000 Rechnungen. Hier laden Sie einen beliebigen Betrag auf und zahlen pro Aufruf; Restguthaben bleibt.
10 kostenlose Prüfungen am Tag · €1 gratis mit Schlüssel · danach €0,02 pro Prüfung
Ausgabe von @e-invoice-eu/core in Node.js prüfen
Das XML geht im Feld xml eines JSON-Bodys mit, es wird nichts auf die Platte geschrieben. Dasselbe gilt für CII und UBL-Gutschriften.
import { InvoiceService } from "@e-invoice-eu/core";
const service = new InvoiceService(console);
const out = await service.generate(invoiceData, { format: "XRECHNUNG-UBL", lang: "de-de" });
const xml = typeof out === "string" ? out : new TextDecoder().decode(out);
const res = await fetch("https://api.finekot.com/v1/e-invoice", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.FINEKOT_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ op: "validate", xml }),
});
const rep = await res.json();
console.log(rep.verdict, rep.errors, "errors,", rep.warnings, "warnings");
for (const i of rep.issues) console.log(i.severity, i.rule, i.location);E-Rechnung prüfen
Offizielle Regeln EN 16931 und XRechnung. Fehler mit Regel-ID, Meldung und Fundstelle.
10 kostenlose Prüfungen am Tag · €1 gratis mit Schlüssel · danach €0,02 pro Prüfung
Verarbeitung auf Servern in Deutschland (Hetzner, Falkenstein). Die hochgeladene Datei wird im Arbeitsspeicher geprüft und nicht gespeichert.
Hier erscheinen Ergebnis, Profil, Summen und jeder Regelverstoß.
Eine Prüfung für jeden Generator
Bibliotheken bilden Ihre Daten auf UBL oder CII ab. Ob das Ergebnis eine gültige E-Rechnung ist, entscheiden die Geschäftsregeln, die die meisten Bibliotheken nicht ausführen.
Die API wendet immer EN 16931 1.3.17 an, bei XRechnung-Profilen zusätzlich KoSIT-XRechnung-Schematron 2.6.0, und liefert Fehler, Warnungen und Hinweise getrennt. Warnungen wie BR-DE-27 machen die Datei nicht ungültig.
Für häufige Regeln ergänzt der Web-Bericht eine kurze Zeile „So beheben“ mit dem zu ändernden Element in UBL und CII.
Preis in einfachen Zahlen
Vorausbezahltes Guthaben, kein Abo. Berechnet wird nur eine erfolgreiche Antwort; Fehler sind kostenlos.
Ein neuer Schlüssel enthält €1 Startguthaben: 50 Prüfungen.
Guthaben verfällt nicht. Kein Abo.
Apple Pay, Google Pay oder Karte auf der Zahlungsseite der monobank. Ohne Schlüssel wird einer für Sie erstellt.
In diesem Browser ist noch kein Schlüssel.
Für Entwickler
Dieselben Prüfungen per REST und MCP. Ein Header, JSON zurück.
curl https://api.finekot.com/v1/e-invoice \
-H "Authorization: Bearer fk_live_…" \
-F file=@invoice.xml
# → {"valid":false,"errors":2,"issues":[{"rule":"BR-DE-15",…}]}
# X-Cost: 0.02curl https://api.finekot.com/v1/e-invoice \
-H "Authorization: Bearer fk_live_…" \
-H "Content-Type: application/json" \
-d '{"op":"create","output":"pdf","invoice":{…}}'
# → Factur-X PDF url + validation report · X-Cost: 0.04claude mcp add --transport http finekot https://api.finekot.com/mcp --header "Authorization: Bearer fk_live_…"
Vollständige Referenz: /llms.txt · /openapi.json · /.well-known/mcp.json