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

XRechnung-Prüfung in GitHub Actions

€0,02 pro Prüfung · Kein Abo, kein Vertrag.

Rechnungsvorlagen bei jedem Push gültig halten: ein curl-Schritt, Regelverstöße als Annotationen an der Datei, ein roter Job, wenn eine Rechnung abgelehnt würde.

Anfrage
curl -H "Authorization: Bearer $FINEKOT_KEY" -F file=@invoice.xml https://api.finekot.com/v1/e-invoice
Antwort (gekürzt)
{
  "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
}
Preis pro Aufruf€0,02pro Prüfung

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

Workflow mit curl und jq

Den Schlüssel als Repository-Secret FINEKOT_KEY ablegen. ubuntu-latest hat curl und jq; kein Java-Setup, kein Validator-Download.

GitHub Actions · curl + jq
# .github/workflows/einvoice.yml
name: e-invoice
on: [push, pull_request]
jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Validate XRechnung files
        env:
          FINEKOT_KEY: ${{ secrets.FINEKOT_KEY }}
        run: |
          fail=0
          for f in invoices/*.xml; do
            r=$(curl -sS -H "Authorization: Bearer $FINEKOT_KEY" -F file=@"$f" \
                https://api.finekot.com/v1/e-invoice)
            echo "$r" | jq -r --arg f "$f" '"\($f): \(.verdict), \(.errors) errors"'
            echo "$r" | jq -r --arg f "$f" \
              '.issues[] | select(.severity=="error") | "::error file=\($f)::[\(.rule)] \(.message)"'
            [ "$(echo "$r" | jq .valid)" = "true" ] || fail=1
          done
          exit $fail

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ß.

Warum in der CI

Rechnungsausgabe bricht leise: Ein Refactoring entfernt die Käuferreferenz, eine geänderte Rundung bricht BR-CO-16. Eine CI-Prüfung auf Beispielrechnungen findet das, bevor das Eingangsportal des Kunden es tut.

Jede Datei kostet €0,02; 20 Beispielrechnungen bei jedem Push sind €0,40. Ohne Schlüssel erlaubt der Playground-Endpunkt /v1/try/e-invoice 10 Prüfungen pro Tag und IP.

Geprüft wird mit EN 16931 1.3.17 und KoSIT-XRechnung-Schematron 2.6.0, den Schematron-Regelwerken des KoSIT-Validators für XRechnung; dessen XSD-Schritt gehört nicht zu dieser Prüfung.

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