“We’re working with JTL-Wawi and are now building a Shopware 6 shop—how do we get the products in there?” This question comes up almost weekly. The good news first: There’s an official connector, it’s stable, and it doesn’t cost anything to get a license for Shopware 6. The not-so-good news: Between “installed” and “running smoothly” lie a few persistent pitfalls—and almost all of them stem from a single misconception.
This article describes what the JTL Connector for Shopware 6 can do, how the setup process actually works, and which five problems regularly cost time in practice. It is intentionally technical—those who would rather know what a Shopware project entails overall, including processes, services , and prices, can find that information in our Shopware Development and Migration section . And for those with the same question regarding Magento 2 : there is a separate practical guide to connecting JTL to Magento.
What the JTL Connector for Shopware 6 can really do today
The JTL Connector is not an extension that you install in Shopware and then forget about. It's middleware: an intermediary that sits between JTL-Wawi and the shop, communicating in both directions and deciding which system is correct for which data record.
Articles, including descriptions, images, variants, and categories, are synchronized, along with stock levels and prices, customer data with addresses and contact information, and orders including their status. Shopware-specific fields such as meta information can also be populated. There is no license fee for Shopware 6; billing is based on order-based packages, and multiple Shopware instances can be connected to the same JTL-Wawi without incurring additional costs. Further details can be found in the official overview of the JTL Shopware interface.
What it is n't : a two-way street for everything. After the initial complete reconciliation, the inventory management system takes over. This is stated in the documentation; it sounds harmless, and it's the most important sentence in the entire topic. More on why in a moment.
Three ways to connect JTL-Wawi and Shopware 6
Before dealing with access data, a fundamental decision is worthwhile. There are three approaches, and they differ less in the outcome than in the effort involved and in who will ultimately be held responsible for any errors.
Option one: the official JTL Connector. The standard method and the right one for most shops. It's documented, maintained, covers products, stock levels, prices, customers, and orders, and if something goes wrong, there's a support team available. The trade-off is a fixed data model: anything not supported by the model simply won't work.
Option two: a custom connection via the Shopware Admin API. Shopware 6 is built API-first, and the Admin API covers virtually the entire data set. This allows you to map everything your business requires—including fields, pricing logic, and processes not supported by the standard solution. The price is responsibility: every Shopware update and every change to the ERP data model becomes your responsibility. This isn't worthwhile for a typical B2C shop.
Option three: Connector plus a narrow add-on. The standard approach handles the bulk of the data—articles, inventory, orders—while an additional, clearly defined reconciliation takes care of the two or three things that make the business special. For example, customer-specific pricing from a B2B scenario or an additional field required by production. In our experience, this is the most common scenario in established medium-sized businesses.
A recommendation: Don't start with method two just because a single field is missing. First check whether the field can be represented using attribute and custom fields—the standard is capable of more than its interface suggests.
How do I set up the JTL Connector for Shopware 6?
The setup process is spread across three interfaces, which is why it takes longer than expected the first time. You jump back and forth between the Shopware backend, the JTL customer center, and JTL-Wawi, and each step provides a value that the next one needs.
Step one, in the Shopware backend: Under Settings → System → Integrations, create a new integration. Shopware will then generate an access ID and a security key. Note both down—the key will only be displayed once.
Step two, in the JTL customer center: Under Shop Connectors, enter the shop URL, access ID, and security key, and then book the connector license. You will then receive a connector URL and a token.
Step three, in JTL-Wawi: Under Platforms → Sales Channels, create a new sales channel of type "JTL-Connector", enter the URL and token, and start the connection test. Detailed instructions with all fields can be found in the JTL guide for connecting Shopware 6 via the JTL-Connector.
Two often overlooked requirements: The connector generally runs on JTL-Wawi versions 1.0 and later, but versions 1.5.27.1 and above are recommended. For older versions, you should update the Wawi first , not debug the connector. And the documentation states very clearly at one point: Back up your JTL-Wawi database before running the connector for the first time. This is not a formal requirement.
Crucial for understanding the structure: The connector is linked to a sales channel . Shopware 6 consistently separates the database and the sales channel—the same item can exist in multiple channels with different visibility, language, and currency. The Shopware documentation on sales channels describes how this is organized . Anyone who hasn't sorted this out beforehand will later wonder why items are in the database but no one can find them in the shop.
The one sentence that explains all the traps
After the initial synchronization, JTL-Wawi takes over. From this point on, all maintenance is carried out in the inventory management system, not in the online shop.
Sounds like a recommendation, but it's actually an architectural statement. The connector compares the shop's state to the ERP system's state—what it finds in the shop but doesn't recognize in the ERP system isn't considered a valid entry, but rather a discrepancy. Almost every instance of "the connector messed something up" can be traced back to someone making changes in the Shopware backend after implementation: renaming a category, creating a property, or swapping an image.
If your team has preferred working directly in the shop, then connecting it is not just a technical project, but also an organizational one. You should plan for this aspect before the initial synchronization—not after.
What are the most common problems encountered when connecting to JTL-Shopware?
1. The parent item is suddenly available in the shop itself.
The classic problem with variant products: In JTL-Wawi, the parent product is just a shell – no price, no stock level, no image of its own; the sales data resides with the child products. After synchronization, it nevertheless appears in the storefront as an independent, purchasable product: €0, no image, stock level that doesn't match anything.
The reason lies in a model difference. Shopware 6 recognizes a parent product with variants, the visibility of which depends on the configuration. Therefore, before going live, specifically check a variant product in the storefront—not in the backend, but as a customer would see it. Related and also documented: If the name of the child product appears instead of the parent product for variant products, you can configure the JTL customer center so that child products inherit the name of the parent product—after which a complete synchronization is necessary.
2. Features and variations collide
You will see this error message sooner or later: “The delete request for property_group_option was denied due to a conflict. The entity is currently in use by: product_option.”
This isn't a bug, but a data model conflict. JTL-Wawi manages attributes and variations separately. Shopware 6 handles both in the same table structure—a property used as a variant axis cannot simply be deleted as long as a product has it as an option. If the same value, say "Color: Red," exists in both JTL-Wawi as an attribute and as a variation, both will meet in Shopware at the same location and block each other.
The documented solution involves contacting JTL support: The properties are resolved and removed at the database level, followed by a complete synchronization. A much more convenient approach is prevention— before the first synchronization in the ERP system, clarify which values should be considered variation axes and which should remain as pure attributes. This half hour will save you a support case later.
3. Categories deleted in Shopware
If a category is deleted directly in Shopware instead of via the inventory management system, the connector loses its assignment and reports an error on the next run. The fix is straightforward—a complete category synchronization restores the status—but it can take time depending on the catalog depth. Again, after the initial synchronization, the inventory management system takes over.
Incidentally, a useful detail for anyone working with themed worlds: An individual layout can be assigned to a category by entering the attribute in the category master data. cms_page.name is filled with the name of the desired layout.
4. A language that is added later
Enabling multilingual support after the fact is the most troublesome of the five pitfalls. In Shopware, attributes apply across all products—if a language is added later, the existing attributes cannot be cleanly translated. The documented solution: delete all attributes in the shop and perform a complete synchronization.
For a catalog with a few hundred items, it's an afternoon. For tens of thousands, it's a project. If multilingualism is even a possibility, set it up before the first data matching.
5. Delivery times that don't arrive
The delivery time displayed in the shop is derived from the delivery status in JTL-Wawi — and the assignment is based on the name . If the delivery status in Wawi has a different name than in Shopware, nothing happens. No error, no message, just a missing piece of information in the shop. This and other scenarios are described in the FAQ for the JTL Connector for Shopware 6 , which is worth reviewing before going live.
Is the standard connector sufficient, or do we need a custom connection?
For a typical B2C shop with a manageable product range, one language, one currency, and standard product variants, the standard connector is sufficient. That's exactly what it's designed for, and it does its job well.
Things get more complicated when several of these points coincide: customer-specific prices and customer groups from a B2B scenario, bills of materials or configurations, multiple warehouses with their own availability logic, marketplaces running parallel to the shop, or fields that simply don't exist in the standard data model. Then the question is no longer "connector or not," but "connector plus what"—a supplementary matching process for special cases, while the standard approach handles everything else.
This is actually the standard approach in our projects: not standard or custom-built, but standard with a minor addition where the business deviates from the norm. The overview of merchandise management and ERP integrations lists the other systems we connect to online shops.
We use JTL-Wawi and are facing a system choice — does that speak in favor of Shopware?
Regarding the connector question: yes, quite clearly. And that's a point that's surprisingly underwritten.
JTL maintains its own connector for Shopware 6, free of charge. The situation is different for Magento: JTL discontinued its own Magento connector in 2017. Those who had activated it before then can continue to use it; for everyone else, the solution lies with third-party providers—which charge fees and can themselves be discontinued. This isn't a minor detail, but rather a question of dependency: With Shopware, the interface is provided by the ERP system vendor, while with Magento, it's provided by a third party.
Two caveats to avoid any misunderstanding. First: If you're already running a Magento shop, there's no reason to migrate—connections to Magento work, they just look different. Our practical guide to connecting JTL to Magento explains how . Second: The choice of system depends on much more than just inventory management—B2B logic, editorial team, multilingual support, and the existing team. The connector is one factor, not the deciding factor.
We build both and profit from both. That's precisely why we put it this way: If JTL-Wawi is already in place but the shop system isn't, then Shopware 6 is the more convenient option at this point.
A word about Shopware 5
Technically, integrations with Shopware 5 still work, but the version is considered discontinued: no more feature or security updates are provided by default. Anyone still running Shopware 5 and already considering a JTL integration should consider both options together. An integration built on a discontinued system is work that will likely need to be done again in the foreseeable future.
Frequently asked questions about connecting JTL-Wawi to Shopware 6
Does the JTL Connector for Shopware 6 require a license fee?
There is no license fee for the connector for Shopware 6. Billing is order-based, using packages that are determined by order volume. Multiple Shopware instances connected to a single JTL-Wawi system do not incur any additional connector costs.
Which data flows in which direction?
Articles with descriptions, images, variants, and categories, as well as stock levels and prices, are transferred from the ERP system to the online shop. Orders and customer data are transferred from the shop to the ERP system, and status changes are transferred back. After the initial synchronization, JTL-Wawi becomes the primary system.
How long does the initial comparison take?
This depends on the number of items, the number of variants, and the number of images—from minutes for small catalogs to several hours for large ones. Schedule the initial synchronization outside of business hours and expect it to need to run more than once until the mappings are correct.
Can we continue to manage products in the Shopware backend?
After the initial synchronization, this is no longer relevant. Changes that only exist in the shop are not recognized by the inventory management system and will be overwritten during the next synchronization or will cause conflicts. From then on, maintenance should be performed in the inventory management system.
What about B2B pricing and customer groups?
Customer groups and prices can be mapped, but as soon as customer-specific conditions, tiered pricing, and approval processes come into play, it's worth looking at each individual case. Here, the specific pricing logic determines whether the standard approach is viable.
We want to connect JTL-Wawi with an online shop — who will implement this?
Smaller shops often set up the connector themselves; the instructions are good. External help becomes useful where the data models don't match: variations against attributes, bills of materials, multiple warehouses, B2B prices. We can handle either just the setup, the data preparation beforehand, or the complete connection, including special cases.
Do we need to allow access through the firewall?
If your server filters access, the address of the JTL Connector service must be reachable. JTL lists the currently valid IP address for access in the linked FAQ — check it there instead of copying it from a blog post, as such addresses change.
Conclusion: The technology is the lesser problem.
The JTL Connector for Shopware 6 has matured. Setup takes about an hour if you know where each value belongs. What makes projects expensive isn't the three steps outlined in the instructions, but the decisions made beforehand: Which value is a variation, which is a characteristic? Do we need multilingual support? And does the team truly understand that maintenance begins with the initial synchronization in the ERP system?
Answering these three questions beforehand will save you from four out of five pitfalls in this article.
And now it's your turn: At what stage are you currently – still in the planning phase, in the middle of initial setup, or already live with a special case not covered by the standard? Let us know via the Contact, preferably including catalog size and variety depth. We are particularly interested in who [is responsible for this]. property_group_optionIf the conflict was resolved differently than through support — we could use that.






















{% endif %} {% if title and title != "" %}
{{ title }}
{% endif %} {% if excerpt and excerpt != "" %}