Skip to content

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

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:

bin/console cnk:csv-product-log:consume

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) or config (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:

bin/console cnk-product-export:delete-expired

Expired files are also cleaned up automatically once a day by the scheduled task cnk_product_export_file.cleanup.