Leistungsnachweis an die Rechnung hängen

Ihr Kunde verlangt den Stundennachweis zur Rechnung — in derselben Datei, nicht als zweite Mail.

Vorgehen

  1. 1

    Träger-PDF bereitlegen: die ZUGFeRD- oder Factur-X-Datei, die ein generate- oder convert-Aufruf zurückgegeben hat. Nur ein PDF/A-3-Träger behält seine Konformität.

  2. 2

    Den Nachweis base64-kodieren und als contentBase64 in attachments[] legen, zusammen mit filename, mimeType, description und relationship: Supplement (auf dieser Route ohnehin die Vorgabe).

  3. 3

    Der Schlüssel braucht die Berechtigung pdf:invoice:attach. Sie hängt am einzelnen API-Key und wird je Schlüssel freigeschaltet; fehlt sie, antwortet der Dienst mit 403 und „Missing entitlement: pdf:invoice:attach“ — so gemessen am 2026-09-15. Wenn dein Schlüssel sie nicht hat, frag uns danach; die Tarife stehen auf der Preisseite.

  4. 4

    Antwort ist das fertige PDF in data (Base64), dazu pdfA3Conformant und attachmentCount. Dekodieren, speichern, versenden.

Der Aufruf

POST /api/v1/invoice/attachments

bash
1curl -X POST https://service.invoice-api.xhub.io/api/v1/invoice/attachments \
2 -H "Authorization: Bearer $INVOICE_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "pdf": "JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0xlbmd0aCAxODk0Ci9G…",
6 "attachments": [
7 {
8 "filename": "leistungsnachweis.pdf",
9 "mimeType": "application/pdf",
10 "contentBase64": "JVBERi0xLjQKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMg…",
11 "description": "Leistungsnachweis März 2026",
12 "relationship": "Supplement"
13 }
14 ]
15}'

Lange Base64-Werte sind hier gekürzt (…). Setze dort deine eigenen Dateien ein — das Träger-PDF und den Anhang.

Wo es schiefgeht

Zwei Stellen. Der Träger muss PDF/A-3 sein — sonst kommt pdfA3Conformant: false zurück: die Anhänge stecken drin, aber die Datei ist keine konforme Archivdatei mehr. Und Anhängen macht aus einem beliebigen PDF keine ZUGFeRD-Rechnung: es entstehen keine fx-XMP-Metadaten, und der Anhang wird nicht als Rechnungs-XML gekennzeichnet. Wer eine E-Rechnung braucht, erzeugt oder wandelt sie.