Diese Endpunkte erstellen ausgestellte Einkaufsbelege, im belgischen MwSt.-Jargon Self-Billing-Rechnungen (Gutschriftverfahren). Das ist ein Dokument, das Ihr Unternehmen im Namen eines Lieferanten erstellt (z. B. eine Milchgeldabrechnung, die eine Molkerei für einen Milchbauern erstellt).
Typische Nutzer: Produzenten und Genossenschaften, die periodisch Abrechnungen für ihre Lieferanten erstellen, oder externe Systeme, die Abrechnungen generieren und an Sage Cloud Demat Invoicing übermitteln möchten, dabei aber ihr eigenes PDF-Layout behalten wollen.
ℹ️ Authentifizierung (persönlicher API-Token +
X-Company-Id), Limits und allgemeine Fehlercodes finden Sie im API-Überblick für Entwickler. Header und Kundenabgleich sind identisch mit der Rechnungs-API.
POST https://www.clouddematinvoicing.be/api/v1/webhooks/create-purchase-borderelle
POST https://www.clouddematinvoicing.be/api/v1/webhooks/create-purchase-borderelle-creditnote
Ein JSON-Array von Einkaufsbelegen (atomar verarbeitet). Die Struktur ähnelt der Rechnungs-API, mit einigen Unterschieden.
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
language |
string | Ja | nl, fr, en oder de |
purchase_borderelle_date |
string | Ja | Dokumentdatum JJJJ-MM-TT |
expire_days |
integer | Ja | Fälligkeitstage nach dem Dokumentdatum (0–365) |
reference |
string | Nein | Ihre eigene Referenz (z. B. Zeitraum), max. 255 |
intro |
string | Nein | Text über den Zeilen, max. 255 |
remarks |
string | Nein | Text unter den Zeilen, max. 255 |
private_notes |
string | Nein | Interne Notiz (für den Lieferanten nicht sichtbar), max. 255 |
payment_info |
string | Nein | yes (Standard), no oder paid |
vat_shifted |
integer | Nein | Siehe die vat_shifted-Tabelle |
attachment_pdf |
string | Nein | Base64-codiertes PDF (eigenes Layout, siehe unten) |
attachment_pdf_filename |
string | Nein | Dateiname für die Anlage; Standard <beleg-nr>.pdf |
client |
object | Ja | Der Lieferant, für den Sie das Dokument erstellen (gleiche Struktur wie der Kunde in der Rechnungs-API) |
lines |
array | Ja | Mindestens 1 Zeile (Achtung: lines, nicht invoice_lines) |
lines)"lines": [
{ "description": "Milchlieferung 1.–15. Mai (Liter)", "unit_price": 0.45, "amount": 12500, "vat_percentage": 6 }
]
Gleiche Felder wie eine Rechnungszeile: description, unit_price, amount, vat_percentage. amount kann dezimal sein (z. B. Liter/kg). Die Summen werden serverseitig berechnet.
attachment_pdf)Möchten Sie Ihr eigenes PDF-Layout behalten? Senden Sie ein Base64-codiertes PDF. Es wird als Anlage am Dokument gespeichert und beim Peppol-Versand mitgeschickt. Sage Cloud Demat Invoicing generiert zusätzlich weiterhin ein Standard-PDF aus den Dokumentdaten.
attachment_pdf_filename, wird <beleg-nr>.pdf verwendet.application/pdf gesetzt.// Node.js
const fs = require('fs')
const pdfBase64 = fs.readFileSync('./milchgeld-mai-2026.pdf').toString('base64')
Nahezu identisch mit einem Einkaufsbeleg, mit diesen Unterschieden:
| Feld | Beschreibung |
|---|---|
purchase_borderelle_creditnote_date |
Dokumentdatum (statt purchase_borderelle_date) |
purchase_borderelle_uuid |
Optional. UUID eines bestehenden Einkaufsbelegs innerhalb desselben Unternehmens; wird als Quelle verknüpft. Eine UUID eines anderen Unternehmens gibt 404 zurück |
expire_days, payment_info |
Nicht auf Gutschriften anwendbar |
Alle anderen Felder verhalten sich identisch. Verwenden Sie negative oder korrigierende Beträge je nach Korrektur.
curl -X POST https://www.clouddematinvoicing.be/api/v1/webhooks/create-purchase-borderelle \
-H "Authorization: Bearer <ihr-api-token>" \
-H "X-Company-Id: 12345" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '[
{
"language": "de",
"purchase_borderelle_date": "2026-05-20",
"expire_days": 30,
"reference": "Milchgeld Mai 2026",
"payment_info": "no",
"client": {
"company_type": "company",
"type": "onbekend",
"email": "bauer@example.be",
"first_name": "Jan",
"last_name": "De Boer",
"vat_country_code": "BE",
"vat_id": "0123456789",
"address": "Boerderijstraat 1",
"address_zip": "9800",
"address_city": "Deinze",
"address_country": "BE"
},
"lines": [
{ "description": "Milchlieferung 1.–15. Mai (Liter)", "unit_price": 0.45, "amount": 12500, "vat_percentage": 6 },
{ "description": "Milchlieferung 16.–31. Mai (Liter)", "unit_price": 0.46, "amount": 13200, "vat_percentage": 6 }
]
}
]'
curl -X POST https://www.clouddematinvoicing.be/api/v1/webhooks/create-purchase-borderelle-creditnote \
-H "Authorization: Bearer <ihr-api-token>" \
-H "X-Company-Id: 12345" \
-H "Content-Type: application/json" \
-d '[
{
"language": "de",
"purchase_borderelle_creditnote_date": "2026-05-21",
"purchase_borderelle_uuid": "9c1a2b3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
"reference": "Korrektur Milchgeld Mai",
"client": { "company_type": "company", "type": "onbekend", "email": "bauer@example.be", "first_name": "Jan", "last_name": "De Boer", "vat_country_code": "BE", "vat_id": "0123456789", "address": "Boerderijstraat 1", "address_zip": "9800", "address_city": "Deinze", "address_country": "BE" },
"lines": [
{ "description": "Korrektur Qualitätsprämie", "unit_price": -50.00, "amount": 1, "vat_percentage": 6 }
]
}
]'
Einkaufsbeleg:
{ "purchase_borderelles": [1234, 1235] }
Gutschrift:
{ "purchase_borderelle_creditnotes": [987] }
Das Array enthält die internen Datenbank-IDs in derselben Reihenfolge wie die Eingabe.
Siehe die Fehlertabelle im API-Überblick. Validierungsfehler folgen demselben invalid_body-Format wie die Rechnungs-API, indexiert nach Position (0.client.email, 1.lines.0.unit_price, …). Eine purchase_borderelle_uuid eines anderen Unternehmens gibt 404 zurück.
| Thema | Rechnungs-API | Einkaufsbeleg-API |
|---|---|---|
| Dokumenttyp | Verkaufsrechnung (ausgehend) | Ausgestellter Einkaufsbeleg (im Namen eines Lieferanten) |
| Kunde in der Nutzlast | Der Kunde, dem Sie in Rechnung stellen | Der Lieferant, für den Sie erstellen |
| Datumsfeld | invoice_date |
purchase_borderelle_date |
| Zeilenfeld | invoice_lines |
lines |
| Eigene PDF-Anlage | ❌ | ✅ über attachment_pdf |
| Peppol InvoiceTypeCode | 380 (Rechnung) | 389 (Self-Billing) |
AB-Präfix). Sie können keine eigene Nummer übermitteln.