E-Rechnung API: XRechnung & ZUGFeRD per REST
Ein POST, eine gültige E-Rechnung zurück. Erzeugen,
validieren und auslesen Sie XRechnung 3.0 und ZUGFeRD über eine schlanke REST-API. Die Verarbeitung
wird gegen EN 16931 geprüft und läuft auf deutschen Servern.
Eine XRechnung in einem Aufruf
# XRechnung oder ZUGFeRD in einem Aufruf erzeugen: curl -X POST https://api.einfache-rechnungen.de/v1/invoices/generate \ -H "X-API-Key: erk_ihr_key" \ -H "Content-Type: application/json" \ -d @rechnung.json # -> { "zugferd_valid": true, "xml": "<CrossIndustryInvoice>...", ... }
Die passende rechnung.json (Minimalbeispiel, verifiziert)
Genau dieses JSON liefert eine gültige XRechnung 3.0 nach EN 16931 samt validierter ZUGFeRD-PDF zurück. Es enthält nur Pflichtangaben: Käuferreferenz, Verkäufer mit Kontakt, E-Rechnungs-Adressen, Leistungsdatum, eine Position, Zahlungsweg und Summen.
{
"invoice": {
"invoice_number": "2026-001",
"issue_date": "2026-07-20",
"delivery_date": "2026-07-20",
"due_date": "2026-08-03",
"currency": "EUR",
"buyer_reference": "04011000-12345-67",
"seller": {
"name": "Muster GmbH",
"address": { "street": "Musterstraße 1", "postal_code": "10115", "city": "Berlin", "country_code": "DE" },
"vat_id": "DE123456789",
"electronic_address": "rechnung@muster.example",
"electronic_address_scheme": "EM",
"contact": { "name": "M. Muster", "phone": "+49 30 1234567", "email": "rechnung@muster.example" }
},
"buyer": {
"name": "Kunde AG",
"address": { "street": "Beispielweg 2", "postal_code": "20095", "city": "Hamburg", "country_code": "DE" },
"electronic_address": "einkauf@kunde.example",
"electronic_address_scheme": "EM"
},
"payment_means": { "code": "58", "iban": "DE89370400440532013000" },
"lines": [
{ "line_id": "1", "name": "Beratung Juli", "quantity": "1", "unit_code": "HUR",
"unit_price_net": "150.00", "line_net_amount": "150.00", "tax_category": "S", "tax_rate": "19" }
],
"tax_breakdown": [
{ "category": "S", "rate": "19", "taxable_amount": "150.00", "tax_amount": "28.50" }
],
"totals": { "line_net_amount": "150.00", "net_amount": "150.00", "tax_amount": "28.50",
"gross_amount": "178.50", "payable_amount": "178.50" }
}
}
Sie senden strukturierte Rechnungsdaten als JSON und erhalten gültige XRechnung-XML oder eine hybride ZUGFeRD-PDF (PDF/A-3) zurück, inklusive Validierungsbericht.
Endpunkte
| Methode & Pfad | Zweck |
|---|---|
| POST /v1/invoices/generate | E-Rechnung erzeugen (XRechnung / ZUGFeRD) |
| POST /v1/invoices/validate | Vorhandene E-Rechnung gegen EN 16931 prüfen |
| GET /v1/usage | Verbrauch und Kontingent abfragen |
| GET /v1/docs | Vollständige OpenAPI-Referenz |
Die komplette Referenz mit allen Feldern steht in der API-Dokumentation.
Warum diese API
- Normkonform: XRechnung 3.0 und ZUGFeRD nach EN 16931, jede Rechnung dagegen validiert. Zusätzlich prüft unsere Release-Pipeline mit dem offiziellen KoSIT-Validator und veraPDF (PDF/A-3).
- Gezählt pro Rechnung, nicht pro Seite: klar kalkulierbar. Eine Rechnung zählt unabhängig von der Seitenzahl als eine Einheit.
- Deutsche Server: Hosting bei Hetzner in Deutschland, DSGVO-konform.
- Kostenlos starten: Free-Plan mit 10 Aufrufen/Monat, ohne Kreditkarte.
Authentifizierung
Alle Aufrufe authentifizieren Sie mit einem API-Key im Header X-API-Key. Den Key
erzeugen Sie nach der Registrierung im Dashboard unter dem Tab API. Das geschieht
bewusst manuell und nur im verifizierten Konto.
Integration & ERP
Für die direkte Anbindung an ERP- oder CRM-Systeme gibt es die Anbindung über Coreventa. Größere Volumina und individuelle Konditionen deckt der Enterprise-Plan ab.
Häufige Fragen
Welche Formate liefert die API?
Wie schnell bin ich startklar?
POST. Der Free-Plan braucht keine Kreditkarte.Gibt es eine OpenAPI-Spezifikation?
API-Key erzeugen und loslegen
Registrieren Sie sich kostenlos, erzeugen Sie den Key im Dashboard und senden Sie Ihre
Rechnungsdaten per POST. Die erste XRechnung kommt direkt zurück.