For the complete documentation index, see llms.txt. This page is also available as Markdown.

Product Matching by SKU & Web-ID

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:

Frequently Asked Questions

Which key is used for matching between Business Central and Shopware?

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.

How does the connector avoid duplicate products when creating new ones?

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.