Generiert eine XML-E-Rechnung (UBL oder CII) aus JSON oder CSV und validiert sie anschließend.
Die Response enthält alle X-Validation-* Header des /v1/assessment-Endpunktes.
Request
| Content-Type |
application/json oder text/csv |
| Body |
JSON-Objekt mit BT-Feldern oder CSV (Header + Datenzeilen), Beispiel-Payloads finden sich unten auf der Seite des Generators |
| Parameter | Werte | Standard | Beschreibung |
format |
ubl, cii |
cii |
XML-Syntax |
cius |
en16931, xrechnung, peppol |
en16931 |
Profil (CIUS) |
retention |
0 – 86400 |
0 |
Speicherdauer (Sekunden) |
archive |
data, vault |
|
data - Permanentes Laufwerk, max. Retention 10 Jahre oder
vault - WORM-Speicher, max. Retention 10 Jahre |
batch |
true, false |
false |
Listenverarbeitung (erfordert retention>0 oder archive=data|vault),
die erzeugten Dokumente werden im ausgewählten Laufwerk gespeichert,
in der Response wird eine Liste der erstellen Dateien zurückgegeben. |
JSON-Body
{
"BT-1": "RE-2026-001",
"BT-2": "2026-02-01",
"BT-5": "EUR",
"BT-27": "Muster GmbH",
"BT-44": "Kunde AG",
"BT-153#1": "Beratung",
"BT-129#1": "10",
"BT-146#1": "100.00"
}
CSV-Body
BT-1,BT-2,BT-5,BT-27,BT-44,BT-153#1,BT-129#1,BT-146#1
RE-2026-001,2026-02-01,EUR,Muster GmbH,Kunde AG,Beratung,10,100.00
Erste Zeile: BT-Code-Header. Trennzeichen: Komma oder Semikolon (automatisch erkannt). Im Batch-Modus wird jede Zeile zu einer eigenen Rechnung.
Response (einzeln)
| Content-Type |
application/xml; charset=UTF-8 |
| Body |
Generierte XML-Rechnung |
| Header | Beschreibung |
X-Validation-* |
Validierungsergebnis (immer enthalten, siehe /v1/assessment) |
X-Render-Url |
Download-URL |
X-Storage-Expires |
Ablaufzeitpunkt (ISO 8601) |
X-Storage-Bucket |
temp, data oder vault |
Response (Batch)
{
"batch": true,
"total": 3,
"successful": 3,
"failed": 0,
"results": [
{
"index": 0,
"success": true,
"url": "/public/storage?token=...",
"token": "abc123...",
"expires_at": "2026-02-01T13:00:00+01:00",
"validation": {
"valid": true,
"assessment": "accept",
"errors": 0,
"warnings": 0
}
}
]
}
Max. Rechnungen pro Batch. Jede Rechnung verbraucht 1 Credit.
Beispiel
# Einzelne XRechnung (CII)
curl -X POST "https://api.xml-invoice.io/v1/render/xml?format=cii&cius=xrechnung" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d @invoice.json \
-o rechnung.xml
# Batch aus CSV mit Archivierung
curl -X POST "https://api.xml-invoice.io/v1/render/xml?format=cii&cius=xrechnung&batch=true&archive=data" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: text/csv" \
--data-binary @rechnungen.csv