API-Dokumentation
Das Rechnungs-Schema (InvoiceRequest)
Ein JSON-Schema für beide Richtungen: /v1/convert nimmt es als
Eingabe, /v1/read liefert es für eingehende Rechnungen zurück
(Round-Trip). Es deckt die semantischen EN-16931-Felder ab; Spezialfälle
darüber hinaus gehen über den CII-XML-Passthrough.
| Feldgruppe | Beispiele |
|---|---|
| Kopf | number, typeCode (380/381/384), issueDate, dueDate, currency, buyerReference (Leitweg-ID), notes |
| Referenzen | orderReference, contractReference, projectId, correctedInvoice (bei Korrektur) |
| Zahlung | paymentTerms, paymentMeansCode, cashDiscounts (Skonto), prepaidAmount, taxCurrency |
| Parteien | seller/buyer/payee/deliveryAddress mit Adresse, vatId, iban/bic, contact, endpointId |
| Positionen | items[] mit name, quantity, unit (UN/ECE Rec 20), unitPrice, vatPercent, vatCategory (S/AE/K/E/G/Z/O), gtin, Nachlässe/Zuschläge |
| Dokumentebene | allowances/charges, attachments (eingebettete Belege), totals |
Der optionale totals-Block wird serverseitig nachgerechnet —
Abweichungen führen zu 422 mit Detailangaben, nie zu stiller Korrektur.
Vollständige Feldliste mit BT-Mapping: openapi.json.
Minimalbeispiel:
{
"number": "RE-2026-0042",
"issueDate": "2026-07-08",
"dueDate": "2026-08-07",
"currency": "EUR",
"seller": { "name": "Muster GmbH", "street": "Musterstraße 1", "zip": "4020",
"city": "Linz", "country": "AT", "vatId": "ATU12345678",
"iban": "AT611904300234573201" },
"buyer": { "name": "Beispiel GmbH", "street": "Beispielweg 2", "zip": "80331",
"city": "München", "country": "DE", "vatId": "DE123456789" },
"items": [ { "name": "Softwareentwicklung", "quantity": 16, "unit": "HUR",
"unitPrice": 120.0, "vatPercent": 20 } ]
}