To prevent an item from being created twice in Shopware, the connector checks before the upload whether the product already exists there. This check is based on the item number, which corresponds to the productNumber (SKU) in Shopware.
How the matching works
If the item has no Web-ID, the connector searches Shopware for a product with productNumber = item number (SKU). Technically, this is done through the search/product endpoint with a filter on the productNumber field.
If a match is found, its Shopware ID is adopted as the Web-ID – the item then counts as linked.
Updates are then carried out via PATCH instead of creating a new record. This prevents duplicates.
This requires the item number in BC to match the SKU/productNumber in Shopware. Make sure the numbers are consistent.
Special cases
No match
No product with this SKU exists – the item is created as a new product.
Differing SKU
The numbers do not match – a duplicate is created. Align the numbers and match again.
Already linked
The Web-ID is set – matching is skipped and an update follows directly.
Resetting the Web-ID
If you want to remove the link (for example, when switching shops), reset the Web-IDs using the corresponding reset functions. See Clean Restart via Reset.
Comprehensive data import
If images, attributes, categories, and variants are also to be imported from Shopware, read the following:
The primary matching key is the item number: it is written to Shopware as the productNumber (SKU). Secondarily, the "SOUSHW Web ID" (Shopware product UUID) is used to create a unique link. If the Web-ID is filled in, the connector updates the product via PATCH on product/{id}; if it is empty, a new product is created via POST.
Before creating a new product (Web-ID empty), the connector uses search/product with the filter field=productNumber, value={Artikelnr.}, type=equalsAll to look for an existing product with the same SKU. If one is found, it is removed and then created again cleanly – so no duplicates arise. Spaces in the SKU are encoded as %20 by EncodeSKU.
