Shops (Multi-Shop)
Overview of the multi-shop management of the Shopware 6 Connector. Each Shopware 6 shop is kept as its own record with its own connection, defaults, sync toggles and process overrides. This lets you run several Shopware 6 instances in parallel from a single BC environment.
Shop = sub-account in the hub
The Shop Code maps 1:1 to the sub-account code in the merchantCENTRAL Hub. Order, quantity and price sync run per shop. The first shop is named MAIN by default.
New shop, new name
For a new shop, enter only its Name. The connector assigns the shop code itself when the shop is created: SHOP01, SHOP02 and so on. The code does not change afterwards – Business Central and the hub keep the shop's data under it. A shop is renamed by its Name; the hub shows the new name as the sales channel at once.
Opening the page
- Via Search: Shopware 6 Shops
- Via the Setup Card → Manage Shops
- Via the Data Takeover → action Shops
List
| Field | Description |
|---|---|
| Shop Code | Code under which Business Central and the hub keep the shop's data (e.g. MAIN, SHOP01) – maps to the hub sub-account. Assigned when the shop is created and cannot be changed. |
| Name / Description | Name and description; the name appears in messages, lists and in the hub as the sales channel, and can be changed at any time. |
| API URL | Base URL of the shop. |
| Enabled | Only active shops are synchronised. |
Shop Card – fields
Connection
| Field | Description |
|---|---|
| API URL | Base URL of this shop. |
| Access Key ID | OAuth2 access key (via drill-down, in the credential store). |
| Secret Access Key | Secret key of the integration (via drill-down, in the credential store). |
Sync toggles
Controllable per shop: Order Import Enabled, Item Sync Enabled, Price Sync Enabled, Inventory Sync Enabled, Customer Sync Enabled, Image Sync Enabled. This way one shop can import orders only, while another also receives items and images.
| Field | Description |
|---|---|
| Max Orders Per Run | Maximum orders per job queue run (default 15). |
| Order Date Filter | Earliest order date to import. |
Defaults (override the setup default)
| Field | Description |
|---|---|
| Default Tax / Default Tax Rate | Default tax for this shop. |
| Default Currency | Default currency for this shop. |
| Currency Code | Sales currency of this shop as a BC currency (e.g. PLN). Empty = local currency. The sales price list of the shop has to be kept in this currency – nothing is converted. |
| Price List (merchantCENTRAL) | The sales price list the prices of this shop come from. It is assigned to the shop's sales channel on the merchantCENTRAL marketplace card; the currency and whether the prices include VAT come from the list. The drill-down opens the sales channel card. |
| Sales Channel | Sales channel (visibility, SEO). |
| Description Template | Description template (empty = setup default). |
| Variant Container Suffix | SKU suffix of variant containers (empty = setup default). |
| Custom Field/Text 1–2 API Name / Label | Own custom field mapping; empty = setup default. |
Process overrides (Default (Setup) / Yes / No)
Default (Setup) takes the setup value.
| Override | Effect |
|---|---|
| Suppress Status on Ship | No status update to this shop on shipping. |
| Auto Payment Status on Ship | Mark the order as paid with the shipment that ships the rest of the order – not on a partial shipment, see posted shipment. |
| Auto Credit Memo on Return | Automatically create a credit memo in BC on return. |
| Upload Documents to Shop | Invoice/credit memo as PDF to the shop order. |
| Sync Product Documents | Upload product documents on item push. |
| Default Feature Set | Essential characteristics for uploaded items. |
Shop card – action “Clean Up Empty Media”
If a document upload fails after the media entry was created, an entry without a file stays behind in the shop – hardly findable in the admin, with neither name nor preview. The Clean Up Empty Media action on the shop card cleans up:
- Finds all media entries of the shop that never received a file and are older than 60 minutes (the age limit protects uploads running right now).
- If such a medium is still linked to a product (as a download or product image), the confirmation names the affected product numbers. These links are broken anyway – the download delivers nothing, the image stays blank – and are removed along with the media.
- Deletes the entries after confirmation; the result message reports the count.
Media with files are never touched. Individual delete failures do not abort the run and are recorded in the activity log (context EmptyMediaDelete).
Shop card – action “Reassign Orphaned Records”
The shop code is the first key field of every catalog table of the connector and at the same time the sub-account code in the hub. If items, categories, manufacturers or other entries carry a shop code that has no shop, they drop out of every loop that runs over the existing shops. Without an error message: prices and stock of those items simply do not reach the shop.
The action cleans up such orphaned entries:
- Finds all records whose shop code belongs to no existing shop.
- The confirmation names the number of affected rows and the orphaned codes before anything is changed.
- Reassigns the rows to this shop. Rows that already exist there are removed as duplicates.
Run the full sync afterwards
The reassigned items keep their old change timestamps. The regular sync only transfers changes and would skip precisely those items – the shop would keep showing the old prices and stock. So run Sync Prices and Stock once afterwards.
Shop card – action “Sync Prices and Stock”
The regular sync is a delta run: it only transfers items that changed since this shop's last sync. That is right in daily business and useless after a data correction – reassigned items carry old timestamps and are skipped.
This action publishes price and stock of every item that is online in this shop, regardless of its change timestamp:
- Counts the affected items and names the number in the confirmation.
- Runs through the hub – the license and marketplace guard applies as with every other sync.
- The result message separates published items, items blocked by the merchantCENTRAL price check and products not found in the shop.
It requires the shop to be enabled and at least one of price sync or inventory sync to be switched on. Shops without price sync get the quantity-only run. The change timestamps are not written back – jobs running in parallel keep their reference point.
Runtime
The run covers the shop's complete online catalog and cannot be stopped halfway. Plan accordingly with several thousand items.
Notes
Migration from single-shop setup
When upgrading from a single-shop configuration, the existing settings are automatically migrated into a MAIN shop record.
Credential store
All API credentials are stored per shop in the central credential store – never in clear text.
- Each shop is registered in the merchantCENTRAL Hub as its own sub-account.
- The job queue processes all enabled shops.
- For strongly divergent catalogs across shops, a shared catalog currently applies (per-shop catalog scoping is in progress).