Converter API
Konvertiere E-Rechnungen zwischen XRechnung, ZUGFeRD/Factur-X und UBL – verlustfrei, soweit das Zielprofil es erlaubt. Nicht abbildbare Felder werden als Warnungen ausgewiesen.
Heute schon möglich: Parser + Creator kombinieren
LiveDu musst nicht auf die Converter API warten: Die Parser API liefert für jede unterstützte Rechnung ein kanonisches invoice-JSON, das die Creator API direkt als Eingabe akzeptiert. Zwei API-Calls ergeben damit heute schon eine vollständige Konvertierung – im Beispiel: XRechnung zu ZUGFeRD.
- 1Quellrechnung parsen – POST /api/v1/invoice/parse akzeptiert XML oder ZUGFeRD/Factur-X-PDF (Base64) und erkennt Format und Land automatisch.
- 2Optional validieren – der Validate-Endpunkt prüft das invoice-JSON gegen die Länderregeln, ohne dein Kontingent zu belasten.
- 3Zielformat generieren – das invoice-JSON unverändert an den Generate-Endpunkt des Zielformats übergeben; ZUGFeRD-Profil per formatOptions.profile.
1# Funktioniert heute – Parser + Creator API kombiniert2 3# 1) Quelle parsen (Auto-Detect: Format & Land)4INVOICE=$(curl -s -X POST https://service.invoice-api.xhub.io/api/v1/invoice/parse \5 -H "Authorization: Bearer sk_live_abc123..." \6 -H "Content-Type: application/json" \7 -d '{"data": "'$(base64 -i xrechnung.xml)'", "filename": "xrechnung.xml"}' \8 | jq '.invoice')9 10# 2) invoice-JSON unverändert ins Zielformat generieren11jq -n --argjson inv "$INVOICE" '{invoice: $inv, formatOptions: {profile: "EN16931"}}' \12 | curl -s -X POST https://service.invoice-api.xhub.io/api/v1/invoice/de/zugferd/generate \13 -H "Authorization: Bearer sk_live_abc123..." \14 -H "Content-Type: application/json" \15 -d @- \16 | jq -r '.data' | base64 -d > rechnung-zugferd.pdfGrenzen: Als Eingabe werden Rechnungen aus 28 Ländern erkannt, als Ausgabe stehen 11 Formate in 14 Ländern bereit. Die Konvertierung läuft über das kanonische Rechnungsmodell – formatspezifische Sonderfelder, die es nicht abbildet, gehen verloren; die Parse-Response weist darauf in warnings hin.
Bidirektional
Konvertiere in beide Richtungen zwischen allen aktuellen Formaten
Validiert
Automatische Validierung von Quell- und Zielformat gegen die offiziellen Schemas (EN 16931, KoSIT)
PDF inklusive
Bei ZUGFeRD-Konvertierung wird automatisch ein PDF/A-3 generiert
Konvertierungs-Matrix
| Von | Nach |
|---|---|
| XRechnung 3.0 | ZUGFeRD / Factur-XUBL (Peppol BIS 3.0) |
| XRechnung 2.x | XRechnung 3.0ZUGFeRD / Factur-XUBL (Peppol BIS 3.0) |
| ZUGFeRD / Factur-X | XRechnung 3.0UBL (Peppol BIS 3.0) |
| UBL (Peppol BIS 3.0) | XRechnung 3.0ZUGFeRD / Factur-X |
Beispiel
1# Geplante API – noch nicht verfügbar2curl -X POST https://service.invoice-api.xhub.io/api/v1/invoice/convert \3 -H "Authorization: Bearer sk_live_abc123..." \4 -H "Content-Type: application/json" \5 -d '{6 "xml": "<?xml version=\"1.0\"?>\n<Invoice xmlns=\"urn:oasis:names:specification:ubl:schema:xsd:Invoice-2\">...</Invoice>",7 "sourceFormat": "xrechnung",8 "targetFormat": "zugferd"9 }'Alternative: Multipart File Upload
1# Geplante API – noch nicht verfügbar2curl -X POST https://service.invoice-api.xhub.io/api/v1/invoice/convert \3 -H "Authorization: Bearer sk_live_abc123..." \4 -H "Content-Type: multipart/form-data" \5 -F "file=@xrechnung.xml" \6 -F "targetFormat=zugferd"Response
1{2 "success": true,3 "sourceFormat": "xrechnung",4 "targetFormat": "zugferd",5 "filename": "invoice-converted.pdf",6 "mimeType": "application/pdf",7 "hash": "sha256:xyz789...",8 "data": "JVBERi0xLjcKCjEgMCBvYmoKPDwKL1R5cGUgL0NhdGFsb2cK...",9 "errors": [],10 "warnings": []11}Request Parameter
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
xml | string | Die zu konvertierende XML-Rechnung | |
sourceFormat | string | - | Quellformat. Wird automatisch erkannt wenn nicht angegeben |
targetFormat | string | Zielformat der Konvertierung | |
profile | string | - | ZUGFeRD-Profil: MINIMUM, BASIC, BASIC-WL, EN16931, EXTENDED (Default: EN16931) |
validateSource | boolean | - | Quell-XML vor Konvertierung validieren (Default: true) |
validateTarget | boolean | - | Ziel-XML nach Konvertierung validieren (Default: true) |
Format-Werte
xrechnungXRechnung 3.0
zugferdZUGFeRD 2.x
facturxFactur-X 1.0.x
ubl-peppolUBL (Peppol BIS 3.0)
ZUGFeRD und Factur-X bezeichnen denselben deutsch-französischen Hybrid-Standard (PDF/A-3 mit eingebettetem EN-16931-XML) – beide Werte liefern dasselbe Ergebnis. Ältere Versionen werden als Quellformat automatisch erkannt; Zielformat ist immer die aktuelle Version.
ZUGFeRD Profile
Bei Konvertierung nach ZUGFeRD kannst du das Profil festlegen. Das Profil bestimmt, welche Felder im XML enthalten sind.
MINIMUMNur Pflichtfelder, für einfache Rechnungen
BASICBasis-Informationen für automatische Verarbeitung
BASIC-WLBASIC ohne Positionen (Rechnungssummen only)
EN16931EU-Norm, empfohlen für B2G (Default)
EXTENDEDAlle Felder, maximale Detailtiefe
ZUGFeRD PDF-Generierung
Bei Konvertierung zu ZUGFeRD wird automatisch ein PDF/A-3 erstellt, in dem das XML eingebettet ist. Das PDF verwendet ein Standard-Layout. Für individuelle PDF-Designs nutze die Visualizer API (geplant Q4/2026).
Typische Anwendungsfälle
Du hast XRechnungen für Behörden erstellt und willst dieselben Rechnungen als PDF mit eingebettetem XML an Geschäftskunden senden.
Du erhältst ZUGFeRD-Rechnungen von Lieferanten und musst diese zur Weiterverarbeitung in XRechnung konvertieren.
Migration bestehender XRechnungen auf die aktuelle Version 3.0 für die Kompatibilität mit aktuellen Behörden-Systemen.
Französische Factur-X Rechnungen für den deutschen Markt aufbereiten und an öffentliche Auftraggeber senden.