Finekot API
EN 16931 · XRechnung 3.0 · ZUGFeRD / Factur-X

ZUGFeRD-Rechnungen aus JSON erstellen

€0,04 Erstellung aus JSON · Kein Abo, kein Vertrag.

Rechnungs-JSON senden, ein Factur-X / ZUGFeRD-EN-16931-PDF erhalten: dargestellte Rechnung für Menschen und geprüftes CII-XML für Software.

Anfrage
curl -H "Authorization: Bearer $FINEKOT_KEY" -H "Content-Type: application/json" -d @invoice.json https://api.finekot.com/v1/e-invoice
Antwort (gekürzt)
{
  "format": "XRechnung 3.0 UBL",
  "result": "https://api.finekot.com/f/…/RE-2026-0042-xrechnung-ubl.xml",
  "totals": {"line_total": "1022.90", "tax_total": "191.36", "payable": "1214.26"},
  "validation": {"valid": true, "errors": 0, "warnings": 0},
  "units": 2, "cost": 0.04
}
Preis pro Aufruf€0,04Erstellung aus JSON

Kein Abo, kein Vertrag.

Pro prüfung €0,02 · 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

Das PDF aus einem Node.js-Backend erstellen

Hat die Prüfung des Ergebnisses Fehler, sagt die Antwort das und listet sie auf; nichts verschwindet hinter einem Erfolgs-Flag.

Node.js 18+ · fetch
// invoice: {number, issue_date, currency, seller, buyer, payment, lines[]}
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: "create", output: "pdf", invoice }),
});
const out = await res.json();      // X-Cost: 0.04
// out.format: "Factur-X EN 16931 PDF", out.totals.payable: "1214.26"
if (!out.validation.valid) throw new Error(JSON.stringify(out.validation.issues));

// signed link, valid 24 hours
const pdf = Buffer.from(await (await fetch(out.result)).arrayBuffer());

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.

Ergebnis

Hier erscheinen Ergebnis, Profil, Summen und jeder Regelverstoß.

Was Sie erhalten

Das PDF enthält factur-x.xml, Profil EN 16931 (ZUGFeRD COMFORT). Positionsbeträge, USt je Satz und Summen werden auf dem Server aus Ihren Positionen berechnet, damit BR-CO-10 bis BR-CO-17 per Konstruktion gelten.

Vor der Rückgabe wird das XML mit der Factur-X-XSD und, nach dem Auslesen aus dem PDF, mit dem EN-16931-Schematron geprüft. Das PDF trägt PDF/A-3-Metadaten und einen sRGB-OutputIntent; ein veraPDF-Zertifikat wird nicht ausgestellt.

Die Datei liegt 24 Stunden hinter einem signierten Link und wird danach gelöscht.

Preis in einfachen Zahlen

Vorausbezahltes Guthaben, kein Abo. Berechnet wird nur eine erfolgreiche Antwort; Fehler sind kostenlos.

Eine Prüfungpro Dokument€0,02
Eine E-Rechnung aus JSONXML oder Factur-X-PDF€0,04
PDF-Rechnung → XRechnung / ZUGFeRDlesen €0,06 + erzeugen €0,04€0,10

Ein neuer Schlüssel enthält €1 Startguthaben: 50 Prüfungen.

Paket€5 250 Prüfungen oder 50 PDF-Umwandlungen
Paket€20 1 000 Prüfungen oder 200 PDF-Umwandlungen

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.

Ihr Schlüssel und Guthaben—

In diesem Browser ist noch kein Schlüssel.

Für Entwickler

Dieselben Prüfungen per REST und MCP. Ein Header, JSON zurück.

validate
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.02
create
curl 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.04
MCP
claude mcp add --transport http finekot https://api.finekot.com/mcp --header "Authorization: Bearer fk_live_…"

API-Anleitungen