Für Entwickler

Kostenlose E-Rechnung API

JSON rein, gültige XRechnung oder ZUGFeRD-PDF raus: offiziell geprüft nach EN 16931 und KoSIT. Ohne API-Schlüssel, ohne Anmeldung, ohne Speicherung.

Was die API kann

Mit der eRechnify-API erzeugen Sie gültige E-Rechnungen direkt aus Ihrer eigenen Software, Ihrem Shop oder einem Skript, ohne selbst Formate wie CII, UBL oder PDF/A-3 umsetzen zu müssen. Sie schicken die Rechnungsdaten als JSON und bekommen eine fertige Datei zurück:

  • ZUGFeRD-PDF mit XRechnung 3.0 (PDF/A-3 mit eingebettetem XML, lesbar für Menschen und Maschinen)
  • Reines XRechnung-XML (CII-Syntax, z. B. für Behörden)
  • ZUGFeRD EN 16931 als PDF

Jede Rechnung wird vor der Rückgabe mit Mustang gegen EN 16931 und die XRechnung-Regeln der KoSIT geprüft. Ist etwas ungültig, erhalten Sie statt einer Datei eine Liste verständlicher Fehlermeldungen auf Deutsch. Die API ist kostenlos, braucht keinen Schlüssel und speichert keine Rechnungsdaten.

Rechnung erzeugen: POST /api/create

Senden Sie eine POST-Anfrage mit Content-Type: application/json an https://erechnify.de/api/create. Antwort bei Erfolg: die Datei (application/pdf oder application/xml, HTTP 200). Bei Fehlern: HTTP 400 oder 422 mit {"errors": ["…"]}.

curl -X POST https://erechnify.de/api/create \
  -H "Content-Type: application/json" \
  -o rechnung.pdf \
  -d '{
  "profile": "XRECHNUNG", "format": "pdf",
  "number": "RE-2026-042", "issueDate": "2026-10-19", "dueDate": "2026-11-02",
  "paymentTerms": "Zahlbar innerhalb von 14 Tagen ohne Abzug.",
  "seller": { "name": "Muster GmbH", "contactName": "Max Muster", "street": "Hauptstr. 1",
              "zip": "10115", "city": "Berlin", "country": "DE",
              "email": "rechnung@muster.de", "phone": "+49 30 123456", "vatId": "DE123456789" },
  "buyer":  { "name": "Kunde AG", "street": "Marktplatz 5", "zip": "80331", "city": "München",
              "country": "DE", "email": "buchhaltung@kunde.de" },
  "iban": "DE02120300000000202051",
  "lines": [
    { "name": "Beratung", "quantity": 8, "unit": "HUR", "unitPrice": 85, "vatRate": 19 },
    { "name": "Fachbuch", "quantity": 1, "unit": "C62", "unitPrice": 29.9, "vatRate": 7 }
  ]
}'

Alle Felder

FeldPflichtBedeutung
profileXRECHNUNG (Standard) oder EN16931
formatpdf (Standard, ZUGFeRD) oder xml
number, issueDatejaRechnungsnummer, Rechnungsdatum (JJJJ-MM-TT)
deliveryDate, dueDateLeistungsdatum, Fälligkeit
buyerReferencebei BehördenLeitweg-ID bzw. Käuferreferenz
orderReference, paymentTerms, noteBestellnummer, Zahlungsbedingungen, Hinweistext
sellerjaname, street, zip, city, country, email, phone, vatId oder taxNumber, optional contactName
buyerjaname, street, zip, city, country, email (bei XRechnung Pflicht), optional vatId, contactName
iban, bicBankverbindung für die Überweisung
lines[]janame, quantity (darf negativ sein, nicht 0), unitPrice (netto, nicht negativ), vatRate (19, 7 oder 0), unit (UN/ECE-Code, z. B. C62 Stück, HUR Stunde, DAY, MON, LS Pauschale), optional description
exemptionReason, zeroCategorybei 0 %Begründung und Kategorie für 0 %: E steuerbefreit (auch Kleinunternehmer § 19), AE Reverse Charge, K EU-Lieferung, G Ausfuhr
discountPercent, discountReasonRabatt in % auf die ganze Rechnung
prepaidbereits bezahlter Betrag (brutto), z. B. Abschläge
accent, logoFarbe der PDF (#RRGGBB), Logo als data:image/png;base64,… (max. ca. 400 KB)

E-Rechnungen prüfen und anzeigen

Prüfen: POST https://erechnify.de/api/validate?name=datei.pdf mit der Datei als Rohdaten im Body. Antwort: {"valid": true|false, "errors": [...], "profile": "…"}. Die Fehler sind auf Deutsch erklärt, die Regel-ID steht in Klammern.

Anzeigen: POST https://erechnify.de/api/view mit XML oder ZUGFeRD-PDF im Body liefert eine lesbare HTML-Ansicht der Rechnung.

curl -X POST --data-binary @rechnung.pdf "https://erechnify.de/api/validate?name=rechnung.pdf"

Beispiele in PHP, JavaScript und Python

// PHP (WordPress: wp_remote_post funktioniert genauso)
$res = file_get_contents('https://erechnify.de/api/create', false, stream_context_create(['http' => [
  'method' => 'POST', 'header' => "Content-Type: application/json\r\n",
  'content' => json_encode($rechnung), 'ignore_errors' => true, 'timeout' => 60,
]]));
file_put_contents('rechnung.pdf', $res);
// JavaScript (Node 18+)
const res = await fetch('https://erechnify.de/api/create', {
  method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(rechnung),
});
if (!res.ok) console.error((await res.json()).errors);
else require('fs').writeFileSync('rechnung.pdf', Buffer.from(await res.arrayBuffer()));
# Python
import requests
r = requests.post('https://erechnify.de/api/create', json=rechnung, timeout=60)
open('rechnung.pdf', 'wb').write(r.content) if r.ok else print(r.json()['errors'])

Fair Use, Datenschutz und Grenzen

  • Kostenlos und ohne Schlüssel. Bitte maßvoll nutzen: etwa 20 Anfragen pro Minute und IP-Adresse. Für größere Mengen schreiben Sie uns an kontakt@erechnify.de.
  • Keine Speicherung. Rechnungsdaten werden nur im Arbeitsspeicher verarbeitet und nach der Antwort verworfen. Es gibt keine Protokollierung der Inhalte.
  • Keine Garantie. Die API ist ein kostenloser Dienst ohne zugesicherte Verfügbarkeit. Prüfen Sie Steuersätze und Angaben selbst; die API ersetzt keine Steuerberatung.
  • Nur Rechnungen (Typ 380). Gutschriften und Korrekturrechnungen mit eigenen Dokumentcodes sind derzeit nicht vorgesehen.

FAQ

Fragen zur API

Brauche ich einen API-Schlüssel?

Nein. Die API ist ohne Schlüssel nutzbar. Bitte halten Sie sich an das Fair-Use-Limit von etwa 20 Anfragen pro Minute und IP-Adresse.

Werden meine Rechnungsdaten gespeichert?

Nein. Die Daten werden nur im Arbeitsspeicher verarbeitet, die Datei wird direkt zurückgegeben und danach verworfen.

Welche Formate liefert die API?

ZUGFeRD-PDF (PDF/A-3) mit eingebetteter XRechnung 3.0, reines XRechnung-XML in CII-Syntax sowie ZUGFeRD im Profil EN 16931.

Was passiert bei ungültigen Daten?

Sie erhalten HTTP 400 oder 422 und eine Liste verständlicher deutscher Fehlermeldungen, zum Beispiel „Die Telefonnummer des Verkäufers fehlt. (BR-DE-6)“.

Lieber ohne Code? Direkt im Browser erstellen

Ohne Konto, ohne Abo. Ausfüllen, prüfen lassen, herunterladen.

Jetzt Rechnung erstellen