Flxpoint Help Center
All DocsContact support

Shopware as a Channel

July 2, 2026

Summary

Shopware is an eCommerce platform widely used across Europe. Flxpoint connects through Shopware's Admin API using OAuth2 client credentials and supports the full channel workflow: import and sync/link listings, publish new listings with multi-image and multi-sales-channel support, import orders (with custom-field mapping), and sync shipments back with partial-shipment support. Because it uses OAuth2 rather than a simple API key, you first create a dedicated integration user in your Shopware admin.

Import Listings
Pulls existing Shopware products – parents with nested variants, manufacturer, categories and media – into Flxpoint in batches of 100.
Sync & Link Listings
Links Shopware products to your Flxpoint catalog by product number and syncs price, quantity and status (hide / unhide / delist).
Publish Listings
Creates new products in Shopware with multi-image upload and single- or multi-sales-channel configuration.
Get Orders
Imports orders filtered by order status, payment status and age, with custom-field support via the cf_ prefix.
Sync Orders
Sends shipment and tracking data back to Shopware as a new delivery, with partial-shipment support.

In Flxpoint go to Channels → + Add Channel, select Shopware, then complete the setup form. First generate an integration in your Shopware admin (Settings → System → Integrations) to obtain the Client ID and Client Secret.

Connection NameSetting
A descriptive label for this connection in Flxpoint (e.g. My Shopware Store).
Flxpoint-side label only; it does not affect authentication.
Store URLRequired
The base URL of your Shopware storefront (e.g. https://yourstore.com).
Use your live storefront's base URL.
Client IDRequired
The Client ID generated by your Shopware integration under Settings → System → Integrations.
Generated in Shopware; paste it exactly.
Client SecretRequired
The Client Secret paired with the Client ID. Shopware shows it only once at creation, so copy it immediately.
If lost, create a new integration in Shopware and re-enter both values in Flxpoint.
Connection test failing? Confirm the Client ID and Client Secret exactly match the values from your Shopware integration, that the integration user has administrator-level access, and that it hasn't been disabled. You can regenerate the credentials in Shopware (Settings → System → Integrations) – this invalidates the old ones – then update both fields in Flxpoint. Once the connection succeeds, Flxpoint also automatically pulls your store's Product Tax ID, Price Currency ID, and Sales Channel values via Integration Configuration, so you don't need to enter them by hand.

Client Secret is shown only once in Shopware – save it immediately

When you create an integration in Shopware under Settings → System → Integrations, the Client Secret is displayed only at the moment of creation. If you leave the page without copying it, you must create a new integration and re-enter the credentials in Flxpoint. Store the Client Secret securely before leaving the Shopware admin.

Shopware stores dimensions in millimeters – Flxpoint converts to centimeters

Shopware sends product dimensions in millimeters. On import Flxpoint divides by 10 to produce centimeters (weight stays in kilograms, no conversion). If a downstream channel or carrier expects millimeters, add a transformation rule that multiplies dimensions back by 10.

Order custom fields require the cf_ prefix in mapping

Shopware order and line-item custom fields arrive as key-value pairs. To map one in Get Orders, reference it as cf_<custom_field_key> – e.g. a Shopware key of customfield_gift_note maps as cf_customfield_gift_note. Without the cf_ prefix the field is not captured.

Shipping-method matching is case-sensitive and name-based

When Sync Orders writes a shipment back, Flxpoint matches your shipping method name to a Shopware shipping method name exactly. If they don't match, Flxpoint falls back to the order's primary delivery method. Use the Integration Configuration fetch to retrieve the exact Shopware shipping method names before mapping.


Shopware FieldMaps To – Notes
idParent / Variant External ID. Direct mapping.
productNumberSKU. Direct mapping; also the linking key between Flxpoint and Shopware.
nameTitle. Variant value first; falls back to the parent name if the variant name is blank.
descriptionDescription. Direct.
activeStatus. If false, the listing status is set to HIDDEN.
media → urlImages. Iterates the media list and extracts valid image URLs.
manufacturer → nameBrand. Mapped when the manufacturer object and name exist.
categories[0..2]Category 1, 2, 3. The first three category names, in order.
customFieldsCustom Fields. Mapped to Flxpoint internal custom fields.
stockQuantity. Uses the variant (child) stock; falls back to parent stock when null.
ean / manufacturerNumberUPC / MPN. Child value first, then parent.
weightWeight. Child first, then parent; unit forced to kilograms.
width / height / lengthDimensions. Shopware sends millimeters; Flxpoint divides by 10 (rounded to 2 decimals) to store centimeters.
price[0].gross / .netPrice / Cost. From the first price object: gross → Price, net → Cost.
optionsVariant Options. Extracts the option group name (e.g. "Size") and option value (e.g. "Large").
Products import in batches of 100 (top-level parents with nested variants). When a variant field is blank, Flxpoint coalesces child-first then parent for stock, UPC/MPN, weight, dimensions and pricing.
Shopware FieldMaps To – Notes
id (parent & variant)External ID. Direct mapping of the alphanumeric Shopware ID.
productNumberSKU (parent & variant). Direct mapping; this is the linking key.
ean (parent & variant)UPC. European Article Number.
manufacturerNumber (parent & variant)MPN. Direct.
active (parent & variant)Hidden Status. Inverts the boolean: active=true → hidden=false; active=false → hidden=true. When active is null, the variant inherits the parent's visibility.
Syncs price, quantity and status, and supports lifecycle actions (hide / unhide / delist). Runs paginate 100 products per page; hourly is typical for price and quantity.
Flxpoint FieldMaps To Shopware – Notes
SKUproductNumber. Required.
Titlename. Required.
Descriptiondescription. Optional.
Brandmanufacturer. Resolved to the Shopware manufacturer object by name.
Categoriescategories. Mapped to category UUIDs in the Shopware taxonomy.
Price / Costprice (gross / net). Currency comes from your store config.
Quantitystock. Per variant.
Weight / Dimensionsweight / width / height / length. Flxpoint sends CM/KG; Shopware converts internally to MM where required.
Imagesmedia. Multi-image upload; the first position becomes the cover.
Visibility / Sales Channel IDsvisibilities. A single ID from Integration Configuration, or comma-separated IDs from the mapping template.
Custom FieldscustomFields. Direct mapping.
Variant Optionsoptions. Option group + value pairs (e.g. Size, Color).
Product media uses a "Wipe and Replace" strategy to prevent gallery duplication on re-sync. Use the Integration Configuration fetch to pull your store's Sales Channels, Currencies and Taxes instead of entering UUIDs by hand.
Shopware FieldMaps To – Notes
id / orderNumberOrder Number.
orderDateTime / createdAtOrder Date.
amountTotal / amountNetTotal / Subtotal.
billingAddressBilling Address.
deliveries[0].shippingOrderAddressShipping Address.
lineItemsOrder Items (SKU, quantity, price).
transactions[0].paymentMethodPayment Method.
customFields → cf_*Custom Fields. Reference each field as cf_<custom_field_key>.
Filter by order status (open, in_progress, completed, cancelled), payment status (open, paid, cancelled) and a "created within last X days" window. Custom fields must use the cf_ prefix, e.g. cf_customfield_key.
Each shipment is written back as a new delivery on the Shopware order, so an order can carry multiple deliveries for partial fulfillment. Flxpoint matches your shipping method name to Shopware's (case-sensitive); if none matches, it falls back to the order's primary delivery method. The delivery is created as Partially Shipped with shipping cost and the carrier stored in a custom field, then a ship state transition marks it fully shipped. Map tracking codes in your template – they're stored in the trackingCodes array on the delivery.

OAuth2 authentication fails – the connection test fails after entering credentials
Confirm the Client ID and Client Secret in Flxpoint exactly match the values from your Shopware integration. If you're unsure the secret copied correctly, regenerate the credentials in Shopware (Settings → System → Integrations) – this invalidates the old ones – and update both fields in Flxpoint. Also confirm the integration user has administrator-level access and hasn't been disabled.
Product dimensions look 10x too large or 10x too small after import
Shopware stores dimensions in millimeters and Flxpoint divides by 10 to convert to centimeters. If your Shopware products already store CM, values look 10x too small after import; if a downstream channel expects MM, the CM values look 10x too small there. Add a transformation rule to multiply or divide by 10 at the right point in your workflow.
Published product appears in the Shopware admin but not on the storefront
A product can exist in Shopware without being visible if it isn't assigned to a Sales Channel. Check the Sales Channel ID(s) in your Publish Listings mapping template and confirm they match the storefront UUIDs. Use the Integration Configuration fetch to retrieve the exact Sales Channel UUIDs – manually entered UUIDs are the most common cause.
Orders aren't importing even though the filters look correct
Confirm the order exists in Shopware and check its actual order status and payment status – only orders matching both filters are pulled. Widen the fetch-order-last-x-days window to cover the order's creation date. Also verify the order's shipping method name maps to a Flxpoint shipment method – a missing or mismatched name can silently block import. Re-run Get Orders after any change.
Listings aren't linking – the Flxpoint SKU doesn't match the Shopware product
Sync & Link Listings matches on productNumber (Shopware's SKU). Confirm the Flxpoint listing SKU exactly matches the Shopware productNumber – the match is case-sensitive. Also check the SKU wasn't changed after the initial Import Listings run, which would break the existing link.
Shipment written back with the wrong shipping method or carrier name
Shipping-method matching is case-sensitive and exact. Use the Integration Configuration fetch to retrieve Shopware's shipping method names and IDs, then make the names in your Sync Orders mapping match character-for-character. If no match is found, Flxpoint falls back to the order's primary delivery method – expected behavior, but the specific method won't be passed as intended.

How do I generate API credentials for the Shopware integration?
In your Shopware admin, go to Settings → System → Integrations and click Add integration. Give it an identifiable name (e.g. "Flxpoint Integration") and grant it administrator-level access so it can read and write products, orders and deliveries. Save it – Shopware displays a Client ID and Client Secret. Copy the Client Secret immediately (it's shown only once), then paste both values plus your store URL into the Flxpoint Shopware setup form.
How do I publish listings to multiple Shopware Sales Channels (storefronts)?
Two options. For a single storefront, set the Sales Channel ID in the Integration Configuration – all listings publish there. For multiple storefronts, leave the Integration Configuration blank and provide comma-separated Sales Channel IDs in the Publish Listings mapping template. Use the Integration Configuration fetch to retrieve the exact UUID for each Sales Channel – manual UUIDs are error-prone.
How does variant visibility work when a Shopware variant has no explicit active status?
Shopware leaves a variant's active field null when its visibility matches the parent. Flxpoint detects this and inherits the parent's status for that variant. If a variant shows unexpected visibility, set active explicitly to true or false on the variant in Shopware rather than leaving it null – explicit values always take precedence.
Does Sync Orders support partial shipments?
Yes. Sync Orders creates a separate delivery in Shopware for each shipment, so an order can have multiple deliveries reflecting partial fulfillment. Each delivery is created as Partially Shipped with the carrier stored in a custom field; once all items ship, the final delivery transition marks the order fully shipped.
Can I control which image becomes the cover (thumbnail) when publishing?
Yes – the cover is set automatically from image position: the first image in the sequence becomes the cover. To change it, reorder the images on the listing in Flxpoint so the intended cover appears first. Each Publish run uses a "Wipe and Replace" strategy for product media to prevent gallery duplication on re-sync.
© 2026 Flxpoint. All rights reserved.