Skip to main content

Shopware 5

Learn how to install the Shopware 5 Plugin

The plugin allows you complete order handling between a marketplace, your shop and repricing for your products with market price analysis.

Step 1: Install the plugin

  1. Navigate to www.shopware.com.

  2. Upload the plugin via the plugin manager and install it.

  3. After this first installation, not all configurations are available (red bordered). To get all available configurations, a re installation (green arrow) is necessary. You only have to do this once after the first installation.

  4. After the plugin installation, go to CPP and create a new shop

Step 2: Activate the plugin

  1. Activate the plugin (red arrow) to get all available options (green bordered).

Step 3: Plugin function and hooks for manual synchronization

The plugin runs automatically (default every 15 minutes) and triggers the following functions:

  • import new orders

  • synchronize deliveries

  • synchronize cancellations

  • synchronize new price information (if repricing is used)

The initiator of the cyclical communication is always Channel Pilot Pro. Therefore, no timed processes need to be implemented in the plugin / shop system. Channel Pilot Pro controls the plugin.

These actions can be triggered with hooks manually, but it is recommended to use them only for test cases or for error handling.

These hook URLs are provided by the shop system and each cover a above described use case. The procedure for calling a hook URL is divided into the following sections:

  1. Channel Pilot Pro calls a hook URL (https://www.shop.de/channelpilot?method=USE_CASE)

  2. Plugin calls the Seller API and sends / receives new data

  3. Plugin updates data in the shop system

  4. Plugin responds to the hook URL

This are the URLs which can be used:

Step 4: Get an export from Shopware 5

The product export is not provided inside the plugin. Please use the internal export function integrated in Shopware 5!

This can be found in Marketing → Product export.

You have to define the header and the general structure for the file.

A template can be found in the section below.

We recommend to use UTF-8 for coding and .csv as format.

sample for header-template-txt

{strip}
articleID|
name|
link|
description_short|
description_long|
shippingtime|
versand|
added|
category|
shippingfree|
releasedate|
topseller|
keywords|
minpurchase|
purchasesteps|
maxpurchase|
purchaseunit|
referenceunit|
taxID|
supplierID|
unitID|
unit_description|
changed|
active|
articledetailsID|
ordernumber|
suppliernumber|
instock|
stockmin|
esd|
weight|
ean|
position|
supplier|
unit|
tax|
image|
netprice|
price|
netpseudoprice|
pseudoprice|
baseprice|
discount|
properties|
variant_images|
variant_link|
attr1|
attr2|
attr3|
attr4|
attr5|
attr6|
attr7|
attr8|
attr9|
attr10|
attr11|
attr12|
attr13|
attr14|
attr15|
attr16|
attr17|
attr18|
attr19|
attr20
{/strip}{#L#}

sample for export-template-txt

{strip}
{$sArticle.articleID|replace:"|":""|escape}|
{$sArticle.name|replace:"|":""|escape}|
{$sArticle.articleID|link:$sArticle.name|escape}|
{$sArticle.description|strip_tags|strip|truncate:100:"...":true|replace:"|":""|escape}|
{$sArticle.description_long|strip_tags|strip|replace:"|":""|escape}|
{$sArticle.shippingtime|replace:"|":""|escape}|
{$sArticle|@shippingcost:"prepayment":"de"}|
{$sArticle.added|replace:"|":""|escape}|
{$sArticle.articleID|category:" > "|escape}|
{$sArticle.shippingfree|replace:"|":""|escape}|
{$sArticle.releasedate|replace:"|":""|escape}|
{$sArticle.topseller|replace:"|":""|escape}|
{$sArticle.keywords|replace:"|":""|escape}|
{$sArticle.minpurchase|replace:"|":""|escape}|
{$sArticle.purchasesteps|replace:"|":""|escape}|
{$sArticle.maxpurchase|replace:"|":""|escape}|
{$sArticle.purchaseunit|replace:"|":""|escape}|
{$sArticle.referenceunit|replace:"|":""|escape}|
{$sArticle.taxID|replace:"|":""|escape}|
{$sArticle.supplierID|replace:"|":""|escape}|
{$sArticle.unitID|replace:"|":""|escape}|
{$sArticle.unit_description|replace:"|":""|escape}|
{$sArticle.changed|replace:"|":""|escape}|
{$sArticle.active|replace:"|":""|escape}|
{$sArticle.articledetailsID|replace:"|":""|escape}|
{$sArticle.ordernumber|replace:"|":""|escape}|
{$sArticle.suppliernumber|replace:"|":""|escape}|
{$sArticle.instock|replace:"|":""|escape}|
{$sArticle.stockmin|replace:"|":""|escape}|
{$sArticle.esd|replace:"|":""|escape}|
{$sArticle.weight|replace:"|":""|escape}|
{$sArticle.ean|replace:"|":""|escape}|
{$sArticle.position|replace:"|":""|escape}|
{$sArticle.supplier|replace:"|":""|escape}|
{$sArticle.unit|replace:"|":""|escape}|
{$sArticle.tax|replace:"|":""|escape}|
{$sArticle.image|escape}|
{$sArticle.netprice|replace:"|":""|escape}|
{$sArticle.price|replace:"|":""|escape}|
{$sArticle.netpseudoprice|replace:"|":""|escape}|
{$sArticle.pseudoprice|replace:"|":""|escape}|
{$sArticle.baseprice|replace:"|":""|escape}|
{$sArticle.discount|replace:"|":""|escape}|
{assign var="properties" value=$sArticle.articleID|property:$sArticle.filtergroupID}
{foreach from=$properties item=property}
{if $property}
{$property.name|escape} {$property.value|escape}
{/if}
{/foreach}|
{$sArticle.articleID|articleImages:$sArticle.ordernumber|replace:"|":","|escape}|
{$sArticle.articleID|link:$sArticle.name}{if $sArticle.additionaltext}?number={$sArticle.ordernumber}{/if}|
{$sArticle.attr1|replace:"|":""|escape}|
{$sArticle.attr2|replace:"|":""|escape}|
{$sArticle.attr3|replace:"|":""|escape}|
{$sArticle.attr4|replace:"|":""|escape}|
{$sArticle.attr5|replace:"|":""|escape}|
{$sArticle.attr6|replace:"|":""|escape}|
{$sArticle.attr7|replace:"|":""|escape}|
{$sArticle.attr8|replace:"|":""|escape}|
{$sArticle.attr9|replace:"|":""|escape}|
{$sArticle.attr10|replace:"|":""|escape}|
{$sArticle.attr11|replace:"|":""|escape}|
{$sArticle.attr12|replace:"|":""|escape}|
{$sArticle.attr13|replace:"|":""|escape}|
{$sArticle.attr14|replace:"|":""|escape}|
{$sArticle.attr15|replace:"|":""|escape}|
{$sArticle.attr16|replace:"|":""|escape}|
{$sArticle.attr17|replace:"|":""|escape}|
{$sArticle.attr18|replace:"|":""|escape}|
{$sArticle.attr19|replace:"|":""|escape}|
{$sArticle.attr20|replace:"|":""|escape}
{/strip}{#L#}

Number ranges for orders

Available from Shopware version 5.5

When receiving orders via connected marketplaces, an order number is automatically assigned (from a defined number range). Those are defined by the system.

You can find currently defined number ranges under "Settings > Basic settings > Shop settings > Number ranges".

So that special number ranges can be processed in the plugin, they must be given the prefix "cpp_" as a name. (red marking)

(The respective description can still be e.g. "amazon")

In the following section, we explain how you can define your own number ranges for orders from marketplaces.

Set your own number ranges

  1. Open "Settings" -> "Plugin Manager" in your Shopware.

  2. Click on the pencil to change the settings in the plugin.

  3. At the bottom you will find the new setting option "Number cycle min max".

  4. Enter the number ranges.

    Note the format for assigning number cycles:

    number-cycle-name1,min-order-id,max-order-id#number-cycle-name2, ...

    Example: cpp_amazon,500000,60000#cpp_ebay,800001,90000# ...

  5. Click on "Save".

FAQ and troubleshooting

Is it possible to get a "return tracking ID" via the plugin?

Yes, it is. However, there are some conditions which have to be fulfilled for the transfer to work:

  • the Pickware-Plugin - the official DHL Adapter for Shopware - must be installed and activated ("DHL Adapter powered by Pickware")

  • the data field "returnTrackingIdColumn" within the plugin configuration must be empty

  • the "returnTrackingId" can be received only from DHL.

    • This function is not available for other shipping service providers!

If all these conditions are fulfilled correctly, the plugin tries to get the "returnTrackingId" automatically from the Pickware DHL plugin.

Please make sure that the "returnTrackingId" is set in the Pickware DHL plugin before the order is marked as "shipped/send". Otherwise the "returnTrackingId" can not be synchronized between both plugins.

The customer mail address is not shown correctly (without @). Is it possible to change the mail adress to a correct format?

Due to customer requests, the email address from marketplace orders was adjusted, so that these do not trigger automatic functions in Shopware 5 as soon as orders are imported into the system (e.g. welcome email).

Therefore, at email address the @ were replaced with [at].


This can be undone in the plugin source code. Inside the folder "helper/special" navigate to the file "CustomerFunctions.php".


There is a replacement of @ in [at], which can be deleted.

This manual adjustment has to be done again in the future every time the plugin updates itself.

Did this answer your question?