Create or update SAP suppliers
Erforderliche Berechtigungen: suppliers:write
Empfängt und verarbeitet Lieferanten aus dem SAP-System. Akzeptiert ein Array von SAP-Lieferanten als Rohdaten.
number wird als external_id gespeichert und für Upserts pro Kunde verwendet.
API-Schlüssel muss mit einem Kunden verknüpft sein.
Validierung: Der Body muss ein Array sein, title ist je Lieferant erforderlich, und angegebene Zahlungsbedingungen müssen im comstruct-Mandanten existieren.
Documentation Index
Fetch the complete documentation index at: https://developer.comstruct.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Use this endpoint to sync suppliers from SAP into comstruct. The request body is always an array, so a single supplier and batches are handled through the samePOST call.
When number is present, comstruct stores it as the supplier external_id. If a
supplier with the same external_id already exists for the customer, that
supplier is updated.
number for every SAP supplier. The field is not required by schema
validation, but it is required for idempotent SAP syncs and later lookups.Permissions
| Scope | Tenant type |
|---|---|
suppliers:write | Customer API key |
Headers
| Header | Required | Description |
|---|---|---|
x-api-key | Yes | API key with scope suppliers:write |
Content-Type | Yes | application/json |
Request body
The body must be a JSON array of suppliers.Supplier fields
| Field | Required | Description |
|---|---|---|
title | Yes | Supplier name |
number | No | SAP supplier number; mapped to external_id and used for upserts |
legal_uid | No | VAT ID or tax ID |
country_code | No | ISO 3166-1 alpha-2 country code |
comment | No | Free-text supplier comment |
payment_term | No | Payment term key; must exist in the comstruct customer tenant |
wth_tax_code | No | Withholding tax code; defaults to 00 |
bank_details | No | Supplier bank details |
address | No | Supplier address |
Bank details (bank_details[])
| Field | Required | Description |
|---|---|---|
iban | No | Valid IBAN; entries without IBAN are ignored |
number | No | External bank account number; preferred as the stored bank ID |
external_id | No | Alternative external ID when number is not present |
Address (address)
| Field | Required | Description |
|---|---|---|
address | No | Street and house number |
city | No | City |
zip | No | Postal code |
country_code | No | ISO 3166-1 alpha-2 country code |
Example
Behavior
numberis stored asexternal_id; existing suppliers with the sameexternal_idand customer are updated.- On conflicts, only
external_id,legal_uid,country_code,withholding_tax_code,payment_term_id,title,comment,address,city, andzipare updated. payment_termis resolved against the customer’s payment terms. Unknown values return400.- If
wth_tax_codeis omitted, comstruct stores the default value00. - Bank details are merged by IBAN, supplier, and tenant; on conflicts, the bank detail external ID is updated.
Response codes
| Code | Description |
|---|---|
200 | Supplier data processed successfully |
400 | Invalid body, validation error, or unknown payment term |
401 | Unauthorized — API key is not linked to a customer |
403 | Forbidden — missing suppliers:write scope |
500 | Internal server error |
Authorizations
API-Schlüssel zur Authentifizierung. Kontaktieren Sie Ihren Customer Success Manager, um einen API-Schlüssel zu erhalten.
Jeder Endpunkt erfordert spezifische Berechtigungen (Scopes); die erforderlichen Scopes werden pro Endpunkt angezeigt.
Body
Lieferantenname/Titel
"Beispiel GmbH-8"
Lieferantennummer aus SAP; wird als external_id gespeichert und für Upserts verwendet
"EXTERNAL-09092"
Optionale Umsatzsteuer-ID
"D456789900022202"
ISO 3166-1 alpha-2 Ländercode
"US"
Freitext-Kommentar zum Lieferanten
"Bevorzugter Kontakt per E-Mail"
Optionaler SAP-Zahlungsbedingungsschlüssel; muss, falls angegeben, im comstruct-Mandanten existieren
"90T"
Optionaler Quellensteuercode
"90"
Optionale Bankverbindungen
Response
Lieferantendaten erfolgreich empfangen
"Supplier data received successfully"