Shopware as a Channel

Shopware is an eCommerce platform powering storefronts globally. The Flxpoint integration uses Shopware's Admin API (OAuth2 client_credentials) to import the catalog, sync products + inventory, publish new listings with multi-image upload + sales-channel configuration, import orders with custom-field support via the cf_ prefix, and sync shipments back with partial-shipment support.

How to Connect

Phase 1: Initial Channel Setup +
Access the Channels Section
Log into your Flxpoint account and navigate to the Channels section to begin setting up your Shopware integration.
Create a New Channel
Click + Add Channel to start a new connection.
Tip: Have your Shopware store URL plus your Client ID and Client Secret ready before you begin. You'll generate these in the Shopware admin in Phase 2.
Select Channel Type
In the channel selection screen:
  • Search for and select Shopware as your channel type.
  • Proceed to the next step to open the Shopware channel setup form.
Phase 2: Authentication & Connection +
Generate API Credentials in Shopware
Flxpoint connects to Shopware using OAuth2 (client credentials). Before connecting in Flxpoint, generate an integration in your Shopware admin:
  • Sign in to your Shopware admin panel.
  • Open Settings > System > Integrations.
  • Click Add integration and give it a clear name (e.g., "Flxpoint Integration").
  • Grant the integration administrator-level access so it can read and write products, orders, and shipments.
  • Save the integration. Shopware will display a Client ID and a Client Secret.
  • Copy the Client Secret immediately, as it is shown only once.
Important: Store the Client Secret in a safe place. If it's lost, you'll need to create a new integration and re-enter the credentials in Flxpoint.
Enter Credentials in Flxpoint
In the Shopware channel setup form in Flxpoint, provide the following:
  • Connection Name — A descriptive label (e.g., "My Shopware Store").
  • Store URL — The base URL of your Shopware storefront (e.g., https://yourstore.com).
  • Client ID — Paste the Client ID generated in Shopware.
  • Client Secret — Paste the Client Secret generated in Shopware.
Important: Flxpoint needs read and write permissions on products, orders, and deliveries to manage listings and fulfillment.
Verify Connection
Click Test Connection & Continue. Flxpoint securely authenticates with Shopware using your client credentials and confirms the integration is reachable. If successful, proceed to configuration.
Phase 3: Configuration & Mapping +
Set Up Listing Management
Configure how listings are handled:
  • Choose Create Only to import and link listings based on SKU, creating new Flxpoint listings if no match is found.
  • Choose Create & Overwrite Existing to import, link, and overwrite existing Flxpoint listings with Shopware data.
  • Enable Set New Listings to Paused to pause new imports for review before going live.
Pro Tip: Pausing new listings prevents orders until you've connected them to inventory sources.
Configure Sales Channels
Shopware uses Sales Channels to control where products appear on your storefront. Flxpoint can fetch the available Sales Channels, Currencies, and Taxes directly from your store so you don't have to look them up manually.
  • Choose a single Sales Channel ID in the Integration Configuration to publish all listings to one storefront, OR
  • Provide multiple Sales Channel IDs (comma-separated) in the Publish mapping template to publish a listing to several storefronts at once.
Tip: If you only sell on one storefront, the single Sales Channel ID option is the simplest path. Multi-channel publishing is best when the same catalog needs to live on multiple storefronts.
Configure Order Import
Set how Flxpoint pulls orders from Shopware:
  • Order Status — Choose which Shopware order statuses to import (e.g., open, in progress, completed, cancelled).
  • Payment Status — Filter by payment state (open, paid, cancelled) so you only pull orders ready to be fulfilled.
  • Get Orders Created within the last X Days — Define the lookback window for new order retrieval.
Important: A narrow lookback window prevents Flxpoint from re-importing old orders, while a wider one catches anything that arrived during downtime.
Set Up Shipping Mappings
Flxpoint matches the shipment method on an outbound shipment to a Shopware shipping method by name. If a match is found, the corresponding Shopware shipping method is used. If no match is found, the order's primary delivery shipping method is used as a fallback.
  • In Shopware, review your existing shipping method names so you can mirror them in Flxpoint.
  • In Flxpoint, ensure shipment methods are named so they match (case-sensitive) what Shopware expects.
Note: Flxpoint does not create new shipping methods in Shopware. The fallback to the order's primary delivery shipping method covers cases where names don't match.
Complete Setup
Review your settings and save the integration.
Next Steps: Run manual syncs to test listings and orders before enabling automation.
Phase 4: Pricing, Rules & Automation (Optional) +
Configure Pricing Strategy
Under Pricing & Quantity Rules, set up how you want to price your products:
  • Add markups (e.g., 20% over cost) or set specific pricing rules.
  • Set minimum prices to protect your margins.
  • Limit quantities shown to reduce the risk of overselling.
Strategy Tip: Some sellers cap the quantity shown to reduce oversell risk, even when they hold more inventory.
Schedule Your Integration Processes
In Automate Integrations, decide how often each process should run:
  • Import Listings — Manually import existing Shopware listings (cannot be scheduled).
  • Sync Listings — Update price, quantity, and status changes (e.g., every hour).
  • Publish Listings — Push new or updated listings to Shopware.
  • Get Orders — Pull new orders (every 15–30 minutes recommended).
  • Sync Orders — Send tracking and shipment data back to Shopware (every few hours).
Ready for Launch: After setup is complete, we recommend:
  • Run each process manually first to test.
  • Verify that a few products sync correctly.
  • Check that test orders process properly.
  • Then enable automation when everything looks good.
Additional Tips & Notes +

Shopware stores product dimensions in millimeters and weight in kilograms. Flxpoint normalizes dimensions to centimeters on import (rounded to 2 decimal places) and uses kilograms for weight without conversion.

Listings are linked between Flxpoint and Shopware using the product number (SKU). Keep SKUs unique and consistent to avoid broken links.

  • Delisting removes the product from Shopware; you can re-list it later via Sync or Publish.
  • Hide and Unhide actions temporarily change visibility without removing the product.
  • Custom field keys from Shopware can be mapped on orders using the cf_ prefix (see the Get Orders section).
  • Contact support@flxpoint.com for any issues.

Listing Operations

Import Listings pulls existing products into Flxpoint. Sync & Link Listings links catalogs and syncs price/qty/status. Publish Listings creates new products in Shopware with multi-image upload and multi-sales-channel support.

Import Listings
Sync & Link Listings
Publish Listings
Supported
Introduction

Shopware — Import Listings pulls product listings from your Shopware store into Flxpoint in batches of 100. Each batch fetches top-level Parent products with their nested variants, manufacturer, categories, and media. The integration includes resilient fallback logic for variant data (variant first; fall back to parent for missing fields).

Setup Steps
  • 1Connect Shopware: Enter your client-id and client-secret (issued from your Shopware store's Integrations section). OAuth2 token generation is handled automatically.
  • 2Configure Settings: Set the schedule for Import Listings. Daily is typical.
  • 3Select Mapping Template: Choose Shopware Import Listings.
Field Mapping
Shopware Field Flxpoint Field Notes
id Parent / Variant External ID Direct mapping.
productNumber SKU Direct.
name Title Variant first; fallback to parent name if blank.
description Description Direct.
active Status If false, status set to HIDDEN.
media → url Images Iterates media list, extracts valid image URLs.
manufacturer → name Brand Mapped when manufacturer object + name exist.
categories[0..2] Category 1, 2, 3 First 3 category names sequentially.
customFields map Custom Fields Mapped to internal custom fields.
stock Quantity Fallback: child stock; if null, parent stock.
ean / manufacturerNumber UPC / MPN Fallback: child first, then parent.
weight Weight Fallback: child first, then parent. Unit forced to KILOGRAM.
width / height / length Dimensions Unit conversion: Shopware sends MM; divided by 10 and rounded to 2 decimals to produce CM.
price[0].gross / .net Price / Cost First price object: gross → Price; net → Cost.
options array Variant Options Extracts Option Group name (e.g., "Size") + Option Value (e.g., "Large").
Parent-Child Inheritance: Shopware leaves variant fields blank when they match the parent. Flxpoint applies strict coalescing — child first, fall back to parent — for: stock, UPC / MPN, weight, dimensions, pricing.
Troubleshooting
  • Auth failed: Verify client-id + client-secret in your Shopware Integrations admin.
  • Dimensions are 10x too large / 10x too small: Shopware sends MM; Flxpoint converts to CM. If your downstream channel expects MM, add a transformation rule.
  • Variant fields missing: Confirm the parent product has the field populated — fallback uses parent value when variant is blank.
  • Custom fields not capturing: Confirm field exists in customFields map on the Shopware product.
Supported
Introduction

Shopware — Sync & Link Listings links existing Shopware products to your Flxpoint catalog and syncs price, quantity, and status updates. It fetches up to 100 parent products with variants per page, applies inheritance logic for variant active status, and supports product lifecycle actions (hide / unhide / delist).

Setup Steps
  • 1Re-use the OAuth2 connection from Import Listings.
  • 2Configure the sync schedule (hourly is typical for price + qty).
  • 3Select Shopware Sync & Link Listings mapping template.
Linking Fields
Shopware Field Flxpoint Field Notes
id (parent & variant) External ID Direct mapping — alphanumeric Shopware ID.
productNumber SKU (parent & variant) Direct mapping.
ean (parent & variant) UPC European Article Number.
manufacturerNumber (parent & variant) MPN Direct.
active (parent & variant) Hidden Status Inverts the boolean — active=truehidden=false; active=falsehidden=true.
Variant Visibility Inheritance

When a variant's active field is null in Shopware, Flxpoint inherits the parent's visibility. Rule logic:

  • Check Variant Status First.
  • Explicit Status: If active is explicitly true or false, use that.
  • Inherited Status (Fallback): If active is null, take the parent product's status.
Sync Operations
  • Sync price, quantity, and status updates to the store.
  • Support product lifecycle actions: hide / unhide products; delist products from the store.
Troubleshooting
  • Variants showing wrong visibility: Confirm the variant's active field in Shopware. If null, parent's status is inherited.
  • Sync runs slow: The integration paginates 100 products per page; reduce mapping complexity if individual sync runs are timing out.
  • Listings not linking: Confirm SKU matches between Shopware productNumber and your Flxpoint listing SKU.
Supported
Introduction

Shopware — Publish Listings creates regular and parent-child products on your Shopware store. Supports multi-image upload, visibility/sales-channel configuration (single or multiple channels), and automated cover-image assignment based on position.

Setup Steps
  • 1Re-use OAuth2 connection.
  • 2Sales Channel configuration: Set a single Sales Channel ID via Integration Configuration, OR configure multiple Sales Channel IDs in the mapping template (comma-separated).
  • 3Select Publish Listings mapping template.
Multi-image upload: A "Wipe and Replace" strategy is used for product-media associations to prevent gallery bloat during re-syncs. The cover image is set automatically based on position.
Field Mapping
Flxpoint Field Shopware Field Notes
SKU productNumber Required.
Title name Required.
Description description Optional.
Brand manufacturer Resolved to manufacturer object by name.
Categories categories Mapped to category UUIDs in Shopware taxonomy.
Price / Cost price (gross / net) Currency from store config.
Quantity stock Per variant.
Weight / Dimensions weight / width / height / length Unit conversion: Flxpoint sends in CM/KG; Shopware converts internally to MM where required.
Images media Multi-image upload; first position becomes cover.
Visibility / Sales Channel IDs visibilities Single ID from config, or comma-separated multiple from template.
Custom Fields customFields Direct mapping.
Variant Options (Size, Color, etc.) options Option group + value pairs.
Integration Configuration Enhancements: Flxpoint can fetch the following directly from your store:
  • Storefront Sales Channels (for selection)
  • Configured Currencies in the store
  • Configured Taxes in the store
Use these helpers to avoid manually entering UUIDs.
Troubleshooting
  • Product publishes but doesn't appear on storefront: Check the Sales Channel ID(s) in your mapping. Use the Integration Configuration fetch to confirm the correct UUIDs.
  • Cover image is wrong: Cover assignment is based on image position. Reorder images in Flxpoint to control the cover.
  • Currency / Tax incorrect: Use the fetched Currency / Tax options from Integration Configuration; manual UUIDs are error-prone.
  • Galleries bloating after re-sync: The "Wipe and Replace" strategy prevents this. If you see bloat, confirm you're on the latest integration version.

Order Operations

Get Orders imports orders by status / payment / age filters with cf_-prefix custom field mapping. Sync Orders sends shipment + tracking back as new deliveries with partial-shipment support.

Get Orders
Sync Orders
Supported
Introduction

Shopware — Get Orders imports orders from your Shopware store into Flxpoint based on configured status + payment + age filters. Custom fields can be mapped using the cf_ prefix convention.

Setup Steps
  • 1Re-use OAuth2 connection.
  • 2Configure filters:
    • multi-order-statusopen, in_progress, completed, cancelled
    • multi-order-payment-statusopen, paid, cancelled
    • fetch-order-last-x-days — orders created within X days
  • 3Select Get Orders mapping template.
Order & Line Item Custom Fields

Shopware custom fields are received as key-value pairs in the response. To map a specific custom field, reference it using:

Format: cf_<custom_field_key>

  • cf_ is a required prefix indicating the value comes from Shopware custom fields.
  • <custom_field_key> is the actual key of the custom field in Shopware.

Example: If the custom field key in Shopware is customfield_key, the mapping value should be cf_customfield_key.

Standard Field Mapping
Shopware Field Flxpoint Field
id / orderNumber Order Number
orderDateTime / createdAt Order Date
amountTotal / amountNet Total / Subtotal
billingAddress Billing Address
deliveries[0].shippingOrderAddress Shipping Address
lineItems Order Items (SKU + qty + price)
transactions[0].paymentMethod Payment Method
customFields → cf_* Custom Fields (via cf_ prefix)
Troubleshooting
  • Orders missing: Check your status / payment / age filters. Older orders may be excluded by the fetch-order-last-x-days setting.
  • Custom field not mapping: Confirm the cf_ prefix is present in the mapping value and the underlying key exists on the Shopware order.
  • Cancelled orders importing: Update the multi-order-status filter to exclude cancelled.
  • Order won’t import even though filters look right: First confirm the order exists in Shopware and check its current order status and payment status there — only orders matching your status and payment filters are pulled. Then verify the order’s shipping method name maps to a Flxpoint shipment method; a missing or mismatched Shipping Method Name can stop an order from importing. Re-run Get Orders after any filter or mapping change to test.
  • Still not importing? If an order matches every filter and status but still doesn’t come through, contact Flxpoint support with the Shopware order number — some cases need a closer look at how that order’s data is mapped.
Supported
Introduction

Shopware — Sync Orders sends shipment + tracking data back to Shopware as a new delivery on the order. Supports partial shipments (multiple deliveries per order). Shipping method matching falls back to the primary delivery method if no match is found.

Setup Steps
  • 1Re-use OAuth2 connection.
  • 2Map Flxpoint shipping method names to Shopware shipping method names (Flxpoint fetches the store's available methods automatically).
  • 3Select Sync Orders mapping template.
Shipment Creation Flow
  1. Fetch order details (existing deliveries, line items, shipping methods).
  2. Retrieve available shipping methods from the store and cache name + ID pairs.
  3. Identify line items to ship — supports partial quantities and multiple line items per shipment.
  4. Create the delivery:
    • Match Flxpoint's shipping method name to Shopware's shipping method name. If matched, use the corresponding shippingMethodId.
    • If no match, fall back to the order's primary delivery shippingMethodId.
    • Set State ID to Partially Shipped; populate shippingCost; store carrier in a custom field; copy shippingOrderAddressId from the primary delivery.
  5. Add delivery positions for each shipped item: orderLineItemId, orderLineItemVersionId, quantity, unitPrice.
  6. Update delivery status via state transition: ship (mark as shipped) / cancel / reopen.
Partial Shipments: Each shipment creates a separate delivery associated with the order. An order can have multiple deliveries reflecting partial fulfillment.
Troubleshooting
  • Shipment created with wrong carrier / shipping method: Verify shipping method names align between Flxpoint and Shopware. Use the auto-fetched shipping method list in Integration Configuration.
  • Shipment state stuck on "Partially Shipped": Send the ship state transition after creating the delivery; this marks the delivery as fully shipped.
  • Tracking codes not appearing: Map tracking codes in your Sync Orders template — they're stored in the trackingCodes array on the delivery.

Troubleshooting

Common issues and solutions for the Shopware integration.

!OAuth2 authentication failure

What's happening

client-id or client-secret is invalid, or the integration user is disabled in Shopware.

How to fix it

  • Go to your Shopware admin → Integrations and regenerate the credentials.
  • Confirm the user has API access permissions.
  • Update the connection in Flxpoint with the new credentials.
!Dimensions off by 10x

What's happening

Shopware stores dimensions in MM. Flxpoint divides by 10 to produce CM. If your downstream channel expects MM, double-conversion is happening.

How to fix it

  • Add a transformation rule on the downstream channel to multiply by 10 if needed.
!Variant visibility wrong

What's happening

Shopware leaves variant active as null when it matches parent. Flxpoint inherits parent status in that case.

How to fix it

  • If you want explicit per-variant control, set active to true/false explicitly on the variant in Shopware.
!Custom field not mapping (Get Orders)

What's happening

Shopware custom fields require the cf_ prefix in the mapping value.

How to fix it

  • Prefix the field key: e.g., cf_customfield_key — not just customfield_key.
  • Confirm the field exists in Shopware's customFields object on the order.
!Sync Orders fallback to primary delivery method

What's happening

If Flxpoint can't match your shipping method name to a Shopware shipping method, it falls back to the order's primary delivery method.

How to fix it

  • Align shipping method names between Flxpoint and Shopware exactly.
  • Use Integration Configuration to fetch the Shopware shipping methods list.