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.
POST
/
suppliers
/
sap
Lieferanten aus SAP-System erstellen oder aktualisieren
Mit diesem Endpunkt synchronisieren Kundensysteme Lieferanten aus SAP nach
comstruct. Der Request-Body ist immer ein Array, sodass ein einzelner Lieferant
und Batches über denselben POST-Aufruf verarbeitet werden.Wenn number gesetzt ist, wird sie als external_id des Lieferanten gespeichert.
Existiert für denselben Kunden bereits ein Lieferant mit dieser external_id,
wird der Datensatz aktualisiert.
Senden Sie number für jeden SAP-Lieferanten mit. Das Feld ist für die
Schema-Validierung nicht zwingend, wird aber für idempotente SAP-Syncs und
spätere Lookups benötigt.
number wird als external_id gespeichert; vorhandene Lieferanten mit derselben external_id und demselben Kunden werden aktualisiert.
Nur die Felder external_id, legal_uid, country_code, withholding_tax_code, payment_term_id, title, comment, address, city und zip werden bei Konflikten aktualisiert.
payment_term wird gegen die Zahlungsbedingungen des Kunden aufgelöst. Unbekannte Werte führen zu 400.
default_account wird gegen die Konten des Kunden aufgelöst. Unbekannte Werte führen zu 400. Fehlt das Feld beim Upsert, bleibt ein vorhandenes default_account_id erhalten.
Fehlt wth_tax_code, speichert comstruct den Standardwert 00.
Bankverbindungen werden anhand von IBAN, Lieferant und Tenant zusammengeführt; bei Konflikten wird die externe ID der Bankverbindung aktualisiert.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"comstruct API Dokumentation","colors":{"primary":"#2F6879","light":"#3A8599","dark":"#1E4A57"},"logo":{"light":"https://mintcdn.com/comstruct/Jpsyju8lznqRSEZJ/logo/light.svg?fit=max\u0026auto=format\u0026n=Jpsyju8lznqRSEZJ\u0026q=85\u0026s=acbbee3c044994a3e7752740782d923f","dark":"https://mintcdn.com/comstruct/Jpsyju8lznqRSEZJ/logo/dark.svg?fit=max\u0026auto=format\u0026n=Jpsyju8lznqRSEZJ\u0026q=85\u0026s=3849d724919d807467f3b58d490d50c0"},"favicon":"https://mintcdn.com/comstruct/CqrhxzMG7_sRCFwK/favicon.png?fit=max\u0026auto=format\u0026n=CqrhxzMG7_sRCFwK\u0026q=85\u0026s=ff5a12229b0e3075a0e33fe7354ddae3","api":{},"navbar":{"links":[{"href":"mailto:support@comstruct.com","label":"Support"}],"primary":{"type":"button","label":"App öffnen","href":"https://app.comstruct.com"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/comstruct","website":"https://comstruct.com"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Support","icon":"envelope","href":"mailto:support@comstruct.com"}]},"languages":[{"language":"de","default":true,"href":""},{"language":"en","href":"en"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"comstruct","hasAudioNarration":false,"actualSubdomain":"comstruct","customDomains":["developer.comstruct.com"],"gitSource":{"type":"github","owner":"comstruct-engineering","repo":"comstruct-one","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af339cb0d36c20f768025e9","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"de","tag":"API-Referenz","count":69},{"language":"en","tag":"API Reference","count":69},{"language":"de","tag":"Rechnungs-Dimensionen","count":15},{"language":"en","tag":"Invoice dimensions","count":15},{"language":"de","tag":"Lieferungen","count":11},{"language":"en","tag":"Deliveries","count":11},{"language":"de","tag":"Stammdaten","count":10},{"language":"en","tag":"Master data","count":10},{"language":"de","tag":"Rechnungen","count":9},{"language":"de","tag":"Projekte","count":9},{"language":"en","tag":"Invoices","count":9},{"language":"en","tag":"Projects","count":9},{"language":"de","tag":"Erste Schritte","count":5},{"language":"en","tag":"Getting started","count":5},{"language":"de","tag":"Integrationsleitfäden","count":4},{"language":"en","tag":"Integration guides","count":4},{"language":"de","tag":"Bestellungen","count":3},{"language":"de","tag":"Lieferanten","count":3},{"language":"en","tag":"Purchase orders","count":3},{"language":"en","tag":"Suppliers","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/suppliers-sap","slug":"/api-reference/suppliers-sap","pageMetadata":{"title":"SAP-Lieferanten erstellen oder aktualisieren","openapi":"POST /suppliers/sap","description":"**Erforderliche Berechtigungen:** `suppliers:write`\n\nEmpfängt und verarbeitet Lieferanten aus dem SAP-System. Akzeptiert ein Array von SAP-Lieferanten als Rohdaten.\n`number` wird als `external_id` gespeichert und für Upserts pro Kunde verwendet.\nAPI-Schlüssel muss mit einem Kunden verknüpft sein.\n**Validierung**: Der Body muss ein Array sein, `title` ist je Lieferant erforderlich, und angegebene Zahlungsbedingungen müssen im comstruct-Mandanten existieren.\n","href":"/api-reference/suppliers-sap"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Erforderliche Berechtigungen:\"\n }), \" \", _jsx(_components.code, {\n children: \"suppliers:write\"\n })]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Empfängt und verarbeitet Lieferanten aus dem SAP-System. Akzeptiert ein Array von SAP-Lieferanten als Rohdaten.\\n\", _jsx(_components.code, {\n children: \"number\"\n }), \" wird als \", _jsx(_components.code, {\n children: \"external_id\"\n }), \" gespeichert und für Upserts pro Kunde verwendet.\\nAPI-Schlüssel muss mit einem Kunden verknüpft sein.\\n\", _jsx(_components.strong, {\n children: \"Validierung\"\n }), \": Der Body muss ein Array sein, \", _jsx(_components.code, {\n children: \"title\"\n }), \" ist je Lieferant erforderlich, und angegebene Zahlungsbedingungen müssen im comstruct-Mandanten existieren.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Info,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`übersicht`,children:`Übersicht`}),`\n`,_jsxs(_components.p,{children:[`Mit diesem Endpunkt synchronisieren Kundensysteme Lieferanten aus SAP nach\ncomstruct. Der Request-Body ist immer ein Array, sodass ein einzelner Lieferant\nund Batches über denselben `,_jsx(_components.code,{children:`POST`}),`-Aufruf verarbeitet werden.`]}),`\n`,_jsxs(_components.p,{children:[`Wenn `,_jsx(_components.code,{children:`number`}),` gesetzt ist, wird sie als `,_jsx(_components.code,{children:`external_id`}),` des Lieferanten gespeichert.\nExistiert für denselben Kunden bereits ein Lieferant mit dieser `,_jsx(_components.code,{children:`external_id`}),`,\nwird der Datensatz aktualisiert.`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Senden Sie `,_jsx(_components.code,{children:`number`}),` für jeden SAP-Lieferanten mit. Das Feld ist für die\nSchema-Validierung nicht zwingend, wird aber für idempotente SAP-Syncs und\nspätere Lookups benötigt.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`berechtigungen`,children:`Berechtigungen`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Tenant-Typ`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`suppliers:write`})}),_jsx(_components.td,{children:`Kunden-API-Schlüssel`})]})})]}),`\n`,_jsx(_components.p,{children:`Der API-Schlüssel muss mit einem Kunden verknüpft sein.`}),`\n`,_jsx(Heading,{level:`2`,id:`header`,children:`Header`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Header`}),_jsx(_components.th,{children:`Pflicht`}),_jsx(_components.th,{children:`Beschreibung`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`x-api-key`})}),_jsx(_components.td,{children:`Ja`}),_jsxs(_components.td,{children:[`API-Schlüssel mit Scope `,_jsx(_components.code,{children:`suppliers:write`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`Content-Type`})}),_jsx(_components.td,{children:`Ja`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`application/json`})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`request-body`,children:`Request-Body`}),`\n`,_jsx(_components.p,{children:`Der Body muss ein JSON-Array von Lieferanten enthalten.`}),`\n`,_jsx(Heading,{level:`3`,id:`lieferantenfelder`,children:`Lieferantenfelder`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feld`}),_jsx(_components.th,{children:`Pflicht`}),_jsx(_components.th,{children:`Beschreibung`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`title`})}),_jsx(_components.td,{children:`Ja`}),_jsx(_components.td,{children:`Lieferantenname`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`number`})}),_jsx(_components.td,{children:`Nein`}),_jsxs(_components.td,{children:[`SAP-Lieferantennummer; wird zu `,_jsx(_components.code,{children:`external_id`}),` gemappt und für Upserts genutzt`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`legal_uid`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`USt-IdNr. oder Steuernummer`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`country_code`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`ISO 3166-1 Alpha-2 Ländercode`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`comment`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`Freitext-Kommentar zum Lieferanten`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`payment_term`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`Zahlungsbedingungsschlüssel; muss im comstruct-Mandanten existieren`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`default_account`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`Kontonummer des Standardkontos; muss im comstruct-Mandanten existieren`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`wth_tax_code`})}),_jsx(_components.td,{children:`Nein`}),_jsxs(_components.td,{children:[`Quellensteuercode; Standardwert ist `,_jsx(_components.code,{children:`00`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`bank_details`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`Bankverbindungen des Lieferanten`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`address`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`Lieferantenadresse`})]})]})]}),`\n`,_jsxs(Heading,{level:`3`,id:`bankverbindungen-bank_details`,children:[`Bankverbindungen (`,_jsx(_components.code,{children:`bank_details[]`}),`)`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feld`}),_jsx(_components.th,{children:`Pflicht`}),_jsx(_components.th,{children:`Beschreibung`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`iban`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`Gültige IBAN; Einträge ohne IBAN werden ignoriert`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`number`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`Externe Nummer der Bankverbindung; wird bevorzugt als ID gespeichert`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`external_id`})}),_jsx(_components.td,{children:`Nein`}),_jsxs(_components.td,{children:[`Alternative externe ID, falls `,_jsx(_components.code,{children:`number`}),` nicht gesetzt ist`]})]})]})]}),`\n`,_jsxs(Heading,{level:`3`,id:`adresse-address`,children:[`Adresse (`,_jsx(_components.code,{children:`address`}),`)`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feld`}),_jsx(_components.th,{children:`Pflicht`}),_jsx(_components.th,{children:`Beschreibung`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`address`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`Straße und Hausnummer`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`city`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`Ort`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`zip`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`Postleitzahl`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`country_code`})}),_jsx(_components.td,{children:`Nein`}),_jsx(_components.td,{children:`ISO 3166-1 Alpha-2 Ländercode`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`beispiel`,children:`Beispiel`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`27`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`27`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.comstruct.com/v1/suppliers/sap\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"x-api-key: IHR_API_SCHLUESSEL\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '[`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"number\": \"SAP-SUP-001\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"title\": \"Beispiel Lieferant GmbH\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"legal_uid\": \"DE123456789\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"country_code\": \"DE\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"comment\": \"Bevorzugter Kontakt per E-Mail\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"payment_term\": \"30T\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"default_account\": \"4000\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"wth_tax_code\": \"00\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"bank_details\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"number\": \"BANK-001\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"iban\": \"DE89370400440532013000\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"address\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"address\": \"Musterstraße 1\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"city\": \"Berlin\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"zip\": \"10115\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"country_code\": \"DE\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ]'`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`verhalten`,children:`Verhalten`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`number`}),` wird als `,_jsx(_components.code,{children:`external_id`}),` gespeichert; vorhandene Lieferanten mit derselben `,_jsx(_components.code,{children:`external_id`}),` und demselben Kunden werden aktualisiert.`]}),`\n`,_jsxs(_components.li,{children:[`Nur die Felder `,_jsx(_components.code,{children:`external_id`}),`, `,_jsx(_components.code,{children:`legal_uid`}),`, `,_jsx(_components.code,{children:`country_code`}),`, `,_jsx(_components.code,{children:`withholding_tax_code`}),`, `,_jsx(_components.code,{children:`payment_term_id`}),`, `,_jsx(_components.code,{children:`title`}),`, `,_jsx(_components.code,{children:`comment`}),`, `,_jsx(_components.code,{children:`address`}),`, `,_jsx(_components.code,{children:`city`}),` und `,_jsx(_components.code,{children:`zip`}),` werden bei Konflikten aktualisiert.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`payment_term`}),` wird gegen die Zahlungsbedingungen des Kunden aufgelöst. Unbekannte Werte führen zu `,_jsx(_components.code,{children:`400`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`default_account`}),` wird gegen die Konten des Kunden aufgelöst. Unbekannte Werte führen zu `,_jsx(_components.code,{children:`400`}),`. Fehlt das Feld beim Upsert, bleibt ein vorhandenes `,_jsx(_components.code,{children:`default_account_id`}),` erhalten.`]}),`\n`,_jsxs(_components.li,{children:[`Fehlt `,_jsx(_components.code,{children:`wth_tax_code`}),`, speichert comstruct den Standardwert `,_jsx(_components.code,{children:`00`}),`.`]}),`\n`,_jsx(_components.li,{children:`Bankverbindungen werden anhand von IBAN, Lieferant und Tenant zusammengeführt; bei Konflikten wird die externe ID der Bankverbindung aktualisiert.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`response-codes`,children:`Response Codes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Beschreibung`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`200`})}),_jsx(_components.td,{children:`Lieferantendaten erfolgreich verarbeitet`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:`Ungültiger Body, Validierungsfehler, unbekannte Zahlungsbedingung oder unbekanntes Standardkonto`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:`Nicht autorisiert — API-Schlüssel ist mit keinem Kunden verknüpft`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsxs(_components.td,{children:[`Verboten — fehlender Scope `,_jsx(_components.code,{children:`suppliers:write`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`500`})}),_jsx(_components.td,{children:`Interner Serverfehler`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"SAP-Lieferanten erstellen oder aktualisieren","openapi":"POST /suppliers/sap","description":"**Erforderliche Berechtigungen:** `suppliers:write`\n\nEmpfängt und verarbeitet Lieferanten aus dem SAP-System. Akzeptiert ein Array von SAP-Lieferanten als Rohdaten.\n`number` wird als `external_id` gespeichert und für Upserts pro Kunde verwendet.\nAPI-Schlüssel muss mit einem Kunden verknüpft sein.\n**Validierung**: Der Body muss ein Array sein, `title` ist je Lieferant erforderlich, und angegebene Zahlungsbedingungen müssen im comstruct-Mandanten existieren.\n","href":"/api-reference/suppliers-sap"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Übersicht","slug":"übersicht","depth":2,"children":[]},{"title":"Berechtigungen","slug":"berechtigungen","depth":2,"children":[]},{"title":"Header","slug":"header","depth":2,"children":[]},{"title":"Request-Body","slug":"request-body","depth":2,"children":[{"title":"Lieferantenfelder","slug":"lieferantenfelder","depth":3,"children":[]},{"title":"Bankverbindungen (bank_details[])","slug":"bankverbindungen-bank_details","depth":3,"children":[]},{"title":"Adresse (address)","slug":"adresse-address","depth":3,"children":[]}]},{"title":"Beispiel","slug":"beispiel","depth":2,"children":[]},{"title":"Verhalten","slug":"verhalten","depth":2,"children":[]},{"title":"Response Codes","slug":"response-codes","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createSuppliersFromSAP","summary":"Lieferanten aus SAP-System erstellen oder aktualisieren","description":"**Erforderliche Berechtigungen:** `suppliers:write`\n\nEmpfängt und verarbeitet Lieferanten aus dem SAP-System. Akzeptiert ein Array von SAP-Lieferanten als Rohdaten.\n`number` wird als `external_id` gespeichert und für Upserts pro Kunde verwendet.\nAPI-Schlüssel muss mit einem Kunden verknüpft sein.\n**Validierung**: Der Body muss ein Array sein, `title` ist je Lieferant erforderlich, und angegebene Zahlungsbedingungen müssen im comstruct-Mandanten existieren.\n","tags":["Suppliers (SAP)"],"security":["b9c57a66-6165-4b08-85c3-488ebea6d1c7"],"requestBody":"0aa036d2-9961-4b20-965f-af4fbaaeb262","responses":{"200":"60de591e-bc6e-446a-a2dc-111c33c87613","400":"c39c7f0d-4c58-4580-b06d-6aa86a6fb660","401":"451fe13f-b30f-47c5-b87a-f50a2c05a43e","403":"3afea978-7153-43ca-a33e-1307fd8e02ad","500":"a19cf8ae-c51a-4e76-9ab1-c4745f26bd26"},"method":"post","type":"path","servers":["27bdc885-654c-42d2-b8de-7d04f298bbbd","91c701c1-ebe7-4fa2-b078-ea277e03dd21"],"path":"/suppliers/sap","baseUrlOptions":["https://api.comstruct.com/v1","https://api.comstruct.com"],"title":"Lieferanten aus SAP-System erstellen oder aktualisieren","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["title"],"properties":{"title":{"type":"string","description":"Lieferantenname/Titel","example":"Beispiel GmbH-8","isRequired":true,"uniqueKey":"items.[INDEX].title","typeLabel":"string"},"number":{"type":"string","description":"Lieferantennummer aus SAP; wird als `external_id` gespeichert und für Upserts verwendet","example":"EXTERNAL-09092","uniqueKey":"items.[INDEX].number","typeLabel":"string"},"legal_uid":{"type":"string","description":"Optionale Umsatzsteuer-ID","example":"D456789900022202","uniqueKey":"items.[INDEX].legal_uid","typeLabel":"string"},"country_code":{"type":"string","description":"ISO 3166-1 alpha-2 Ländercode","example":"US","uniqueKey":"items.[INDEX].country_code","typeLabel":"string"},"comment":{"type":"string","description":"Freitext-Kommentar zum Lieferanten","example":"Bevorzugter Kontakt per E-Mail","uniqueKey":"items.[INDEX].comment","typeLabel":"string"},"payment_term":{"type":"string","description":"Optionaler SAP-Zahlungsbedingungsschlüssel; muss, falls angegeben, im comstruct-Mandanten existieren","example":"90T","uniqueKey":"items.[INDEX].payment_term","typeLabel":"string"},"default_account":{"type":"string","description":"Optionale Kontonummer des Standardkontos; muss, falls angegeben, im comstruct-Mandanten existieren","example":"4000","uniqueKey":"items.[INDEX].default_account","typeLabel":"string"},"wth_tax_code":{"type":"string","description":"Optionaler Quellensteuercode","example":"90","uniqueKey":"items.[INDEX].wth_tax_code","typeLabel":"string"},"bank_details":{"type":"array","description":"Optionale Bankverbindungen","items":{"type":"object","properties":{"number":{"type":"string","description":"Externe Nummer des Lieferanten-Bankkontos; wird bevorzugt als externe ID gespeichert","example":"9999912","uniqueKey":"items.[INDEX].bank_details.items.[INDEX].number","typeLabel":"string"},"external_id":{"type":"string","description":"Alternative externe ID, falls `number` nicht gesetzt ist","example":"BANK-EXT-001","uniqueKey":"items.[INDEX].bank_details.items.[INDEX].external_id","typeLabel":"string"},"iban":{"type":"string","description":"IBAN in Großbuchstaben, ohne Leerzeichen","example":"DE89370400440532013000","uniqueKey":"items.[INDEX].bank_details.items.[INDEX].iban","typeLabel":"string"}},"uniqueKey":"items.[INDEX].bank_details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"items.[INDEX].bank_details","typeLabel":"object[]"},"address":{"type":"object","properties":{"address":{"type":"string","example":"Müllerstraße 1","uniqueKey":"items.[INDEX].address.address","typeLabel":"string"},"city":{"type":"string","example":"Berlin","uniqueKey":"items.[INDEX].address.city","typeLabel":"string"},"zip":{"type":"string","example":"10115","uniqueKey":"items.[INDEX].address.zip","typeLabel":"string"},"country_code":{"type":"string","description":"ISO 3166-1 alpha-2 Ländercode","example":"DE","uniqueKey":"items.[INDEX].address.country_code","typeLabel":"string"}},"uniqueKey":"items.[INDEX].address","typeLabel":"object"}},"uniqueKey":"items.[INDEX]","typeLabel":"object"},"uniqueKey":"","typeLabel":"object[]"},"examples":{"single_supplier":{"title":"single_supplier","value":[{"number":"EXTERNAL-09092","title":"Beispiel GmbH-8","legal_uid":"D456789900022202","country_code":"US","comment":"Bevorzugter Kontakt per E-Mail","payment_term":"90T","wth_tax_code":"90","bank_details":[{"number":"9999912","iban":"DE89370400440532013000"},{"external_id":"8881112","iban":"GB33BUKB20201555555555"}],"address":{"address":"Müllerstraße 1","city":"Berlin","zip":"10115","country_code":"DE"}}]}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"60de591e-bc6e-446a-a2dc-111c33c87613":{"description":"Lieferantendaten erfolgreich empfangen","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Supplier data received successfully","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Supplier data received successfully"}}},"exampleType":"generated"}},"exampleType":"generated"},"c39c7f0d-4c58-4580-b06d-6aa86a6fb660":{"description":"Ungültiger Anfragekörper oder Validierung fehlgeschlagen","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"451fe13f-b30f-47c5-b87a-f50a2c05a43e":{"description":"Nicht autorisiert - Schlüssel ist mit keinem Kunden verknüpft","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized. Key is not linked to any customer.","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Unauthorized. Key is not linked to any customer."}}},"exampleType":"generated"}},"exampleType":"generated"},"3afea978-7153-43ca-a33e-1307fd8e02ad":{"description":"Verboten - Fehlende Berechtigung","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized. Missing scope: suppliers:write","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Unauthorized. Missing scope: suppliers:write"}}},"exampleType":"generated"}},"exampleType":"generated"},"a19cf8ae-c51a-4e76-9ab1-c4745f26bd26":{"description":"Interner Serverfehler","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"b9c57a66-6165-4b08-85c3-488ebea6d1c7":{"ApiKey":{"type":"apiKey","in":"header","name":"X-API-Key","description":"API-Schlüssel zur Authentifizierung. Kontaktieren Sie Ihren Customer Success Manager, um einen API-Schlüssel zu erhalten.\n\nJeder Endpunkt erfordert spezifische Berechtigungen (Scopes); die erforderlichen Scopes werden pro Endpunkt angezeigt.\n","scopes":["suppliers:write"],"schemeName":"ApiKey"}}},"servers":{"27bdc885-654c-42d2-b8de-7d04f298bbbd":{"url":"https://api.comstruct.com/v1","description":"Haupt-API-Endpunkte (erfordert API-Schlüssel-Authentifizierung)","variables":{}},"91c701c1-ebe7-4fa2-b078-ea277e03dd21":{"url":"https://api.comstruct.com","description":"Basisserver für Kalender- und IDS-Endpunkte (andere Authentifizierung)","variables":{}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","description":"API-Schlüssel zur Authentifizierung. Kontaktieren Sie Ihren Customer Success Manager, um einen API-Schlüssel zu erhalten.\n\nJeder Endpunkt erfordert spezifische Berechtigungen (Scopes); die erforderlichen Scopes werden pro Endpunkt angezeigt.\n","scopes":["suppliers:write"],"schemeName":"ApiKey"},"schema":{"title":"X-API-Key","type":"string","description":"API-Schlüssel zur Authentifizierung. Kontaktieren Sie Ihren Customer Success Manager, um einen API-Schlüssel zu erhalten.\n\nJeder Endpunkt erfordert spezifische Berechtigungen (Scopes); die erforderlichen Scopes werden pro Endpunkt angezeigt.\n","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKey","name":"X-API-Key"}],"title":"ApiKey"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"comstruct","siteName":"comstruct API Dokumentation","title":"SAP-Lieferanten erstellen oder aktualisieren - comstruct API Dokumentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"de":{"href":"/api-reference/suppliers-sap","matchLevel":0},"en":{"href":"/en/api-reference/suppliers-sap","matchLevel":1}}},"lastModified":"2026-06-30T15:36:55.359Z","originalFileLocation":"api-reference/suppliers-sap.mdx","locale":"de"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"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.\">\u003cmeta data-mint-head name=\"application-name\" content=\"comstruct API Dokumentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"SAP-Lieferanten erstellen oder aktualisieren - comstruct API Dokumentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"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.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"comstruct API Dokumentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.comstruct.com/api-reference/suppliers-sap\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://comstruct.mintlify.site/_mintlify/api/og/v2?division=Lieferanten\u0026amp;title=SAP-Lieferanten+erstellen+oder+aktualisieren\u0026amp;description=**Erforderliche+Berechtigungen%3A**+%60suppliers%3Awrite%60%0A%0AEmpf%C3%A4ngt+und+verarbeitet+Lieferanten+aus+dem+SAP-System.+Akzeptiert+ein+Array+von+SAP-Lieferanten+als+Rohda\u0026amp;theme=d33cf08ebb99773992a781ff\u0026amp;signature=15704e33edd671f71def819f98243879148c2d00fc0ed2dfd7979c3bd068df48\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"SAP-Lieferanten erstellen oder aktualisieren - comstruct API Dokumentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"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.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://comstruct.mintlify.site/_mintlify/api/og/v2?division=Lieferanten\u0026amp;title=SAP-Lieferanten+erstellen+oder+aktualisieren\u0026amp;description=**Erforderliche+Berechtigungen%3A**+%60suppliers%3Awrite%60%0A%0AEmpf%C3%A4ngt+und+verarbeitet+Lieferanten+aus+dem+SAP-System.+Akzeptiert+ein+Array+von+SAP-Lieferanten+als+Rohda\u0026amp;theme=d33cf08ebb99773992a781ff\u0026amp;signature=15704e33edd671f71def819f98243879148c2d00fc0ed2dfd7979c3bd068df48\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/comstruct/fBUgIQk4CV_VpIlc/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"comstruct API Dokumentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2F6879\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.comstruct.com/api-reference/suppliers-sap\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/suppliers-sap.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://developer.comstruct.com/api-reference/suppliers-sap\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://developer.comstruct.com/en/api-reference/suppliers-sap\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://developer.comstruct.com/api-reference/suppliers-sap\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.comstruct.com/#organization\",\"name\":\"comstruct API Dokumentation\",\"url\":\"https://developer.comstruct.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/comstruct/Jpsyju8lznqRSEZJ/logo/light.svg?fit=max\u0026auto=format\u0026n=Jpsyju8lznqRSEZJ\u0026q=85\u0026s=acbbee3c044994a3e7752740782d923f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.comstruct.com#website\",\"name\":\"comstruct API Dokumentation\",\"url\":\"https://developer.comstruct.com\",\"publisher\":{\"@id\":\"https://developer.comstruct.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.comstruct.com/api-reference/suppliers-sap#webpage\",\"url\":\"https://developer.comstruct.com/api-reference/suppliers-sap\",\"name\":\"SAP-Lieferanten erstellen oder aktualisieren\",\"description\":\"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.\",\"dateModified\":\"2026-06-30T15:36:55.359Z\",\"isPartOf\":{\"@id\":\"https://developer.comstruct.com#website\"},\"breadcrumb\":{\"@id\":\"https://developer.comstruct.com/api-reference/suppliers-sap#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developer.comstruct.com/api-reference/suppliers-sap#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Lieferanten\",\"item\":\"https://developer.comstruct.com/api-reference/suppliers\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SAP-Lieferanten erstellen oder aktualisieren\",\"item\":\"https://developer.comstruct.com/api-reference/suppliers-sap\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developer.comstruct.com/api-reference/suppliers-sap#apireference\",\"headline\":\"SAP-Lieferanten erstellen oder aktualisieren\",\"name\":\"SAP-Lieferanten erstellen oder aktualisieren\",\"description\":\"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.\",\"url\":\"https://developer.comstruct.com/api-reference/suppliers-sap\",\"mainEntityOfPage\":{\"@id\":\"https://developer.comstruct.com/api-reference/suppliers-sap#webpage\"},\"dateModified\":\"2026-06-30T15:36:55.359Z\",\"publisher\":{\"@id\":\"https://developer.comstruct.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.comstruct.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"comstruct API Dokumentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"comstruct API Dokumentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/suppliers-sap.md","siteName":"comstruct API Dokumentation","nav":{"global":{"anchors":[{"anchor":"Support","icon":"envelope","href":"mailto:support@comstruct.com"}]},"languages":[{"language":"de","default":true,"tabs":[{"tab":"Erste Schritte","pages":[{"title":"Erste Schritte","href":""}]},{"tab":"API-Referenz","groups":[{"group":"Übersicht","pages":[{"title":"API-Referenz","href":"/api-reference/introduction"}]},{"group":"Projekte","pages":[{"title":"Projekte auflisten","openapi":"GET /projects","href":"/api-reference/projects"},{"title":"Projekt erstellen oder aktualisieren","openapi":"POST /projects","href":"/api-reference/projects-create"},{"title":"Benutzer zuweisen","openapi":"POST /projects/user-assignments","href":"/api-reference/projects-user-assignments"},{"title":"Projekt nach externer ID abrufen","openapi":"GET /projects/byExternalId/{external_id}","href":"/api-reference/projects-by-external-id"},{"title":"Projekt nach Projektnummer abrufen","openapi":"GET /projects/byProjectNumber/{project_number}","href":"/api-reference/projects-by-number"},{"title":"Projektkomponenten abrufen","openapi":"GET /projects/{id}/components","href":"/api-reference/projects-components"},{"title":"Kategorien abrufen","openapi":"GET /projects/{id}/work-types","href":"/api-reference/projects-work-types"},{"title":"Kategorien importieren","openapi":"POST /projects/{id}/work-types","href":"/api-reference/projects-work-types-upsert"},{"title":"SAP-Projekte erstellen","openapi":"POST /projects/sap","href":"/api-reference/projects-sap"}]},{"group":"Lieferungen","pages":[{"title":"Lieferungen auflisten","openapi":"GET /deliveries","href":"/api-reference/deliveries"},{"title":"Lieferung erstellen","openapi":"POST /deliveries","href":"/api-reference/deliveries-create"},{"title":"Lieferung aktualisieren","openapi":"PATCH /deliveries/{id}","href":"/api-reference/deliveries-patch"},{"title":"Lieferung nach ID abrufen","openapi":"GET /deliveries/{id}","href":"/api-reference/deliveries-by-id"},{"title":"Lieferkomponenten abrufen","openapi":"GET /deliveries/{id}/components","href":"/api-reference/deliveries-components-get"},{"title":"Lieferkomponenten ersetzen","openapi":"PUT /deliveries/{id}/components","href":"/api-reference/deliveries-components-put"},{"title":"Lieferschein-PDF abrufen","openapi":"GET /deliveries/{id}/pdf","href":"/api-reference/deliveries-pdf"},{"title":"Lieferschein-PDF hochladen","openapi":"POST /deliveries/pdf","href":"/api-reference/deliveries-pdf-upload"},{"title":"OpenTrans-Lieferung erstellen","openapi":"POST /deliveries/opentrans","href":"/api-reference/deliveries-opentrans"},{"title":"PAHM-Lieferung erstellen","openapi":"POST /deliveries/pahm","href":"/api-reference/deliveries-pahm"},{"title":"Eigene Lieferung erstellen","openapi":"POST /deliveries/custom","href":"/api-reference/deliveries-custom"}]},{"group":"Rechnungen","pages":[{"title":"Rechnungen auflisten","openapi":"GET /invoices","href":"/api-reference/invoices"},{"title":"Rechnung abrufen","openapi":"GET /invoices/{id}","href":"/api-reference/invoices-by-id"},{"title":"Rechnungspositionen abrufen","openapi":"GET /invoices/{id}/items","href":"/api-reference/invoices-items"},{"title":"Rechnungsverlauf abrufen","openapi":"GET /invoices/{id}/history","href":"/api-reference/invoices-history"},{"title":"Rechnungs-PDF abrufen","openapi":"GET /invoices/{id}/pdf","href":"/api-reference/invoices-pdf"},{"title":"DATEV-XML-Export abrufen","openapi":"POST /invoices/public/datev-export","href":"/api-reference/invoices-datev-export"},{"title":"Externen Rechnungsstatus setzen","openapi":"PATCH /invoices/{id}/external-status","href":"/api-reference/invoices-external-status"},{"title":"Rechnung verarbeiten (eigenes Format)","openapi":"POST /invoices/custom","href":"/api-reference/invoices-custom"},{"title":"SAP-Rechnungs-Rückmeldung","openapi":"POST /invoices/callback","href":"/api-reference/invoices-callback"}]},{"group":"Rechnungs-Dimensionen","pages":[{"title":"Rechnungs-Dimensionen (Custom Properties)","openapi":"GET /invoice-dimensions","href":"/api-reference/invoice-dimensions"},{"title":"Rechnungs-Dimension anlegen","openapi":"POST /invoice-dimensions","href":"/api-reference/invoice-dimensions-create"},{"title":"Rechnungs-Dimension aktualisieren","openapi":"PATCH /invoice-dimensions/{id}","href":"/api-reference/invoice-dimensions-update"},{"title":"Rechnungs-Dimension löschen","openapi":"DELETE /invoice-dimensions/{id}","href":"/api-reference/invoice-dimensions-delete"},{"title":"Dimension-Optionen abrufen","openapi":"GET /invoice-dimensions/{dimensionId}/options","href":"/api-reference/invoice-dimensions-options-list"},{"title":"Dimension-Optionen anlegen","openapi":"POST /invoice-dimensions/{dimensionId}/options","href":"/api-reference/invoice-dimensions-options-create"},{"title":"Dimension-Option aktualisieren","openapi":"PATCH /invoice-dimensions/options/{id}","href":"/api-reference/invoice-dimensions-options-update"},{"title":"Dimension-Option löschen","openapi":"DELETE /invoice-dimensions/options/{id}","href":"/api-reference/invoice-dimensions-options-delete"},{"title":"Dimensions-Zuweisungen einer Rechnung abrufen","openapi":"GET /invoice-dimensions/assignments/invoice/{invoiceId}","href":"/api-reference/invoice-dimensions-assignments-invoice-get"},{"title":"Header-Dimensions-Zuweisungen setzen","openapi":"POST /invoice-dimensions/assignments/invoice","href":"/api-reference/invoice-dimensions-assignments-invoice-set"},{"title":"Positions-Dimensions-Zuweisungen (Bulk) setzen","openapi":"POST /invoice-dimensions/assignments/line-item/bulk","href":"/api-reference/invoice-dimensions-assignments-line-item-bulk"},{"title":"Konto-Dimensions-Zuweisungen (Bulk) setzen","openapi":"POST /invoice-dimensions/assignments/account/bulk","href":"/api-reference/invoice-dimensions-assignments-account-bulk-set"},{"title":"Konto-Dimensions-Zuweisungen (Bulk) teilweise aktualisieren","openapi":"PATCH /invoice-dimensions/assignments/account/bulk","href":"/api-reference/invoice-dimensions-assignments-account-bulk-patch"},{"title":"Konto-Dimensions-Zuweisungen (ein Konto) setzen","openapi":"POST /invoice-dimensions/assignments/account","href":"/api-reference/invoice-dimensions-assignments-account-set"},{"title":"Dimensions-Zuweisung löschen","openapi":"DELETE /invoice-dimensions/assignments/{id}","href":"/api-reference/invoice-dimensions-assignments-delete"}]},{"group":"Lieferanten","pages":[{"title":"Lieferanten erstellen oder aktualisieren","openapi":"POST /suppliers","description":"**Erforderliche Berechtigungen:** `suppliers:write`\n\nErstellt oder aktualisiert Lieferanten des aktuellen Kunden. Der Abgleich erfolgt über `external_id`.\nBankverbindungen werden anhand der IBAN zusammengeführt.\n`payment_term_id` und `default_account_id` sind UUIDs im comstruct-Mandanten.\nDer API-Schlüssel muss mit einem Kunden verknüpft sein.\n","href":"/api-reference/suppliers"},{"title":"SAP-Lieferanten erstellen oder aktualisieren","openapi":"POST /suppliers/sap","href":"/api-reference/suppliers-sap"},{"title":"Lieferant Buchungskreisen zuordnen","openapi":"PUT /suppliers/{id}/legal-entities","description":"**Erforderliche Berechtigungen:** `suppliers:write`\n\nErsetzt die vollständige Buchungskreis-Zuordnung eines Lieferanten.\nDer API-Schlüssel muss mit einem Kunden verknüpft sein, der Lieferant und alle Buchungskreise müssen zu diesem Kunden gehören.\n\nSenden Sie `legalEntityNumbers: []`, um alle Zuordnungen zu entfernen.\n","href":"/api-reference/suppliers-legal-entities"}]},{"group":"Bestellungen","pages":[{"title":"Bestellungen auflisten","openapi":"GET /purchase-orders","href":"/api-reference/purchase-orders-list"},{"title":"Bestellungen erstellen","openapi":"POST /purchase-orders","href":"/api-reference/purchase-orders"},{"title":"SAP-Bestellungen erstellen","openapi":"POST /purchase-orders/sap","href":"/api-reference/purchase-orders-sap"}]},{"group":"Bestellungen (Lieferanten)","pages":[{"title":"Lieferantenbestellung aktualisieren","openapi":"PATCH /supplier-orders/{id}","href":"/api-reference/supplier-orders-patch"}]},{"group":"Stammdaten","pages":[{"title":"Konten auflisten","openapi":"GET /accounts","href":"/api-reference/accounts"},{"title":"Konten erstellen oder aktualisieren","openapi":"POST /accounts","href":"/api-reference/accounts-create"},{"title":"Zahlungsbedingungen auflisten","openapi":"GET /payment-terms","href":"/api-reference/payment-terms"},{"title":"Zahlungsbedingungen erstellen/aktualisieren","openapi":"POST /payment-terms","href":"/api-reference/payment-terms-upsert"},{"title":"Steuercodes auflisten","openapi":"GET /tax-codes","href":"/api-reference/tax-codes"},{"title":"Steuercodes erstellen/aktualisieren","openapi":"POST /tax-codes","href":"/api-reference/tax-codes-upsert"},{"title":"Buchungskreise auflisten","openapi":"GET /legal-entities","href":"/api-reference/company-codes"},{"title":"Buchungskreise erstellen/aktualisieren","openapi":"POST /legal-entities","href":"/api-reference/company-codes-upsert"},{"title":"Projektregionen auflisten","openapi":"GET /project-regions","href":"/api-reference/project-regions"},{"title":"Projektregionen erstellen/aktualisieren","openapi":"POST /project-regions","href":"/api-reference/project-regions-upsert"}]},{"group":"Q-Point Integration","pages":[{"title":"Q-Point-Lieferung erstellen","openapi":"POST /qpoint","href":"/api-reference/qpoint"},{"title":"Q-Point-PDF hochladen","openapi":"POST /qpoint/pdf","href":"/api-reference/qpoint-pdf"}]},{"group":"Workflows","pages":[{"title":"Workflow auslösen","openapi":"POST /workflows/trigger","href":"/api-reference/workflows-trigger"},{"title":"Workflow-Status abrufen","openapi":"GET /workflows/status/{external_id}","href":"/api-reference/workflows-status"},{"title":"Workflow-Status aktualisieren","openapi":"PUT /workflows/status/{external_id}","href":"/api-reference/workflows-status-update"}]},{"group":"Kalender","pages":[{"title":"Kalender-Abonnement","openapi":"GET /calendars/subscription","href":"/api-reference/calendars"}]},{"group":"IDS Aufträge","pages":[{"title":"IDS-Auftrag verarbeiten","openapi":"POST /ids/{order_id}","href":"/api-reference/ids-orders"}]}]}]},{"language":"en","pages":[{"title":"en","href":"/en/api-reference/suppliers-sap"}]}]},"basePath":"","title":"SAP-Lieferanten erstellen oder aktualisieren - comstruct API Dokumentation","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}