CSV Export for Product Data – Email & FTP Delivery¶
The plugin enables flexible export of Shopware 6 products and variants as a CSV file – either from the product overview (including active filters and multi-selection), via individual profiles, through the Shopware Flow Builder, or fully automated with email and FTP delivery. Using export profiles, the exported fields and their column order can be freely defined.
Highlights
- ✅ Export products & variants as CSV – flexible and configurable
- 🖱️ Export directly from the product listing – including active filters and multi-selection
- 🔀 Optionally include all variants of a parent product (per-profile switch)
- ✉️ Send by email or upload via FTP
- ⚙️ Trigger via the Shopware Flow Builder or run manually in the admin
- 🧩 Freely configurable export fields with column order
- 🛠️ CSV format configurable (separator, decimal/thousands separator, date, timezone, encoding)
- 🗃️ Prices, stock, categories, manufacturers, properties, SEO & custom fields
- 📊 Export history with re-download of generated files and progress tracking
❓ FAQ¶
Can I deliver exports by email or FTP?
Yes. Using the Shopware Flow Builder, the exported CSV file can be sent by email or uploaded via FTP – for example, to deliver the ordered products automatically when an order is placed. Exports can also be run manually in the admin or via the CLI.
Can I export straight from the product list?
Yes. In the product overview you can export the currently filtered list or a multi-selection of products directly, using a chosen profile.
Can I export product variants?
Yes. A per-profile switch lets you optionally include all variants of a parent product in the export.
Can I create custom export profiles?
Yes. You can create individual export profiles and determine which fields are exported and in what order.
Are custom fields supported?
Yes. The plugin supports product and variant custom fields in addition to the built-in field catalog.
How many products can I export at once?
The maximum number of products is configurable in the plugin settings (default 50,000). Very large datasets can also be exported via CLI.
Which format can I export to?
Products are exported as CSV. The CSV format is fully configurable (separator, decimal and thousands separators, date format, timezone, encoding).
🔧 Installation¶
- Prerequisite: CNK Foundation plugin
- Installation via the Shopware Store or by uploading the ZIP
- Activate the plugin in the Shopware admin
- Requires Shopware 6.7
🧩 Manage Profiles¶
Export profiles define which data is included in the CSV file and in what order it appears. Profiles are located in the Shopware admin under Catalogues > CSV-Product-Export > Profiles.
Within a profile you can specifically define which fields should be included in the exported CSV file. Using the field picker, product fields can be individually selected and arranged – the order of fields in the profile corresponds to the column order in the CSV file.
A profile also carries the "include variants" switch, which optionally exports all variants of a parent product.
⚙️ Default Settings¶
Global CSV formatting defaults are configured in the plugin settings and apply to every export (a profile can still be tailored per use case):
| Setting | Description | Default |
|---|---|---|
| Separator | CSV field separator (comma or semicolon) | ; |
| Decimal separator for prices | Decimal separator used in price values | . |
| Thousands separator for prices | Thousands separator used in price values | , |
| Date format | Format for date fields (e.g. d.m.Y, Y-m-d) | d.m.Y |
| Timezone | Timezone applied to date/time values | Europe/Berlin |
| Leave salutation fields empty | Output empty salutation instead of "No information" | Off |
| Export batch size | Number of records processed per loop iteration | 100 |
| Maximum number of products to export | Upper limit of products per export | 50000 |
🗂️ Variables¶
💡 Field names must be used exactly as shown in the left column.
The following overview lists all built-in variables that can be used in an export profile. Field names in the left column are configured in the profile; the right column describes the content. In addition to these, the field picker automatically shows the custom fields defined in your shop for products and variants.
🧾 General Product Data¶
| Field name | Description |
|---|---|
id | Product ID |
active | Active status |
product_number | Product number / SKU |
name | Product name |
description | Description |
ean | EAN / GTIN |
release_date | Release date |
rating_average | Average customer rating |
mark_as_topseller | Marked as topseller |
shipping_free | Free shipping |
sales | Number of sales |
canonical_product_id | Canonical product ID |
canonical_product_name | Canonical product name |
🔀 Variants¶
| Field name | Description |
|---|---|
variation | Variation data |
display_group | Variant display group |
variant_restrictions | Variant restrictions |
options | Variant options |
💶 Prices & Tax¶
| Field name | Description |
|---|---|
price_net | Net sales price |
price_gross | Gross sales price |
purchase_price_net | Net purchase (cost) price |
purchase_price_gross | Gross purchase (cost) price |
tax_name | Tax rule name |
tax_rate | Tax rate (%) |
📦 Stock, Quantities & Dimensions¶
| Field name | Description |
|---|---|
stock | Physical stock |
available_stock | Available stock |
available | Availability |
is_closeout | Closeout / clearance |
min_purchase | Minimum purchase quantity |
max_purchase | Maximum purchase quantity |
purchase_steps | Purchase step interval |
purchase_unit | Purchase unit |
reference_unit | Reference unit |
pack_unit | Pack unit label |
pack_unit_plural | Pack unit label (plural) |
unit_name | Unit of measurement |
weight | Weight |
width | Width |
height | Height |
length | Length |
delivery_time_names | Delivery time |
🗂️ Categories, Manufacturer & Properties¶
| Field name | Description |
|---|---|
category_ids | Category IDs |
category_names | Category names |
manufacturer_id | Manufacturer ID |
manufacturer_number | Manufacturer product number |
manufacturer_name | Manufacturer name |
properties | Product properties |
tags_names | Tags |
streams | Dynamic product groups |
🖼️ Media & Downloads¶
| Field name | Description |
|---|---|
cover_id | Cover image ID |
downloads | Digital product downloads |
🔎 SEO & Search¶
| Field name | Description |
|---|---|
meta_title | Meta title |
meta_description | Meta description |
keywords | SEO keywords |
custom_search_keywords | Custom search keywords |
slot_config | CMS layout configuration |
🧬 Custom Fields & Feature Sets¶
| Field name | Description |
|---|---|
custom_field_set_selection_active | Custom-field-set selection active |
feature_set_id | Product feature set ID |
Custom fields
In addition to the fields listed above, the field picker automatically shows the custom fields defined in your shop for products and variants.
⚡ Quick Export via the Product Overview¶
- Export the currently filtered product list directly
- Export a multi-selection of products (bulk export)
- Select a profile from the dropdown to determine the exported fields and format
✉️ Email & FTP Delivery¶
Using the Shopware Flow Builder, an export can be delivered automatically by email or uploaded via FTP. A typical setup adds a flow that exports and sends the ordered products by email or FTP when an order is placed.
The delivery format and field selection follow the export profile you choose in the flow action.
📊 Activity & Logging¶
- Export history & status (success / error)
- Re-download of previously generated files
- Progress tracking for running exports
- Located under Catalogues > CSV-Product-Export > Activity
🖥️ Command Line Export (CLI)¶
Process running activities¶
Trigger all in-progress exports directly, without waiting for the queue:
An integrated progress bar shows the export progress – suitable even for very large datasets.
Export with a profile¶
Export using the Shopware standard product profile:
bin/console cnk:csv-products:export --exportType sw_profile --profileName "Default products" --fromDate 2024-01-01 --toDate 2025-02-01
Export using a profile created in this plugin:
bin/console cnk:csv-products:export --exportType config --profileName "PIM feed" --fromDate 2024-01-01 --toDate 2025-02-01
- fromDate: Products created from this date, format
Y-m-d - toDate: Products created up to this date, format
Y-m-d(default: today) - exportType:
sw_profile(Shopware import/export profile) orconfig(this plugin's profile) - profileName: Name of the profile to use (default:
Default products)
Delete expired files¶
Remove expired export files and their log entries:
Expired files are also cleaned up automatically once a day by the scheduled task cnk_product_export_file.cleanup.