Zum Inhalt

CSV-Export für Bestellungen

Das Plugin ermöglicht den flexiblen Export von Shopware 6-Bestellungen als CSV-Datei – wahlweise vollständig oder gefiltert nach Zeitraum, Status, Zahlungsart und mehr. Mithilfe individueller Profile können Felder frei definiert und Exporte auf spezifische Anforderungen zugeschnitten werden.

Highlights

  • Bestellungen als CSV exportieren – flexibel, filterbar, automatisierbar
  • 🔁 Vollautomatischer Export via Zeitplan (Scheduled Task / Cronjob)
  • ✉️ Versand per E-Mail oder Upload per FTP
  • 🧩 Frei definierbare Exportfelder mit Sortierung und Filtern
  • 🛠️ CSV-Format vollständig konfigurierbar (Trennzeichen, Datum, Encoding etc.)
  • 🗂️ Weitere Exportformate: XLSX, JSON, XML zusätzlich zu CSV (In-App-Kauf)
  • 🏢 ERP-Vorlagen für DATEV, JTL-Wawi, Billbee, Xentral & Lexware (In-App-Kauf)
  • 🔄 Delta-/Inkrementeller Export – nur neue oder geänderte Bestellungen (In-App-Kauf)

❓ FAQ

Kann ich den Export automatisieren?

Ja, das Plugin unterstützt den automatischen Export über Shopware Scheduled Tasks (Cronjobs).
Die CSV-Datei kann automatisch erstellt und per E-Mail oder FTP versendet werden.

Kann ich eigene Exportprofile erstellen?

Ja, Sie können individuelle Exportprofile anlegen und bestimmen, welche Felder exportiert werden sollen und in welcher Reihenfolge.

Werden auch Zusatzfelder (Custom Fields) unterstützt?

Ja, das Plugin unterstützt Zusatzfelder für Bestellungen, Kunden, Produkte und Bestellpositionen.

Wie viele Bestellungen kann ich gleichzeitig exportieren?

Die maximale Anzahl an Bestellungen ist in der Plugin-Konfiguration einstellbar.
Über CLI lassen sich auch sehr große Datenmengen exportieren.

In welchen Formaten kann ich exportieren?

Standardmäßig als CSV. Mit dem In-App-Kauf „Pro-Formate & ERP-Vorlagen" zusätzlich als Excel (XLSX), JSON oder XML – einstellbar pro Profil.

Werden ERP-/Warenwirtschaftssysteme unterstützt?

Ja. Mit dem In-App-Kauf „Pro-Formate & ERP-Vorlagen" stehen Ein-Klick-Vorlagen für DATEV, JTL-Wawi, Billbee, Xentral und Lexware bereit, die Feldauswahl und Formateinstellungen automatisch vorbelegen.

Kann ich nur neue oder geänderte Bestellungen exportieren?

Ja, mit dem In-App-Kauf „Delta-Export". Dabei werden nur Bestellungen exportiert, die seit dem letzten erfolgreichen Lauf erstellt oder geändert wurden – ideal für die Synchronisation mit einer Warenwirtschaft ohne Duplikate.

Warum laufen meine automatischen Exporte nur, wenn die Administration geöffnet ist?

Geplante Exporte benötigen einen aktiven Hintergrund-Worker (Shopware Message Queue / geplante Aufgaben). Bei Shopware Cloud und den meisten Managed-Hostings ist dieser bereits aktiv. Andernfalls bitten Sie Ihren Hosting-Anbieter, den Worker zu aktivieren. Manuelle Exporte funktionieren auch ohne Worker.

order-2.png

🔧 Installation

  • Voraussetzungen (CNK Foundation)
  • Installation via Store oder ZIP
  • Aktivierung & Sichtbarkeit im Backend install.png activate.png

🧩 Profile verwalten

Exportprofile definieren, welche Daten in der CSV-Datei enthalten sind und in welcher Reihenfolge sie erscheinen.
Die Profile befinden sich im Shopware-Adminbereich unter Bestellungen > CSV-Export > Profile.

settings-1.png profile-1.png

Innerhalb eines Profils kannst du gezielt festlegen, welche Felder in die exportierte CSV-Datei aufgenommen werden sollen.
Über die Schaltfläche „Feld hinzufügen“ lassen sich Bestell-, Kunden-, Produkt- und Adressfelder individuell auswählen und anordnen.
Die Reihenfolge der Felder im Profil entspricht der Spaltenreihenfolge in der CSV-Datei.

profile-2.png

🗂️ Exportformate & ERP-Vorlagen

In-App-Kauf „Pro-Formate & ERP-Vorlagen"

Diese Funktionen sind über einen In-App-Kauf direkt im Shopware-Adminbereich freischaltbar.

Zusätzlich zum Standardformat CSV können Sie Ihre Exportprofile auch als Excel (XLSX), JSON oder XML ausgeben.

Das Exportformat wird pro Profil im Reiter Konfiguration über das Feld „Dateiformat" festgelegt und serverseitig für alle Exportwege (manuell, Schnell-Export, Zeitplan, Flow Builder und CLI) durchgesetzt. Ist der In-App-Kauf nicht aktiv, fällt der Export automatisch auf CSV zurück.

Ein Pro-Format freischalten

  1. Öffnen Sie ein Profil unter Bestellungen > CSV-Export > Profile und wechseln Sie in den Reiter Konfiguration.
  2. Wählen Sie unter Dateiformat ein Pro-Format (XLSX, JSON oder XML). Ist der Kauf noch nicht aktiv, erscheint ein Hinweis mit der Schaltfläche „Freischalten".
  3. Nach dem Kauf steht das Format sofort zur Verfügung und wird beim Speichern übernommen.

ERP-Vorlagen anwenden

ERP-Vorlagen belegen mit einem Klick die passende Feldauswahl sowie die Trennzeichen-, Zahlen-, Datums- und Encoding-Einstellungen für das jeweilige Zielsystem vor:

Vorlage Zielsystem
DATEV DATEV / Buchhaltung
JTL-Wawi JTL Warenwirtschaft
Billbee Billbee
Xentral Xentral ERP
Lexware Lexware

So wenden Sie eine Vorlage an:

  1. Stellen Sie sicher, dass der In-App-Kauf „Pro-Formate & ERP-Vorlagen" aktiv ist.
  2. Wählen Sie im Profil unter ERP-Vorlage das gewünschte System und klicken Sie auf „Vorlage anwenden".
  3. Die Feldauswahl und die Formateinstellungen werden übernommen. Das gewählte Dateiformat bleibt dabei erhalten – Sie können also z. B. eine DATEV-Feldauswahl auch als XLSX ausgeben.

💡 Das Anwenden einer Vorlage überschreibt die aktuelle Feldauswahl des Profils. Passen Sie die Felder anschließend bei Bedarf an und speichern Sie das Profil.

🔄 Inkrementeller / Delta-Export

In-App-Kauf „Delta-Export"

Diese Funktion ist über einen separaten In-App-Kauf direkt im Shopware-Adminbereich freischaltbar.

Mit dem Delta-Export werden bei jedem Lauf nur die Bestellungen exportiert, die seit dem letzten erfolgreichen Export erstellt oder geändert wurden. Das hält eine Warenwirtschaft oder Buchhaltung ohne Duplikate synchron und spart – besonders bei großen Bestellmengen – Zeit und Datenvolumen.

  • Pro Profil aktivierbar über den Schalter „Delta-/Inkrementeller Export" im Reiter Konfiguration.
  • Berücksichtigt Bestellungen anhand von Erstellungs- oder Änderungsdatum (createdAt/updatedAt), sodass auch nachträglich geänderte Bestellungen erneut exportiert werden.
  • Der Delta-Stand (Wasserzeichen) wird nur nach einem erfolgreichen Export fortgeschrieben – schlägt ein Lauf fehl, gehen keine Bestellungen verloren.
  • Funktioniert über alle Exportwege: Zeitplan, Flow Builder und CLI (Config-Profil).

Delta-Export einrichten

  1. Öffnen Sie ein Profil und wechseln Sie in den Reiter Konfiguration.
  2. Aktivieren Sie den Schalter „Delta-/Inkrementeller Export". Ist der Kauf noch nicht aktiv, erscheint ein Hinweis mit der Schaltfläche „Freischalten".
  3. Speichern Sie das Profil. Ab dem nächsten Lauf werden nur noch neue oder geänderte Bestellungen exportiert.

Delta-Stand zurücksetzen

Möchten Sie erneut alle Bestellungen exportieren (z. B. für einen vollständigen Erst-Abgleich), setzen Sie das Wasserzeichen zurück:

  1. Öffnen Sie das Profil im Reiter Konfiguration.
  2. Klicken Sie im Delta-Hinweis auf „Zurücksetzen" und speichern Sie das Profil.
  3. Der nächste Lauf exportiert wieder alle passenden Bestellungen und setzt anschließend ein neues Wasserzeichen.

💡 Der Delta-Export nutzt den Startzeitpunkt des Exports als Wasserzeichen. Dadurch werden im Grenzfall lieber wenige Bestellungen doppelt exportiert als übersprungen – ideal für idempotente Importe (Upserts) in der Warenwirtschaft.

Variablen

💡 Die Feldnamen müssen exakt so übernommen werden, wie sie in der linken Spalte angegeben sind.

Die folgende Übersicht zeigt alle verfügbaren Variablen, die in einem Exportprofil verwendet werden können.
Diese bestimmen, welche Daten in der CSV-Datei erscheinen – zum Beispiel allgemeine Bestelldaten, Kundeninformationen, Adressfelder oder Produktdetails.
Die Feldnamen in der linken Spalte werden im Profil konfiguriert, die rechte Spalte beschreibt den Inhalt.

🧾 Allgemeine Bestelldaten

Feldname Beschreibung
id Bestell-ID
order_number Bestellnummer
order_date Bestelldatum
order_date_time Bestelldatum und Uhrzeit
sales_channel Verkaufskanal
payment_method Zahlart
shipping_method Liefermethode
amount_total Gesamtbetrag
amount_net Netto-Betrag
position_price Bruttopreis der Position
currency_name Währung
currency_short_name Währung (kurz)
shipping_total Lieferkosten
affiliate_code Affiliate-Code
customer_comment Kundenkommentar
internal_comment Interner Kommentar
transactions_state_machine_state Zahlungsstatus
deliveries_state_machine_state Versandstatus
order_state Bestellstatus
tags Tags
currency_factor Währungsfaktor
tax_status Steuerstatus
tax_calculation_type Steuerberechnungsart
deep_link_code Deep-Link-Code
auto_increment Fortlaufende Nummer
campaign_code Kampagnen-Code
source Quelle
created_at Erstellt am
updated_at Geändert am
order_language Bestellsprache
sales_channel_id Verkaufskanal-ID
currency_id Währungs-ID
language_id Sprach-ID
state_id Status-ID
billing_address_id Rechnungsadresse-ID

📦 Bestellpositionen

Feldname Beschreibung
line_items_id Positions-ID
line_items_order_number Bestellnummer (Position)
line_items_label Name
line_items_description Beschreibung
line_items_quantity Menge
line_items_unit_price Einzelpreis
line_items_total_price Gesamtpreis

👤 Kundendaten

Feldname Beschreibung
company Firma
salutation Anrede
first_name Vorname
last_name Name
email E-Mail-Adresse
birthday Geburtsdatum
order_count Anzahl Bestellungen
customer_number Kundennummer
customer_id Kunden-ID
customer_group Kundengruppe
customer_language Kundensprache
customer_register_date Registrierungsdatum
customer_remote_address IP-Adresse
vat_ids USt-IdNrn.
customer_first_login Erste Anmeldung
customer_last_login Letzte Anmeldung
customer_last_order_date Letztes Bestelldatum
customer_order_total_amount Gesamter Bestellwert
customer_review_count Anzahl Bewertungen
customer_tags Kunden-Tags
customer_account_type Kontotyp
customer_last_payment_method Letzte Zahlart
order_customer_number Bestell-Kundennummer
customer_company Firma (Kunde)
customer_title Titel
customer_active Aktiv
customer_guest Gastkonto

🚚 Lieferadresse

Feldname Beschreibung
shipping_address_company Firma
shipping_address_department Abteilung
shipping_address_salutation Anrede
shipping_address_title Titel
shipping_address_first_name Vorname
shipping_address_last_name Nachname
shipping_address_street Straße
shipping_address_street_name Straßenname
shipping_address_street_number Hausnummer
shipping_address_zipcode PLZ
shipping_address_city Stadt
shipping_address_phone_number Telefonnummer
shipping_address_additional_address_line1 Adresszusatz 1
shipping_address_additional_address_line2 Adresszusatz 2
shipping_address_country_name Land
shipping_address_country_iso Land (ISO)
shipping_address_country_iso3 Land (ISO3)

🧾 Rechnungsadresse

Feldname Beschreibung
billing_address_company Firma
billing_address_department Abteilung
billing_address_salutation Anrede
billing_address_title Titel
billing_address_first_name Vorname
billing_address_last_name Nachname
billing_address_street Straße
billing_address_street_name Straßenname
billing_address_street_number Hausnummer
billing_address_zipcode PLZ
billing_address_city Stadt
billing_address_additional_address_line1 Adresszusatz 1
billing_address_additional_address_line2 Adresszusatz 2
billing_address_country_name Land
billing_address_country_iso Land (ISO)
billing_address_country_iso3 Land (ISO3)

🛒 Produkt-Daten

Feldname Beschreibung
line_items_product_id Produkt-ID
line_items_product_number Produktnummer
line_items_product_name Produktname
line_items_product_description Beschreibung
line_items_product_manufacturer_number Herstellernummer
line_items_product_ean EAN
line_items_product_stock Bestand
line_items_product_available_stock Verfügbarer Bestand
line_items_product_max_purchase Max. Menge
line_items_product_min_purchase Min. Menge
line_items_product_purchase_prices Kaufpreis
line_items_product_shipping_free Gratis Lieferung
line_items_product_weight Gewicht
line_items_product_width Breite
line_items_product_height Höhe
line_items_product_length Länge
line_items_product_category_ids Kategorie-IDs
line_items_product_category_names Kategorie-Namen
line_items_product_release_date Veröffentlichungsdatum
line_items_product_manufacturer_name Herstellername
line_items_product_tags_names Produkt-Tags
line_items_product_tax_name Steuersatz-Name
line_items_product_tax_rate Steuersatz (%)
line_items_product_properties Eigenschaften

🧬 Positionsdetails (Payload)

Snapshot-Daten, die zum Kaufzeitpunkt an der Bestellposition gespeichert werden.

Feldname Beschreibung
line_items_payload_mark_as_topseller Als Topseller markiert
line_items_payload_product_type Produkttyp
line_items_payload_product_number Produktnummer (Payload)
line_items_payload_manufacturer_name Herstellername
line_items_payload_category_names Kategorienamen
line_items_payload_is_new Als neu markiert

📄 Dokumente

Felder aus erzeugten Dokumenten (Rechnung, Lieferschein und – sofern das Pickware-Plugin installiert ist – Pickware Pickliste / POS-Beleg). Die Werte sind erst gefüllt, sobald das jeweilige Dokument zur Bestellung erstellt wurde.

Rechnung

Feldname Beschreibung
documents_invoice_date Datum
documents_invoice_datetime Datum & Uhrzeit
documents_invoice_document_number Belegnummer
documents_invoice_company_name Firmenname
documents_invoice_company_street Firma Straße
documents_invoice_company_zipcode Firma PLZ
documents_invoice_company_city Firma Stadt
documents_invoice_company_country Firma Land
documents_invoice_company_email Firma E-Mail
documents_invoice_company_phone Firma Telefon
documents_invoice_company_url Firma URL
documents_invoice_payment_due_date Zahlungsziel
documents_invoice_tax_number Steuernummer
documents_invoice_vat_id USt-IdNr.
documents_invoice_bank_name Bankname
documents_invoice_bank_iban IBAN
documents_invoice_bank_bic BIC
documents_invoice_place_of_jurisdiction Gerichtsstand
documents_invoice_place_of_fulfillment Erfüllungsort
documents_invoice_executive_director Geschäftsführer
documents_invoice_company_address Firmenadresse
documents_invoice_document_comment Belegkommentar

Lieferschein

Feldname Beschreibung
documents_delivery_note_date Datum
documents_delivery_note_datetime Datum & Uhrzeit
documents_delivery_note_document_number Belegnummer
documents_delivery_note_company_name Firmenname
documents_delivery_note_company_street Firma Straße
documents_delivery_note_company_zipcode Firma PLZ
documents_delivery_note_company_city Firma Stadt
documents_delivery_note_company_country Firma Land
documents_delivery_note_company_email Firma E-Mail
documents_delivery_note_company_phone Firma Telefon
documents_delivery_note_company_url Firma URL
documents_delivery_note_payment_due_date Zahlungsziel
documents_delivery_note_tax_number Steuernummer
documents_delivery_note_vat_id USt-IdNr.
documents_delivery_note_bank_name Bankname
documents_delivery_note_bank_iban IBAN
documents_delivery_note_bank_bic BIC
documents_delivery_note_place_of_jurisdiction Gerichtsstand
documents_delivery_note_place_of_fulfillment Erfüllungsort
documents_delivery_note_executive_director Geschäftsführer
documents_delivery_note_company_address Firmenadresse
documents_delivery_note_document_comment Belegkommentar

Pickware ERP-Pickliste

Feldname Beschreibung
documents_pickware_erp_picklist_document_date Belegdatum
documents_pickware_erp_picklist_document_datetime Belegdatum & Uhrzeit
documents_pickware_erp_picklist_document_number Belegnummer
documents_pickware_erp_picklist_company_name Firmenname
documents_pickware_erp_picklist_company_street Firma Straße
documents_pickware_erp_picklist_company_zipcode Firma PLZ
documents_pickware_erp_picklist_company_city Firma Stadt
documents_pickware_erp_picklist_company_country Firma Land
documents_pickware_erp_picklist_company_email Firma E-Mail
documents_pickware_erp_picklist_company_phone Firma Telefon
documents_pickware_erp_picklist_company_url Firma URL
documents_pickware_erp_picklist_payment_due_date Zahlungsziel
documents_pickware_erp_picklist_tax_number Steuernummer
documents_pickware_erp_picklist_vat_id USt-IdNr.
documents_pickware_erp_picklist_bank_name Bankname
documents_pickware_erp_picklist_bank_iban IBAN
documents_pickware_erp_picklist_bank_bic BIC
documents_pickware_erp_picklist_place_of_jurisdiction Gerichtsstand
documents_pickware_erp_picklist_place_of_fulfillment Erfüllungsort
documents_pickware_erp_picklist_executive_director Geschäftsführer
documents_pickware_erp_picklist_company_address Firmenadresse
documents_pickware_erp_picklist_document_comment Belegkommentar

Pickware POS-Beleg

Feldname Beschreibung
documents_pickware_pos_receipt_document_number Belegnummer
documents_pickware_pos_receipt_document_date Belegdatum
documents_pickware_pos_receipt_invoice_number Rechnungsnummer

Zusatzfelder (Custom Fields)

Zusätzlich zu den oben gelisteten Feldern erscheinen im Feld-Auswahldialog automatisch die in Ihrem Shop definierten Zusatzfelder für Bestellungen, Kunden, Produkte und Bestellpositionen.

⚡ Schnell-Export über die Bestellübersicht

  • Direkt-Export von selektierten Bestellungen
  • Direkt-Export von gefilterten Bestellungen

order-1.png

  • Auswahl eines Profils im Dropdown order-2.png

🔁 Jobs (Automatisierung)

  • Erklärung: Scheduled Task / Cronjob
  • Konfigurierbare Optionen:
    • Zeitintervall oder feste Wochentage + Uhrzeit
    • FTP / E-Mail-Ziel
    • Profilwahl (inkl. Format, ERP-Vorlage und Delta-Export des gewählten Profils)

Voraussetzung: aktiver Hintergrund-Worker

Geplante Exporte werden über den Hintergrund-Worker Ihres Shops ausgeführt (Shopware Message Queue & geplante Aufgaben). Bei Shopware Cloud und den meisten Managed-Hostings ist dieser standardmäßig aktiv – Sie müssen nichts weiter einrichten.

Werden Exporte nur ausgeführt, während die Administration geöffnet ist, läuft in Ihrem Shop kein Hintergrund-Worker. Bitten Sie in diesem Fall Ihren Hosting-Anbieter, den Worker zu aktivieren (technisch: den „Admin-Worker" deaktivieren und bin/console messenger:consume sowie bin/console scheduled-task:run als Dienst bzw. Cron betreiben – siehe Shopware Message Queue). Manuelle Exporte funktionieren auch ohne Worker.

job-1.png job-2.png job-3.png job-4.png job-5.png

📊 Aktivität & Protokollierung

  • Exporthistorie & Status (Success/Error)
  • CSV-Log: Empfänger, FTP-Pfad, Zeitstempel
  • Die Logs sind unter Bestellungen > CSV-Export > Aktivität zu finden activity-1.png

  • Das Ergebnis sieht wie folgt aus activity-2.png

🖥️ Kommandozeilen-Export (CLI)

Schneller Export laufender Aktivitäten

Der Export großer Datenmengen – auch über 10.000 Bestellungen – ist möglich.
Ein integrierter Fortschrittsbalken zeigt dabei den Exportfortschritt an.

Um nicht auf die Queue zu warten, kann man den Export manuell anstoßen – z.B. für sofortigen CSV-Download nach dem Erstellen eines Exports:

#[AsCommand(
    name: 'cnk:csv-order-log:consume',
    description: 'Export all the activities in progress',
)]

Der Export kann anschließend direkt über die Konsole gestartet werden:

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

Dieser Befehl startet alle laufenden Exporte direkt über die Konsole.

Export mit Shopware Profil

bin/console cnk:csv-orders:export --fromDate 2023-05-15 --toDate 2025-02-01 --exportType sw_profile --mode order --profileName "Default orders" --limit 500

Export mit eigenem Profil

bin/console cnk:csv-orders:export --fromDate 2023-05-15 --toDate 2025-02-01 --exportType config --mode line_items --profileName "WAWI" --limit 500
  • fromDate: Bestellungen von, format Y-m-d
  • toDate: Bestellungen bis, format Y-m-d
  • exportType: Auswahl zwischen sw_profile und config
  • mode: Auswahl zwischen order und line_items
  • profileName: Standardprofil oder vom Benutzer angelegtes Profil
  • limit: Limit der zu exportierenden Bestellungen (Standardwert: 100)