Back to Top

Pimcore & Shopware Catalog Sync Connector

Introduction

The Pimcore 12 Shopware 6 Connector keeps your catalog in sync between Pimcore and Shopware 6.

It syncs categories, attributes, products, and variant (configurable) products automatically, in both directions. Moreover, every sync runs as a background job inside Pimcore Studio.

As a result, catalog management is faster and far more reliable.

Keeping a Pimcore catalog and a Shopware storefront aligned by hand doesn’t scale. So Webkul built the Pimcore 12 Shopware 6 Connector to remove the copy-paste.

It bridges your Pimcore data model and your Shopware 6 store over the Admin API. As a result, categories, attributes, products, and product variants all flow automatically, in both directions.

It’s built natively for Pimcore 12 and Shopware 6. Also, it brings two big upgrades. First, every sync runs as a restartable background job.

So large catalogs no longer block your screen or time out. Meanwhile, you watch each run on a live progress view. Second, it’s bidirectional.

It both imports from and exports to Shopware. Because of that, you can seed Pimcore from an existing Shopware store, then push curated changes back out.

The Pimcore 12 Shopware 6 Connector also lives natively inside the new Pimcore Studio UI. Furthermore, it adds its own screens for credentials, mapping, and the job runner.

So there are no separate tools to learn.

shopware

Server Requirements

The connector runs on top of a standard Pimcore 12 install, so if Pimcore runs, the connector runs. Here is what that stack needs.

ComponentRequirement
PHP8.4 or 8.5 (CLI + FPM), with pdo_mysql, intl, mbstring, curl, gd / imagick, zip, exif, opcache
Symfony7.4 (installed as a Pimcore dependency)
PimcorePimcore 12 — Platform 2026.1 (pimcore/pimcore: 2026.1.x) with the Studio UI bundle
DatabaseMariaDB 10.11+ or MySQL 8.0+
Web serverNginx or Apache 2.4
ComposerComposer 2
Node.js20+ — only if you rebuild the Studio UI assets yourself
Message queueA running Symfony Messenger worker (Supervisor is recommended) — this is what drives the background sync jobs
ShopwareShopware 6 — self-hosted or Cloud, reachable from the Pimcore server over HTTP(S), with an Admin API Integration

A few PHP settings matter for large catalogs. So set memory_limit to at least 512M (1G for big product imports), and raise max_execution_time for the CLI. Because the syncs run in the background, the web request itself never has to wait.

Key Features of the Pimcore 12 Shopware 6 Connector

  • Bidirectional sync — import and export for Categories, Attributes, Products, and Variant Products.
  • Asynchronous job engine — syncs run in the background on a dedicated queue, so they never block your work.
  • Live Job-Execution view — real-time status, read / created / updated counts, a run-history grid, and a one-click Stop.
  • Multi-language aware — maps your localized Pimcore content to Shopware’s translated fields.
  • Config-driven mapping — point the connector at your Pimcore classes and match fields on screen; nothing to hard-code.
  • Reliable matching — a shared, deterministic link between records keeps Pimcore and Shopware in step, so re-runs update instead of duplicating.
  • Variant support — Pimcore variant products map to Shopware product templates and their variants.

Connecting the Pimcore 12 Shopware 6 Connector to Shopware

The connector talks to Shopware over the Shopware 6 Admin API using OAuth2 (client_credentials). Authentication is done through a Shopware Integration, so it works with both self-hosted and Cloud instances — no admin user password is ever shared.

Inside Shopware, create an Integration (Settings → System → Integrations). Shopware then gives you two values:

  • Access Key ID — used as the client_id
  • Secret Access Key — used as the client_secret

Together with your store Host URL, that’s all you need from the Shopware side.

apikey shopware

Setting Up the Pimcore 12 Shopware 6 Connector in Studio

In Pimcore, open Shopware Connector → Credentials. Then click Add credential and enter your Name, Host (your Shopware store URL), Access Key ID, and Secret Access Key. Next, click Test.

The connector then performs a real OAuth handshake and calls the Shopware version endpoint live, so you get instant confirmation that everything is wired up. In fact, credentials are only saved if that test succeeds — a bad key never lands in your database. The secret is masked afterwards, showing only the last few characters.

You can store multiple credential profiles and mark one as active.

listapi key

Object Mapping: the Connector Adapts to Your Catalog

Most connectors force you into fixed class names. This one, however, treats “which Pimcore class is a Shopware Product?” as a simple setting.

On the Object Mapping screen, you point each Shopware entity (Category, Attribute, Product, Variant Product) at whatever classes your team already uses. So the connector adapts to your data model, instead of the other way around.

objectmapping

It comes pre-configured, so the Pimcore 12 Shopware 6 Connector works out of the box. Also, you can repoint it any time.

Field Mapping

Beyond the class level, the Field Mapping screen lets you line up individual fields — Pimcore field on one side, Shopware field on the other. One shared map drives both import and export, so you configure it once. Scalar fields are copied straight across, while reserved codes (price, categories, cover image, media, options) are handled by dedicated writer logic. Defaults ship with the connector, so an unconfigured install still runs.

field mapping

Attributes & Categories

Categories sync both ways as a real tree. Import mirrors Shopware’s category tree into Pimcore. Export, in turn, pushes your Pimcore hierarchy out and preserves nesting.

Attributes carry your catalog’s own fields (color, size, material…). In Shopware these are property groups with their option lists. The connector keeps the attribute definitions and their options aligned between Pimcore and Shopware, so storefront filters stay in sync automatically.

exportcgjgh

Exporting to Shopware 6

With your mapping saved, open Export → Product. Then pick the connection and click Start. The connector then pushes your products out — via Shopware’s batched Sync API — with the right localized values and categories.

Exports are safe to re-run. Instead of duplicating, the connector updates what already exists. It matches on your product’s business key (the product number / SKU), falls back to a persisted connector link, and finally to a deterministic id — so the same Pimcore object always lands on the same Shopware row. Sometimes a product can’t be exported. In that case, it’s flagged as a clear warning that tells you exactly what to fix.

When standing up a fresh Shopware store, export Categories and Attributes first. Then add Products and Variant Products on top.

exportproduct

Variant (Configurable) Products

Pimcore variant products map cleanly onto Shopware’s model. On Export → Variant Product, the connector turns a Pimcore parent-and-variants set into a Shopware product template plus its variants, matching on attribute combinations so re-runs update instead of duplicating.

exportvariant
importlist

Because import and export stay linked, the workflow is simple. First, import to seed Pimcore. Then enrich your content there. Finally, export it back.

As a result, every change lands on the original Shopware record.

The Result in Your Shopware 6 Store

Once the export finishes, your Pimcore data is live in Shopware. That includes categories, attributes, products, and their variants.

For example, categories appear under Catalogues → Categories with their hierarchy intact. Meanwhile, products appear under Catalogues → Products with their properties and variant combinations.

shopware category
shopware pro

Try the Pimcore 12 Shopware 6 Connector

Want to see it in action? Then try the live demo. It gives you a Pimcore 12 Studio environment with the connector already installed and connected to a Shopware store.

So you can map entities and run a sync without setting anything up. Finally, when you’re ready to roll it out, grab it from the Webkul Store.

. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


Be the first to comment.

Back to Top

Message Sent!

If you have more details or questions, you can reply to the received confirmation email.

Back to Home