Entwickler-Dokumentation
XRechnung API
REST-API, um XRechnung und ZUGFeRD programmatisch zu erstellen, nach EN 16931 zu validieren und über Peppol zu versenden — gehostet in Deutschland, DSGVO-konform.
Überblick
Die Invocore API wandelt einfache JSON-Daten in vollständig konforme E-Rechnungen um. Sie schicken die Rechnungsdaten, wir generieren das gültige XRechnung-XML (UBL 2.1 oder UN/CEFACT CII) bzw. ein ZUGFeRD-Hybrid-PDF, validieren gegen EN 16931 und können direkt über Peppol versenden.
- Eingabe als JSON, Ausgabe als XRechnung-XML, ZUGFeRD-PDF, FatturaPA oder EDIFACT
- Validierung gegen EN 16931 inkl. nationaler Profile (XRechnung CIUS)
- Versand über Peppol-Netzwerk und DATEV-Export inklusive
- Webhooks für invoice.created / sent / paid / overdue (HMAC-SHA256)
Authentifizierung
Alle Endpunkte sind per Bearer-Token (JWT) geschützt. Den Token erzeugen Sie in den Kontoeinstellungen und übergeben ihn im Authorization-Header.
Basis-URL
https://api.invocore.eu/api/v1
Rate-Limit
1.000 Anfragen / Stunde
Formate
JSON (Eingabe) · XML UBL/CII, PDF (Ausgabe)
Kern-Endpunkte
| POST | /invoices | Rechnung im EN 16931-Format erstellen |
| GET | /invoices/{id}/xml | XRechnung-XML (UBL/CII) herunterladen |
| GET | /invoices/{id}/pdf | ZUGFeRD-Hybrid-PDF herunterladen |
| POST | /invoices/{id}/validate | Rechnung gegen EN 16931 validieren |
| POST | /peppol/send/{invoice_id} | Rechnung über Peppol versenden |
| GET | /peppol/status/{message_id} | Peppol-Zustellstatus abfragen |
1. Rechnung erstellen
curl -X POST https://api.invocore.eu/api/v1/invoices \
-H "Authorization: Bearer $INVOCORE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"currency": "EUR",
"issue_date": "2026-06-05",
"due_date": "2026-07-05",
"buyer": {
"name": "Mustermann GmbH",
"vat_id": "DE123456789",
"email": "rechnung@mustermann.de"
},
"lines": [
{ "description": "Beratung", "quantity": 10, "unit_price": "120.00", "vat_rate": 19 }
]
}'2. XRechnung-XML abrufen
# XRechnung-XML (UBL 2.1) der erstellten Rechnung abrufen
curl https://api.invocore.eu/api/v1/invoices/$INVOICE_ID/xml \
-H "Authorization: Bearer $INVOCORE_TOKEN" \
-o xrechnung.xml3. Validieren (EN 16931)
# Gegen EN 16931 / XRechnung CIUS validieren
curl -X POST https://api.invocore.eu/api/v1/invoices/$INVOICE_ID/validate \
-H "Authorization: Bearer $INVOCORE_TOKEN"
# → { "valid": true, "errors": [], "warnings": [] }Offizielle SDKs
Statt direkter HTTP-Aufrufe können Sie die typisierten SDKs nutzen:
Python
pip install invocore-sdkJavaScript / TypeScript
npm install @invocore/sdkHäufige Fragen
Gibt es eine API zum Erstellen von XRechnungen?
Ja — POST /invoices erstellt die Rechnung, GET /invoices/{id}/xml liefert das fertige XRechnung-XML. Authentifizierung per Bearer-Token (JWT).
Wie validiere ich gegen EN 16931?
Über POST /invoices/{id}/validate. Sie erhalten ein strukturiertes ValidationResult mit Fehlern und Warnungen.
Kann ich über Peppol versenden?
Ja, mit POST /peppol/send/{invoice_id}; den Status fragen Sie über GET /peppol/status/{message_id} ab.