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/invoicesRechnung im EN 16931-Format erstellen
GET/invoices/{id}/xmlXRechnung-XML (UBL/CII) herunterladen
GET/invoices/{id}/pdfZUGFeRD-Hybrid-PDF herunterladen
POST/invoices/{id}/validateRechnung 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.xml

3. 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-sdk

JavaScript / TypeScript

npm install @invocore/sdk

Hä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.

Weiterführend