To use Pickware for Shopware 6, you need at least the Shopware Community Edition. You can then install Pickware in your shop as usual via the Shopware Community Store. Below, we'll show you the next steps for migrating your data to Shopware 6. If you run into any problems or questions during the process, you can contact us anytime via our support page.
Contents
General information about the migration
When migrating from Shopware 5 to Shopware 6, stocks, storage bins and suppliers can first be exported from Shopware 5 and then imported back into your new shop system. Currently, Pickware does not offer an automatic migration, so you'll need to transfer your Pickware data manually.
Shopware also offers a migration assistant that lets you transfer data such as orders, products and customers to your new shop. Some data cannot be migrated; you'll find more information about this further below.
Important: Since Shopware 5 and Shopware 6 use different data models, all orders received in Shopware 5 must also be completed in Shopware 5. This includes shipping, creating the invoice and also the export for DATEV. Otherwise, errors and problems may occur during processing.
When setting up number ranges in Shopware 6, also plan for a buffer: set the starting number so that it's safely above the last number assigned in Shopware 5 – and take into account that further invoices may still be created in Shopware 5 until all open transactions are completed.
To be able to sell vouchers at the register or in the online shop in Shopware 6, you can use the corresponding extension by Net Inventors GmbH. You can find out how to migrate your existing vouchers to Shopware 6 here.
Installing Pickware
You can install Pickware ERP either via the Shopware Community Store or via Composer. Installation via Composer is explained in this article.
Creating or migrating a Pickware account
To use Pickware in Shopware 6, you need a Pickware account. You can create one here. In your Pickware account, you manage your subscription and billing, purchase licenses for WMS and POS, and manage your connected iOS devices. You'll find more information about the Pickware account in our Shopware 6 Help Center.
Using an existing account
If you already have a Pickware account from the Shopware 5 world, you can start the migration and the associated trial phase directly in the account management. To do so, proceed as follows:
Log in to your Pickware account and make sure your Shopware 5 shop is selected at the top left. Either click Migration in the menu on the left, or use the Start migration button shown at the top of the homepage.
Select Shopware 6 as the shop system.
Select which features you want to test.
Enter the shop URL of your Shopware 6 shop in the field below.
Select the shop URL of the shop to be migrated from the list. Then click Start now.
You're now in the migration phase. Your Shopware 6 shop can be selected and managed via the dropdown menu at the top left.
You can now migrate your data from Shopware 5 and prepare your Shopware 6 shop. You'll find more information about the migration further below.
Migrating Shopware data
To migrate your Shopware data (products, customers, orders, ...), you can use Shopware's migration assistant. You'll find more information and instructions here.
Migrating number ranges
There's no automated way to migrate your number ranges from Shopware 5, which means you'll need to recreate them in Shopware 6. You'll find the number range configuration in Shopware 6 under Settings → Shop → Number ranges. Here you'll already find various pre-configured number range types that you can adapt to your needs. These apply globally, i.e. to all your Sales Channels. If you create your own number ranges, you can also restrict them to individual Sales Channels.
In particular, the Starting number field is important here. You can configure it so that, for example, the invoice number of the first invoice created in Shopware 6 seamlessly continues from the invoice number of the last invoice created in Shopware 5.
You'll find more information on number ranges in Shopware's documentation.
Note regarding orders without a shipping status
It can happen that completed orders are incorrectly created without a shipping status and not with the order status Done. This causes stock to be reserved according to the order line items. To fix this problem, the order status for these orders must be manually set to Done. You can make this change either via an SQL query or via a bulk edit in the Shopware Admin, for a maximum of 100 orders at a time.
Changing the status via bulk edit
In your Shopware 6 shop admin, navigate to Orders (Bestellung) → Overview (Übersicht) and click the filter icon. In the Order status field, select the entries In progress and Open.
The order overview will now show only those orders with the order status In progress and Open. Now click once on the Shipping status column to sort all orders by their shipping status. If there are orders without a shipping status, they should now appear at the top of the list. In this case, the Shipping status field is empty.
Now check, for example based on the date or by looking at your Shopware 5 shop, whether these are indeed completed orders. If so, you can adjust the order status, e.g. via a bulk edit.
To do so, select all affected orders via the checkbox on the left and then click on Bulk edit at the top.
In the next window, click Start bulk edit and select the status change for the order status as follows:
Please note that Shopware always changes the status in individual steps. This means the change from Open can only go to In progress, and only from In progress to Done. Therefore, it may be necessary to make the status change in two steps.
Afterwards, all indexes must be refreshed under Settings → System → Caches & Indices. To do so, select all options in the dropdown menu and then click Refresh indices.
All orders without a shipping status should now have the order status Done and therefore no longer reserve any stock.
Changing the status via SQL query
To change the order status via your database, use the following SQL query:
UPDATE `order` SET `order`.`state_id` = ( SELECT `state_machine_state`.`id` FROM `state_machine_state` JOIN `state_machine` ON `state_machine`.`id` = `state_machine_state`.`state_machine_id` WHERE `state_machine_state`.`technical_name` = "completed" AND `state_machine`.`technical_name` = "order.state" ) WHERE -- Hier das "Grenzdazum" anpassen `order`.`order_date_time` < "2024-07-01 00:00:00" -- Nur Bestellung in der Live-Version aktualisieren (nicht entfernen) AND `order`.`version_id` = 0x0fa91ce3e96a4bc2be4bd9ce752c3425;
Afterwards, all indexes must be refreshed under Settings → System → Caches & Indices. To do so, select all options in the dropdown menu and then click Refresh indices.
If you have any questions, please contact your agency.
Migrating Pickware data
You can migrate storage bins, stocks and suppliers from your Pickware data via CSV import. Please note, however, that the stock history cannot be carried over to Shopware 6.
In the following sections, we'll show you what to keep in mind for each import.
Note on handling CSV files: For the import into Shopware, the CSV file must be UTF-8 encoded and use semicolons as separators. You'll find more details on this, and where to find the corresponding configuration option in your spreadsheet program, here.
Storage bins
First, create one or more warehouses in the Shopware 6 admin under Inventory (Lagerhaltung) → Warehouses and storage bins (Lager und Lagerplätze) → Create warehouse. You'll find more information here.
Once a warehouse has been saved, the Storage bins tab appears, where you can create storage bins either manually or via CSV import. The CSV file for creating storage bins only contains the Code column, in which the storage bin identifier is entered.
Stocks
If you've already used the Shopware 6 migration tool, stocks have already been transferred from Shopware 5. Afterwards, the indexes must be refreshed under Settings → System → Caches & Indices. To do so, select all options in the dropdown menu, then select the method Refresh all except selection. Then click Refresh indices. This way, only the indexes added by Pickware are refreshed, which speeds up the process.
Since there are no storage bins in the Shopware 6 standard, the stocks now still need to be assigned to the correct storage bins.
Exporting stocks from Shopware 5
First, perform a CSV export in Shopware 5 under Content → Import/Export. Use the profile viison_pickware_erp_article_stocks_absolute. This file serves as the basis for importing your stocks into Shopware 6.
Importing stocks into Shopware 6
Open the CSV file you just downloaded from Shopware 5 and adjust it by renaming or deleting the columns as follows:
articleNumber → Product number
articleName → Product name
warehouse → Warehouse code
binLocation → Storage bin
isDefaultBinLocation → Default storage bin
physicalStock → Stock
availableStock → delete
purchasePrice → delete
In any case, make sure the respective value in the Storage bin column also matches one of the storage bins you created earlier.
Next, open your Shopware 6 administration, navigate to Inventory → Stock overview → Absolute stock import and click Import. Upload your adjusted CSV file here. You'll find more information on managing stocks in this article.
In general, it's advisable to perform a complete stocktake of your stocks after the stock import. You'll find instructions for stocktaking in Shopware 6 here.
Note on the unknown storage bin
If you didn't use storage bins for products in Shopware 5, meaning they're listed in the admin with the storage bin designation unknown storage bin, please note the following.
In the CSV export file from Shopware 5, the unknown storage bin is indicated as pickware_unknown_location. This designation doesn't exist in Shopware 6, so it would result in an error during import. In Shopware 6, the unknown storage bin is instead called unknown. Below you'll find an overview of various scenarios regarding stock booking behavior in Shopware 6:
Storage bin designation = unknown
The stock is booked to the unknown storage bin.
Storage bin designation = [empty]
The stock is booked to the default storage bin.
If the product has no default storage bin, the stock is instead booked to the unknown storage bin.
Storage bin designation = pickware_unknown_location
The import cannot be performed and results in an error message.
Storage bin designation corresponds to a designation that doesn't exist as a storage bin in the shop admin
The import cannot be performed and results in an error message.
Exporting minimum stocks from Shopware 5
To do this, perform a CSV export in Shopware 5 under Content → Import/Export. Use the profile viison_pickware_erp_article_stock_limits (Pickware minimum and target stocks).
Open the CSV file you just downloaded from Shopware 5 and adjust it by renaming or deleting the columns as follows:
articleNumber → Product number
articleName → delete
warehouse → delete
minimumStock → Reorder point
targetStock → delete
Importing reorder points into Shopware 6
In Shopware 6, the term reorder points is used instead of minimum stocks. To display the reorder points in the stock overview of your Shopware 6 admin, click the filter icon in the top right corner and select the option Per product in the top dropdown menu, View. Regardless of the view, it's possible here to perform exports and imports taking the respective reorder points into account.
Suppliers and product assignment
Creating suppliers
First, perform a CSV export in Shopware 5 under Content → Import/Export. Use the profile viision_pickware_erp_suppliers.
Now adjust the CSV file by renaming or deleting the columns as follows:
supplierNumber → Number
salutation → delete
address → split into
Street, house number, ZIP code, city, address addition, country (please use ISO2 country codes here, e.g. DE for Germany)
contact → split into
First name, last name
phone → Phone number
fax → Fax number
email → Email address
comment → Comment
customerNumber → Customer number
deliveryTime → Default delivery time
templateShopId → delete
currency → delete
In your Shopware 6 admin under Purchasing → Suppliers, you'll find the list settings on the right. There you can see which additional properties can be maintained for suppliers in Shopware 6. If needed, you can also add these via CSV import by adding a corresponding column to your CSV file.
In the Shopware 6 administration under Purchasing → Suppliers → Import, you can upload your adjusted CSV file. You'll find more information on creating suppliers in this article.
Assigning products to a supplier
First, perform a CSV export in Shopware 5 under Content → Import/Export. Use the profile viision_pickware_erp_article_suppliers.
Now adjust the CSV file by renaming or deleting the columns as follows:
articleNumber → Product number
articleName → Product name
supplierArticleNumber → Supplier product number
supplierNumber → Supplier number
defaultSupplier → Default supplier
Note: In Shopware 5, whether an assignment is the default supplier is indicated with y (= yes) or n (= no). In Shopware 6, you must instead use ja or nein, i.e. yes or no.purchasePrice → Purchase price (net)
Note: Purchase prices can only be imported as net prices in Shopware 6. Therefore, check the Entering purchase prices field in the settings of the Shopware 5 administration under Settings → Basic settings → Shopware ERP powered by Pickware and then adjust your purchase prices if necessary.currency → delete
minimumOrderAmount → Minimum order quantity
packingUnit → Order interval
In your Shopware 6 admin under Purchasing → Supplier assignment, you'll find the list settings on the right. There you can see which additional properties can be maintained for the supplier assignment in Shopware 6. If needed, you can also add these via CSV import by adding a corresponding column to your CSV file.
In the Shopware 6 administration under Purchasing → Supplier assignment → Import, you can upload your adjusted CSV file. You'll find more information on supplier assignment in this article.
Please note that you need Pickware ERP Pro to assign multiple suppliers per product. When importing the CSV file, the rows are read from top to bottom. If you've assigned two different suppliers to a product, without ERP Pro, the first entry will be overwritten when the second entry is read. This is also the case if you had deactivated the extension at the time of import.
Bills of materials
As in Shopware 5, Pickware also supports the bills of materials functionality in Shopware 6 as part of ERP Pro. You can easily transfer your bills of materials from Shopware 5 to Shopware 6 via CSV import. You'll find more information on creating and managing bills of materials in this article.
Migrating further data
In both Shopware 5 and Shopware 6, you have the option to create new import or export profiles, allowing you to migrate additional data to your Shopware 6 shop.
Information type | Field name in Shopware 5 | Field name in Shopware 6 |
Customs tariff number | attributeViisonCustomsTariffNumber | translations.DEFAULT.customFields.pickware_shipping_customs_information_tariff_number |
Country of origin | attributeViisonCountryOfOrigin | translations.DEFAULT.customFields.pickware_shipping_customs_information_country_of_origin |
Please note that custom profiles in Shopware 6 are created with a number of required fields, which must also be filled in and present in the import file. It's therefore advisable to first export your newly created profile, add the desired information to this file and then import the modified file again.
You'll find all the information on creating new import/export profiles in Shopware's documentation.
Purchasing Pickware POS and Pickware WMS
WMS and POS licenses from Shopware 5 cannot be carried over to your Shopware 6 shop. If you used Pickware WMS or POS in Shopware 5, the existing licenses must be canceled as part of the migration and repurchased for Shopware 6 in your Pickware account. You'll find more details on purchasing here in our Shopware 6 Help Center.
Aside from the iOS apps, no separate installation is necessary. In our Shopware 6 Help Center, you'll find more information on setting up WMS and POS in the Shopware Admin.
Switching Pickware apps
For Pickware in Shopware 5, our well-known apps Pickware WMS and Pickware POS are available to you. If you previously used the Pickware Lager App, please note that it's no longer available for Shopware 6. The corresponding functions are now part of the WMS App.
For the Pickware apps, you need an Apple device that supports at least iOS 15. You'll find more information on recommended hardware here (WMS) and here (POS). You can download the apps from the App Store as usual.
Before using the Pickware POS App in Shopware 6, please make sure to follow these instructions for your Shopware 5 shop: First, log in on your iOS device as usual and perform a complete payout of the register balance as well as a register closing. The configuration then needs to be reset so the app can be set up again. To do this, log out of the app and then select Reset configuration via the gear icon in the top right.
Completing the migration
If, to complete the migration, you transfer the domain of your Shopware 5 shop to your Shopware 6 shop, the license domain of your WMS and/or POS licenses must also be updated for Shopware 6.
If you started the migration in your Pickware account for Shopware 5, you can change the license domain yourself in your Pickware account. To do so, log in to your Pickware account, make sure the Shopware 6 shop is selected and select Migration in the menu on the left. Now click Transfer license domain. This renames the shop URL of your Shopware 6 shop to the previous Shopware 5 domain. The URL of your Shopware 5 shop is extended with the prefix sw5..
If you didn't use the migration in the Pickware account, contact support to change the license domain.
Handling POS orders
When you migrate your orders from Shopware 5, all POS orders will also be carried over, but without the respective shipped values. This means it's initially not possible to process returns for these orders.
To enable returns for these orders, the shipped values of the migrated orders must be set retroactively using the Shopware 6 Admin API. To do this, use the endpoint provided by Pickware ERP Starter: /api/_action/pickware-erp/stock/move.
To do this, you must execute the following request for each product in an order:
POST /_action/pickware-erp/stock/move HTTP/1.1
[
{
"id": "{NEW_UUID}",
"quantity": {QUANTITY},
"productId": "{PRODUCT_ID}",
"source": "unknown",
"destination": {
"order": {
"id": "{ORDER_ID}"
}
}
}
]
Here, the values in the curly braces {} must be replaced with the following values:
{NEW_UUID} – A newly generated UUID for each order line item.
{QUANTITY} – The shipped value from Shopware 5
{PRODUCT_ID} – The ID of the corresponding product from Shopware 6
{ORDER_ID} – The ID of the corresponding order from Shopware 6
You can also import multiple order line items in a single request by specifying the object multiple times in the root array.
Please also refer to the documentation for the Shopware 6 Admin API as well as our notes on using the API. If you have any questions or are unsure about anything, contact your agency or reach out to our support.
Which data cannot be migrated?
The following data currently cannot be migrated from Shopware 5:
Supplier orders
Stock movements
Returns
Note regarding the DATEV export
For all orders created in Shopware 5, the DATEV export must also be performed in Shopware 5, as otherwise they wouldn't be retained during an export in Shopware 6.
Further setup steps
Once you've completed the basics, various further configuration options for Pickware are available to you. You'll find them in our Shopware 6 Help Center. You'll also find general information on Shopware 6 directly at Shopware.
