> For the complete documentation index, see [llms.txt](https://docs.solutioo.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.solutioo.de/shopware/daten-aus-shopware-download-and-matching/produkt-matching-per-sku-and-web-id.md).

# Produkt-Matching per SKU & Web-ID

Damit ein Artikel nicht doppelt in Shopware angelegt wird, gleicht der Connector vor dem Upload ab, ob das Produkt dort bereits existiert. Grundlage ist die **Artikelnummer**, die in Shopware der **`productNumber` (SKU)** entspricht.

**So funktioniert der Abgleich**

```mermaid
flowchart TD
    A[Artikel-Upload] --> B{Web-ID vorhanden?}
    B -->|ja| C[Update per PATCH]
    B -->|nein| D[Suche in Shopware: productNumber = Artikelnr.]
    D -->|genau 1 Treffer| E[Übernahme der Shopware-ID als Web-ID]
    D -->|kein Treffer| F[Neuanlage per POST]
    E --> C
```

* Hat der Artikel **keine Web-ID**, sucht der Connector in Shopware nach einem Produkt mit **`productNumber` = Artikelnummer** (SKU). Technisch erfolgt das über den Endpunkt `search/product` mit einem Filter auf das Feld `productNumber`.
* Wird ein Treffer gefunden, wird dessen **Shopware-ID als Web-ID** übernommen – der Artikel gilt damit als verknüpft.
* Danach werden Aktualisierungen per **PATCH** ausgeführt, nicht als Neuanlage. Das verhindert Duplikate.

{% hint style="info" %}
Voraussetzung ist, dass die **Artikelnummer in BC** der **SKU/productNumber in Shopware** entspricht. Achten Sie auf konsistente Nummern.
{% endhint %}

**Sonderfälle**

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Kein Treffer</strong></td><td>Es existiert kein Produkt mit dieser SKU – der Artikel wird neu angelegt.</td></tr><tr><td><strong>Abweichende SKU</strong></td><td>Nummern stimmen nicht überein – es entsteht ein Duplikat. Nummern angleichen und erneut matchen.</td></tr><tr><td><strong>Bereits verknüpft</strong></td><td>Web-ID ist gesetzt – der Abgleich wird übersprungen, es folgt direkt ein Update.</td></tr></tbody></table>

**Web-ID zurücksetzen**

Möchten Sie die Verknüpfung lösen (z. B. beim Wechsel des Shops), setzen Sie die Web-IDs über die entsprechenden Reset-Funktionen zurück. Siehe Sauberer Neustart per Reset.

**Umfangreiche Übernahme**

Sollen zusätzlich **Bilder, Attribute, Kategorien und Varianten** aus Shopware übernommen werden, lesen Sie:

* Artikel-Matching & Datenübernahme aus Shopware
* Attribute & Eigenschaften (Property Groups) abgleichen
* Varianten abgleichen (Farbe & Größe)
* Produktbilder & Medien-Infos abrufen

### Häufige Fragen

#### Welcher Schlüssel wird für das Matching zwischen Business Central und Shopware verwendet?

Primärer Matching-Schlüssel ist die Artikelnummer: Sie wird als `productNumber` (SKU) in Shopware geschrieben. Sekundär dient die „SOUSHW Web ID“ (Shopware-Produkt-UUID) zur eindeutigen Verknüpfung. Ist die Web-ID gefüllt, aktualisiert der Connector das Produkt per PATCH auf `product/{id}`; ist sie leer, erfolgt eine Neuanlage per POST.

#### Wie vermeidet der Connector doppelte Produkte bei der Neuanlage?

Vor einer Neuanlage (Web-ID leer) sucht der Connector über `search/product` mit Filter `field=productNumber`, `value={Artikelnr.}`, `type=equalsAll` nach einem bereits vorhandenen Produkt mit gleicher SKU. Wird eines gefunden, wird es entfernt und anschließend sauber neu angelegt – so entstehen keine Dubletten. Leerzeichen in der SKU werden dabei über `EncodeSKU` als `%20` kodiert.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.solutioo.de/shopware/daten-aus-shopware-download-and-matching/produkt-matching-per-sku-and-web-id.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
