{"id":552260,"date":"2026-08-31T04:15:34","date_gmt":"2026-08-31T04:15:34","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=552260"},"modified":"2026-09-11T08:30:30","modified_gmt":"2026-09-11T08:30:30","slug":"pimcore-shopware-catalog-sync-connector","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/","title":{"rendered":"Pimcore &amp; Shopware Catalog Sync Connector"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p>The Pimcore 12 Shopware 6 Connector keeps your catalog in sync between Pimcore and Shopware 6.<\/p>\n\n\n\n<p>It syncs categories, attributes, products, and variant (configurable) products automatically, in both directions. Moreover, every sync runs as a background job inside Pimcore Studio.<\/p>\n\n\n\n<p>As a result, catalog management is faster and far more reliable.<\/p>\n\n\n\n<p>Keeping a Pimcore catalog and a Shopware storefront aligned by hand doesn&#8217;t scale. So Webkul built the Pimcore 12 Shopware 6 Connector to remove the copy-paste.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>It&#8217;s built natively for Pimcore 12 and Shopware 6. Also, it brings two big upgrades. First, every sync runs as a restartable background job.<\/p>\n\n\n\n<p>So large catalogs no longer block your screen or time out. Meanwhile, you watch each run on a live progress view. Second, it&#8217;s bidirectional.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>So there are no separate tools to learn.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"600\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwaremenu-1-1200x600.webp\" alt=\"shopware\" class=\"wp-image-552267\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwaremenu-1-1200x600.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwaremenu-1-300x150.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwaremenu-1-250x125.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwaremenu-1-768x384.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwaremenu-1.webp 1289w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Server Requirements<\/h2>\n\n\n\n<p>The connector runs on top of a standard Pimcore 12 install, so if Pimcore runs, the connector runs. Here is what that stack needs.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Component<\/th><th>Requirement<\/th><\/tr><\/thead><tbody><tr><td>PHP<\/td><td>8.4 or 8.5 (CLI + FPM), with pdo_mysql, intl, mbstring, curl, gd \/ imagick, zip, exif, opcache<\/td><\/tr><tr><td>Symfony<\/td><td>7.4 (installed as a Pimcore dependency)<\/td><\/tr><tr><td>Pimcore<\/td><td>Pimcore 12 \u2014 Platform 2026.1 (pimcore\/pimcore: 2026.1.x) with the Studio UI bundle<\/td><\/tr><tr><td>Database<\/td><td>MariaDB 10.11+ or MySQL 8.0+<\/td><\/tr><tr><td>Web server<\/td><td>Nginx or Apache 2.4<\/td><\/tr><tr><td>Composer<\/td><td>Composer 2<\/td><\/tr><tr><td>Node.js<\/td><td>20+ \u2014 only if you rebuild the Studio UI assets yourself<\/td><\/tr><tr><td>Message queue<\/td><td>A running Symfony Messenger worker (Supervisor is recommended) \u2014 this is what drives the background sync jobs<\/td><\/tr><tr><td>Shopware<\/td><td>Shopware 6 \u2014 self-hosted or Cloud, reachable from the Pimcore server over HTTP(S), with an Admin API Integration<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>A few PHP settings matter for large catalogs. So set <code>memory_limit<\/code> to at least 512M (1G for big product imports), <\/p>\n\n\n\n<p>and raise <code>max_execution_time<\/code> for the CLI. Because the syncs run in the background, the web request itself never has to wait.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Key Features of the Pimcore 12 Shopware 6 Connector<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Bidirectional sync<\/strong> \u2014 import and export for Categories, Attributes, Products, and Variant Products.<\/li>\n\n\n\n<li><strong>Asynchronous job engine<\/strong> \u2014 syncs run in the background on a dedicated queue, so they never block your work.<\/li>\n\n\n\n<li><strong>Live Job-Execution view<\/strong> \u2014 real-time status, read \/ created \/ updated counts, a run-history grid, and a one-click Stop.<\/li>\n\n\n\n<li><strong>Multi-language aware<\/strong> \u2014 maps your localized Pimcore content to Shopware&#8217;s translated fields.<\/li>\n\n\n\n<li><strong>Config-driven mapping<\/strong> \u2014 point the connector at your Pimcore classes and match fields on screen; nothing to hard-code.<\/li>\n\n\n\n<li><strong>Reliable matching<\/strong> \u2014 a shared, deterministic link between records keeps Pimcore and Shopware in step, so re-runs update instead of duplicating.<\/li>\n\n\n\n<li><strong>Variant support<\/strong> \u2014 Pimcore variant products map to Shopware product templates and their variants.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Connecting the Pimcore 12 Shopware 6 Connector to Shopware<\/h2>\n\n\n\n<p>The connector talks to Shopware over the <strong>Shopware 6 Admin API<\/strong> using OAuth2 (<code>client_credentials<\/code>). <\/p>\n\n\n\n<p>Authentication is done through a Shopware <strong>Integration<\/strong>, so it works with both self-hosted and Cloud instances \u2014 no admin user password is ever shared.<\/p>\n\n\n\n<p>Inside Shopware, create an Integration (Settings \u2192 System \u2192 Integrations). Shopware then gives you two values:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Access Key ID<\/strong> \u2014 used as the <code>client_id<\/code><\/li>\n\n\n\n<li><strong>Secret Access Key<\/strong> \u2014 used as the <code>client_secret<\/code><\/li>\n<\/ul>\n\n\n\n<p>Together with your store <strong>Host URL<\/strong>, that&#8217;s all you need from the Shopware side.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1071\" height=\"652\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwareapikey.webp\" alt=\"apikey shopware\" class=\"wp-image-552277\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwareapikey.webp 1071w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwareapikey-300x183.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwareapikey-250x152.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwareapikey-768x468.webp 768w\" sizes=\"(max-width: 1071px) 100vw, 1071px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Setting Up the Pimcore 12 Shopware 6 Connector in Studio<\/h2>\n\n\n\n<p>In Pimcore, open <strong>Shopware Connector \u2192 Credentials<\/strong>. Then click <strong>Add credential<\/strong> and enter your <strong>Name<\/strong>, <strong>Host<\/strong> (your Shopware store URL), <strong>Access Key ID<\/strong>, and <strong>Secret Access Key<\/strong>. Next, click <strong>Test<\/strong>.<\/p>\n\n\n\n<p>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. <\/p>\n\n\n\n<p>In fact, credentials are only saved if that test succeeds \u2014 a bad key never lands in your database. The secret is masked afterwards, showing only the last few characters.<\/p>\n\n\n\n<p>You can store multiple credential profiles and mark one as <strong>active<\/strong>.<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1091\" height=\"644\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/listapikeyshopware.webp\" alt=\"listapi key\" class=\"wp-image-552286\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/listapikeyshopware.webp 1091w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/listapikeyshopware-300x177.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/listapikeyshopware-250x148.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/listapikeyshopware-768x453.webp 768w\" sizes=\"(max-width: 1091px) 100vw, 1091px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Object Mapping: the Connector Adapts to Your Catalog<\/h2>\n\n\n\n<p>Most connectors force you into fixed class names. This one, however, treats &#8220;which Pimcore class is a Shopware Product?&#8221; as a simple setting.<\/p>\n\n\n\n<p>On the <strong>Object Mapping<\/strong> screen, you point each Shopware entity (Category, Attribute, Product, Variant Product) at whatever classes your team already uses. <\/p>\n\n\n\n<p>So the connector adapts to your data model, instead of the other way around.<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"600\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/objectmapping-1200x600.webp\" alt=\"objectmapping\" class=\"wp-image-552300\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/objectmapping-1200x600.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/objectmapping-300x150.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/objectmapping-250x125.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/objectmapping-768x384.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/objectmapping.webp 1303w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>It comes pre-configured, so the Pimcore 12 Shopware 6 Connector works out of the box. Also, you can repoint it any time.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Field Mapping<\/h3>\n\n\n\n<p>Beyond the class level, the <strong>Field Mapping<\/strong> screen lets you line up individual fields \u2014 Pimcore field on one side, Shopware field on the other. <\/p>\n\n\n\n<p>One shared map drives <strong>both<\/strong> import and export, so you configure it once. S<\/p>\n\n\n\n<p>calar fields are copied straight across, while reserved codes (price, categories, cover image, media, options) are handled by dedicated writer logic. <\/p>\n\n\n\n<p>Defaults ship with the connector, so an unconfigured install still runs.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"600\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/fieldmapping-1200x600.webp\" alt=\"field mapping\" class=\"wp-image-552311\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/fieldmapping-1200x600.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/fieldmapping-300x150.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/fieldmapping-250x125.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/fieldmapping-768x384.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/fieldmapping.webp 1303w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Attributes &amp; Categories<\/h2>\n\n\n\n<p>Categories sync both ways as a real tree. Import mirrors Shopware&#8217;s category tree into Pimcore. Export, in turn, pushes your Pimcore hierarchy out and preserves nesting.<\/p>\n\n\n\n<p>Attributes carry your catalog&#8217;s own fields (color, size, material\u2026). <\/p>\n\n\n\n<p>In Shopware these are <strong>property groups<\/strong> with their option lists. The connector keeps the attribute definitions and their options aligned between Pimcore and Shopware,<\/p>\n\n\n\n<p> so storefront filters stay in sync automatically.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"591\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportcate-1200x591.webp\" alt=\"exportcgjgh\" class=\"wp-image-552380\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportcate-1200x591.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportcate-300x148.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportcate-250x123.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportcate-768x378.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportcate.webp 1296w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Exporting to Shopware 6<\/h2>\n\n\n\n<p>With your mapping saved, open <strong>Export \u2192 Product<\/strong>. Then pick the connection and click <strong>Start<\/strong>. <\/p>\n\n\n\n<p>The connector then pushes your products out \u2014 via Shopware&#8217;s batched Sync API \u2014 with the right localized values and categories.<\/p>\n\n\n\n<p>Exports are safe to re-run. Instead of duplicating, the connector updates what already exists. <\/p>\n\n\n\n<p>It matches on your product&#8217;s business key (the product number \/ SKU), falls back to a persisted connector link, and finally to a deterministic id <\/p>\n\n\n\n<p>So the same Pimcore object always lands on the same Shopware row. Sometimes a product can&#8217;t be exported.<\/p>\n\n\n\n<p> In that case, it&#8217;s flagged as a clear warning that tells you exactly what to fix.<\/p>\n\n\n\n<p>When standing up a fresh Shopware store, export Categories and Attributes first. Then add Products and Variant Products on top.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"591\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportproduct-1200x591.webp\" alt=\"exportproduct\" class=\"wp-image-552431\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportproduct-1200x591.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportproduct-300x148.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportproduct-250x123.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportproduct-768x378.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportproduct.webp 1296w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Variant (Configurable) Products<\/h2>\n\n\n\n<p>Pimcore variant products map cleanly onto Shopware&#8217;s model. <\/p>\n\n\n\n<p>On <strong>Export \u2192 Variant Product<\/strong>, the connector turns a Pimcore parent-and-variants set into a Shopware product template plus its variants, <\/p>\n\n\n\n<p>matching on attribute combinations so re-runs update instead of duplicating.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"591\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportvariant-1200x591.webp\" alt=\"exportvariant\" class=\"wp-image-552432\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportvariant-1200x591.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportvariant-300x148.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportvariant-250x123.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportvariant-768x378.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/exportvariant.webp 1296w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"591\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/importlistproduct-1200x591.webp\" alt=\"importlist\" class=\"wp-image-552444\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/importlistproduct-1200x591.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/importlistproduct-300x148.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/importlistproduct-250x123.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/importlistproduct-768x378.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/importlistproduct.webp 1296w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Because import and export stay linked, the workflow is simple. First, import to seed Pimcore. Then enrich your content there. Finally, export it back.<\/p>\n\n\n\n<p>As a result, every change lands on the original Shopware record.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Result in Your Shopware 6 Store<\/h2>\n\n\n\n<p>Once the export finishes, your Pimcore data is live in Shopware. That includes categories, attributes, products, and their variants.<\/p>\n\n\n\n<p>For example, categories appear under <strong>Catalogues \u2192 Categories<\/strong> with their hierarchy intact. Meanwhile, products appear under <strong>Catalogues \u2192 Products<\/strong> with their properties and variant combinations.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"591\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopware-2-1200x591.webp\" alt=\"shopware category\" class=\"wp-image-552448\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopware-2-1200x591.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopware-2-300x148.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopware-2-250x123.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopware-2-768x378.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopware-2.webp 1296w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"591\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwareproduct-1200x591.webp\" alt=\"shopware pro\" class=\"wp-image-552456\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwareproduct-1200x591.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwareproduct-300x148.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwareproduct-250x123.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwareproduct-768x378.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwareproduct.webp 1296w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Try the Pimcore 12 Shopware 6 Connector<\/h2>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>So you can map entities and run a sync without setting anything up. Finally, when you&#8217;re ready to roll it out, grab it from the Webkul Store.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 <a href=\"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":778,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-552260","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pimcore &amp; Shopware Catalog Sync Connector - Webkul Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pimcore &amp; Shopware Catalog Sync Connector - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"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 [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-31T04:15:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-11T08:30:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwaremenu-1-1200x600.webp\" \/>\n<meta name=\"author\" content=\"ranjan.bagisto322\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ranjan.bagisto322\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/pimcore-shopware-catalog-sync-connector\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/pimcore-shopware-catalog-sync-connector\\\/\"},\"author\":{\"name\":\"ranjan.bagisto322\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#\\\/schema\\\/person\\\/3b8a2305cdf9a9944115e70a338e3bdd\"},\"headline\":\"Pimcore &amp; Shopware Catalog Sync Connector\",\"datePublished\":\"2026-08-31T04:15:34+00:00\",\"dateModified\":\"2026-09-11T08:30:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/pimcore-shopware-catalog-sync-connector\\\/\"},\"wordCount\":1221,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/pimcore-shopware-catalog-sync-connector\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/webkul.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/shopwaremenu-1-1200x600.webp\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/webkul.com\\\/blog\\\/pimcore-shopware-catalog-sync-connector\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/pimcore-shopware-catalog-sync-connector\\\/\",\"url\":\"https:\\\/\\\/webkul.com\\\/blog\\\/pimcore-shopware-catalog-sync-connector\\\/\",\"name\":\"Pimcore &amp; Shopware Catalog Sync Connector - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/pimcore-shopware-catalog-sync-connector\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/pimcore-shopware-catalog-sync-connector\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/webkul.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/shopwaremenu-1-1200x600.webp\",\"datePublished\":\"2026-08-31T04:15:34+00:00\",\"dateModified\":\"2026-09-11T08:30:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/pimcore-shopware-catalog-sync-connector\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/webkul.com\\\/blog\\\/pimcore-shopware-catalog-sync-connector\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/pimcore-shopware-catalog-sync-connector\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cdnblog.webkul.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/shopwaremenu-1.webp\",\"contentUrl\":\"https:\\\/\\\/cdnblog.webkul.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/shopwaremenu-1.webp\",\"width\":1289,\"height\":645},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/pimcore-shopware-catalog-sync-connector\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/webkul.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pimcore &amp; Shopware Catalog Sync Connector\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/webkul.com\\\/blog\\\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/webkul.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\\\/\\\/webkul.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/cdnblog.webkul.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\\\/\\\/cdnblog.webkul.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/webkul\\\/\",\"https:\\\/\\\/x.com\\\/webkul\",\"https:\\\/\\\/www.instagram.com\\\/webkul\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/webkul\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/webkul\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#\\\/schema\\\/person\\\/3b8a2305cdf9a9944115e70a338e3bdd\",\"name\":\"ranjan.bagisto322\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/18a253ed0fb3e3ad904c221818573f346d0198eefac05e023faf4abf548f89ee?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/18a253ed0fb3e3ad904c221818573f346d0198eefac05e023faf4abf548f89ee?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/18a253ed0fb3e3ad904c221818573f346d0198eefac05e023faf4abf548f89ee?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"ranjan.bagisto322\"},\"url\":\"https:\\\/\\\/webkul.com\\\/blog\\\/author\\\/ranjan-bagisto322\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pimcore &amp; Shopware Catalog Sync Connector - Webkul Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/","og_locale":"en_US","og_type":"article","og_title":"Pimcore &amp; Shopware Catalog Sync Connector - Webkul Blog","og_description":"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 [...]","og_url":"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2026-08-31T04:15:34+00:00","article_modified_time":"2026-09-11T08:30:30+00:00","og_image":[{"url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwaremenu-1-1200x600.webp","type":"","width":"","height":""}],"author":"ranjan.bagisto322","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"ranjan.bagisto322","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/"},"author":{"name":"ranjan.bagisto322","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/3b8a2305cdf9a9944115e70a338e3bdd"},"headline":"Pimcore &amp; Shopware Catalog Sync Connector","datePublished":"2026-08-31T04:15:34+00:00","dateModified":"2026-09-11T08:30:30+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/"},"wordCount":1221,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwaremenu-1-1200x600.webp","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/","url":"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/","name":"Pimcore &amp; Shopware Catalog Sync Connector - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwaremenu-1-1200x600.webp","datePublished":"2026-08-31T04:15:34+00:00","dateModified":"2026-09-11T08:30:30+00:00","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwaremenu-1.webp","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2026\/08\/shopwaremenu-1.webp","width":1289,"height":645},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/pimcore-shopware-catalog-sync-connector\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Pimcore &amp; Shopware Catalog Sync Connector"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/3b8a2305cdf9a9944115e70a338e3bdd","name":"ranjan.bagisto322","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/18a253ed0fb3e3ad904c221818573f346d0198eefac05e023faf4abf548f89ee?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/18a253ed0fb3e3ad904c221818573f346d0198eefac05e023faf4abf548f89ee?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/18a253ed0fb3e3ad904c221818573f346d0198eefac05e023faf4abf548f89ee?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"ranjan.bagisto322"},"url":"https:\/\/webkul.com\/blog\/author\/ranjan-bagisto322\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/552260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/778"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=552260"}],"version-history":[{"count":15,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/552260\/revisions"}],"predecessor-version":[{"id":557049,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/552260\/revisions\/557049"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=552260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=552260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=552260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}