Przejdź do treści

Eksport CSV dla zamówień

Ta wtyczka umożliwia elastyczny eksport zamówień Shopware 6 jako plik CSV – w całości lub filtrowany wg okresu, statusu, metody płatności i wielu innych kryteriów. Dzięki indywidualnym profilom możesz swobodnie definiować pola i dostosowywać eksporty do swoich konkretnych potrzeb.

Najważniejsze funkcje

  • Eksportuj zamówienia jako CSV – elastycznie, z filtrowaniem, automatyzowalne
  • 🔁 Całkowicie automatyczny eksport przez harmonogram (Scheduled Task / Cronjob)
  • ✉️ Wysyłka e-mailem lub przesyłanie przez FTP
  • 🧩 Swobodnie definiowalnie pola eksportu z sortowaniem i filtrami
  • 🛠️ Format CSV w pełni konfigurowalny (separator, data, kodowanie itp.)
  • 🗂️ Inne formaty eksportu: XLSX, JSON, XML oprócz CSV (In-App Purchase)
  • 🏢 Szablony ERP dla DATEV, JTL-Wawi, Billbee, Xentral & Lexware (In-App Purchase)
  • 🔄 Export Delta/Inkrementalny – tylko nowe lub zmienione zamówienia (In-App Purchase)

❓ Najczęściej zadawane pytania

Czy mogę zautomatyzować eksport?

Tak, wtyczka obsługuje automatyczny eksport poprzez zaplanowane zadania Shopware (Cronjobs). Plik CSV można tworzyć automatycznie i wysyłać e-mailem lub FTP.

Czy mogę tworzyć niestandardowe profile eksportu?

Tak, możesz tworzyć indywidualne profile eksportu i określać, które pola mają być eksportowane i w jakiej kolejności.

Czy obsługiwane są pola dodatkowe (Custom Fields)?

Tak, wtyczka obsługuje pola dodatkowe dla zamówień, klientów, produktów i linii zamówienia.

Ile zamówień mogę eksportować jednocześnie?

Maksymalna liczba zamówień jest konfigurowana w konfiguracji wtyczki. Bardzo duże ilości danych można również eksportować przez CLI.

W jakich formatach mogę eksportować?

Domyślnie w CSV. Z In-App Purchase « Formaty Pro & Szablony ERP » także w Excel (XLSX), JSON lub XML – konfigurowalne per profil.

Czy obsługiwane są systemy ERP/Zarządzania zapasami?

Tak. Z In-App Purchase « Formaty Pro & Szablony ERP » dostępne są szablony one-click dla DATEV, JTL-Wawi, Billbee, Xentral i Lexware, które automatycznie wstępnie wypełniają wybór pól i ustawienia formatowania.

Czy mogę eksportować tylko nowe lub zmienione zamówienia?

Tak, z In-App Purchase « Export Delta ». Eksportowane są tylko zamówienia utworzone lub zmienione od ostatniego pomyślnego eksportu – idealne do synchronizacji z systemem zarządzania zapasami bez duplikatów.

Dlaczego moje automatyczne eksporty uruchamiają się tylko wtedy, gdy administracja jest otwarta?

Zaplanowane eksporty wymagają aktywnego pracownika w tle (Shopware Message Queue / zaplanowane zadania) – jak każde inne zaplanowane zadanie w Shopware. Dla Shopware Cloud i większości Managed Hostings ten pracownik jest już aktywny. W przeciwnym razie poproś dostawcę hostingu o aktywowanie pracownika – lub wezwij zadanie przez Cron za pomocą standardowego polecenia Shopware bin/console scheduled-task:run-single cnk_order_csv_export.task (zobacz Wysyłka automatyczna). Eksporty ręczne działają również bez pracownika.

order-2.png

🔧 Instalacja

  • Wymagania wstępne (Plugin CNK Foundation)
  • Instalacja przez Store lub ZIP
  • Aktywacja & Widoczność w Backend install.png activate.png

🕒 Wysyłka automatyczna (Harmonogram)

Eksport oparty na czasie (Automatyzacja) jest wykonywany poprzez Pracownika w tle Shopware – dokładnie tak samo jak wszystkie inne zaplanowane zadania w Shopware. Na prawidłowo obsługiwanym sklepie eksport zatem uruchamia się całkowicie automatycznie, bez ręcznej interwencji.

Wymaganie wstępne: Aktywny pracownik w tle

Zaplanowane zadania i Kolejka Wiadomości muszą działać w tle. Istnieją dwa typowe warianty:

  • Admin-Worker (Standardowy): uruchamia się tylko, gdy strona administracyjna jest otwarta w przeglądarce – nie nadaje się do nienadzorowanej operacji.
  • CLI-Worker (produkcyjny, zalecany): stale uruchamiane procesy, np. przez Supervisor/systemd lub Cron:
    bin/console scheduled-task:run
    bin/console messenger:consume async
    

Dla Shopware Cloud i większości Managed Hostings pracownik jest już aktywny. W przeciwnym razie aktywuj go lub poproś dostawcę hostingu o to.

Bez stałego pracownika: bezpośredni cronjob

Jeśli Twój hosting nie może uruchomić stałego pracownika, wezwij zaplanowane zadanie przez Cron za pomocą standardowego polecenia Shopware bezpośrednio (synchronicznie, bez Message Queue):

*/5 * * * * /usr/bin/php /ścieżka/do/sklepu/bin/console scheduled-task:run-single cnk_order_csv_export.task
Eksport uruchamia się wtedy bezpośrednio w uruchomieniu Cron (tworzenie CSV + wysyłka e-mailem/FTP); status jest widoczny w dzienniku eksportu.

🧩 Zarządzaj profilami

Profile eksportu określają, jakie dane znajdują się w pliku CSV i w jakiej kolejności się pojawiają. Profile znajdują się w obszarze administracji Shopware w Zamówienia > Eksport CSV > Profile.

settings-1.png profile-1.png

W profilu możesz precyzyjnie określić, które pola powinny być zawarte w eksportowanym pliku CSV. Poprzez przycisk « Dodaj pole » możesz indywidualnie wybierać i organizować pola zamówienia, klienta, produktu i adresu. Kolejność pól w profilu odpowiada kolejności kolumn w pliku CSV.

profile-2.png

🗂️ Formaty eksportu & Szablony ERP

In-App Purchase « Formaty Pro & Szablony ERP »

Te funkcje można włączyć poprzez In-App Purchase bezpośrednio w obszarze administracji Shopware.

Oprócz standardowego formatu CSV możesz również eksportować swoje profile eksportu jako Excel (XLSX), JSON lub XML.

Format eksportu jest ustawiany na profil w zakładce Konfiguracja poprzez pole « Format pliku » i jest stosowany po stronie serwera do wszystkich ścieżek eksportu (ręczny, szybki eksport, harmonogram, Flow Builder i CLI). Jeśli In-App Purchase nie jest aktywny, eksport automatycznie wraca do CSV.

Włącz format Pro

  1. Otwórz profil w Zamówienia > Eksport CSV > Profile i przejdź do zakładki Konfiguracja.
  2. Wybierz format Pro (XLSX, JSON lub XML) w Format pliku. Jeśli zakup nie jest jeszcze aktywny, pojawia się wiadomość z przyciskiem « Włącz ».
  3. Po zakupie format jest natychmiast dostępny i jest stosowany podczas zapisywania.

Zastosuj szablony ERP

Szablony ERP wstępnie wypełniają jednym kliknięciem odpowiedni wybór pól oraz ustawienia separatora, liczby, daty i kodowania dla systemu docelowego:

Szablon System docelowy
DATEV DATEV / Księgowość
JTL-Wawi JTL Zarządzanie zapasami
Billbee Billbee
Xentral Xentral ERP
Lexware Lexware

Aby zastosować szablon:

  1. Upewnij się, że In-App Purchase « Formaty Pro & Szablony ERP » jest aktywny.
  2. Wybierz żądany system w Szablon ERP w profilu i kliknij « Zastosuj szablon ».
  3. Wybór pól i ustawienia formatowania są stosowane. Wybrany Format pliku jest zachowywany – możesz na przykład eksportować wybór pól DATEV również jako XLSX.

💡 Zastosowanie szablonu zastępuje bieżący wybór pól profilu. W razie potrzeby dostosuj pola później i zapisz profil.

🔄 Export inkrementalny / Delta

In-App Purchase « Export Delta »

Ta funkcja może być włączona poprzez osobny In-App Purchase bezpośrednio w obszarze administracji Shopware.

W eksporcie delta przy każdym uruchomieniu eksportowane są tylko zamówienia utworzone lub zmienione od ostatniego pomyślnego eksportu. Utrzymuje to system zarządzania zapasami lub księgowość zsynchronizowany bez duplikatów i – zwłaszcza dla dużych ilości zamówień – oszczędza czas i objętość danych.

  • Włączalne na profil poprzez przełącznik « Export Delta/Inkrementalny » w zakładce Konfiguracja.
  • Uwzględnia zamówienia na podstawie daty utworzenia lub modyfikacji (createdAt/updatedAt), więc nawet zamówienia zmienione później są ponownie eksportowane.
  • Delta-Stand (Wasserzeichen) jest aktualizowany tylko po pomyślnym eksporcie – jeśli uruchomienie się nie powiedzie, żadne zamówienie nie zostaje utracone.
  • Działa we wszystkich ścieżkach eksportu: Harmonogram, Flow Builder i CLI (Profil Config).

Konfiguruj eksport Delta

  1. Otwórz profil i przejdź do zakładki Konfiguracja.
  2. Włącz przełącznik « Export Delta/Inkrementalny ». Jeśli zakup nie jest jeszcze aktywny, pojawia się wiadomość z przyciskiem « Włącz ».
  3. Zapisz profil. Od następnego uruchomienia będą eksportowane tylko nowe lub zmienione zamówienia.

Zresetuj Delta-Stand

Jeśli chcesz ponownie wyeksportować wszystkie zamówienia (np. dla pełnej synchronizacji początkowej), zresetuj Wasserzeichen:

  1. Otwórz profil w zakładce Konfiguracja.
  2. Kliknij « Zresetuj » w wiadomości Delta i zapisz profil.
  3. Następne uruchomienie ponownie eksportuje wszystkie pasujące zamówienia i ustawia nowy Wasserzeichen.

💡 Export Delta używa czasu rozpoczęcia eksportu jako Wasserzeichen. W ten sposób w najgorszym przypadku kilka zamówień zostaje wyeksportowanych dwukrotnie, zamiast być pominiętych – idealne dla idempotentnych importów (Upserts) w zarządzaniu zapasami.

Zmienne

💡 Nazwy pól muszą być akceptowane dokładnie tak, jak określono w lewej kolumnie.

Poniższy przegląd pokazuje wszystkie dostępne zmienne, które mogą być używane w profilu eksportu. Te określają, jakie dane pojawiają się w pliku CSV – na przykład ogólne dane zamówienia, informacje o kliencie, pola adresu lub szczegóły produktu. Nazwy pól w lewej kolumnie są konfigurowane w profilu, prawa kolumna opisuje zawartość.

🧾 Ogólne dane zamówienia

Nazwa pola Opis
id ID zamówienia
order_number Numer zamówienia
order_date Data zamówienia
order_date_time Data i godzina zamówienia
sales_channel Kanał sprzedaży
payment_method Metoda płatności
shipping_method Metoda wysyłki
amount_total Kwota całkowita
amount_net Kwota netto
position_price Cena brutto pozycji
currency_name Waluta
currency_short_name Waluta (skrót)
shipping_total Koszty wysyłki
affiliate_code Kod afilianta
customer_comment Komentarz klienta
internal_comment Komentarz wewnętrzny
transactions_state_machine_state Status płatności
deliveries_state_machine_state Status wysyłki
order_state Status zamówienia
tags Tagi
currency_factor Współczynnik waluty
tax_status Status podatkowy
tax_calculation_type Typ obliczenia podatku
deep_link_code Kod linku głębokie
auto_increment Numer sekwencyjny
campaign_code Kod kampanii
source Źródło
created_at Utworzono
updated_at Zaktualizowano
order_language Język zamówienia
sales_channel_id ID kanału sprzedaży
currency_id ID waluty
language_id ID języka
state_id ID statusu
billing_address_id ID adresu rozliczeniowego

📦 Wiersze zamówienia

Nazwa pola Opis
line_items_id ID pozycji
line_items_order_number Numer zamówienia (Pozycja)
line_items_label Nazwa
line_items_description Opis
line_items_quantity Ilość
line_items_unit_price Cena jednostkowa
line_items_total_price Cena całkowita

👤 Dane klienta

Nazwa pola Opis
company Firma
salutation Powitanie
first_name Imię
last_name Nazwisko
email Adres e-mail
birthday Data urodzenia
order_count Liczba zamówień
customer_number Numer klienta
customer_id ID klienta
customer_group Grupa klientów
customer_language Język klienta
customer_register_date Data rejestracji
customer_remote_address Adres IP
vat_ids Numery NIP
customer_first_login Pierwsze logowanie
customer_last_login Ostatnie logowanie
customer_last_order_date Data ostatniego zamówienia
customer_order_total_amount Całkowita kwota zamówienia
customer_review_count Liczba recenzji
customer_tags Tagi klienta
customer_account_type Typ konta
customer_last_payment_method Ostatnia metoda płatności
order_customer_number Numer klienta zamówienia
customer_company Firma (Klient)
customer_title Tytuł
customer_active Aktywny
customer_guest Konto gościa

🚚 Adres wysyłki

Nazwa pola Opis
shipping_address_company Firma
shipping_address_department Wydział
shipping_address_salutation Powitanie
shipping_address_title Tytuł
shipping_address_first_name Imię
shipping_address_last_name Nazwisko
shipping_address_street Ulica
shipping_address_street_name Nazwa ulicy
shipping_address_street_number Numer domu
shipping_address_zipcode Kod pocztowy
shipping_address_city Miasto
shipping_address_phone_number Numer telefonu
shipping_address_additional_address_line1 Dodatkowa linia adresu 1
shipping_address_additional_address_line2 Dodatkowa linia adresu 2
shipping_address_country_name Kraj
shipping_address_country_iso Kraj (ISO)
shipping_address_country_iso3 Kraj (ISO3)

🧾 Adres rozliczeniowy

Nazwa pola Opis
billing_address_company Firma
billing_address_department Wydział
billing_address_salutation Powitanie
billing_address_title Tytuł
billing_address_first_name Imię
billing_address_last_name Nazwisko
billing_address_street Ulica
billing_address_street_name Nazwa ulicy
billing_address_street_number Numer domu
billing_address_zipcode Kod pocztowy
billing_address_city Miasto
billing_address_additional_address_line1 Dodatkowa linia adresu 1
billing_address_additional_address_line2 Dodatkowa linia adresu 2
billing_address_country_name Kraj
billing_address_country_iso Kraj (ISO)
billing_address_country_iso3 Kraj (ISO3)

🛒 Dane produktu

Nazwa pola Opis
line_items_product_id ID produktu
line_items_product_number Numer produktu
line_items_product_name Nazwa produktu
line_items_product_description Opis
line_items_product_manufacturer_number Numer producenta
line_items_product_ean EAN
line_items_product_stock Zapasy
line_items_product_available_stock Dostępne zapasy
line_items_product_max_purchase Maks. ilość
line_items_product_min_purchase Min. ilość
line_items_product_purchase_prices Cena zakupu
line_items_product_shipping_free Bezpłatna wysyłka
line_items_product_weight Waga
line_items_product_width Szerokość
line_items_product_height Wysokość
line_items_product_length Długość
line_items_product_category_ids ID kategorii
line_items_product_category_names Nazwy kategorii
line_items_product_release_date Data wydania
line_items_product_manufacturer_name Nazwa producenta
line_items_product_tags_names Tagi produktu
line_items_product_tax_name Nazwa stawki podatku
line_items_product_tax_rate Stawka podatku (%)
line_items_product_properties Właściwości

🧬 Szczegóły pozycji (Ładunek)

Dane migawki przechowywane w momencie zakupu w wierszu zamówienia.

Nazwa pola Opis
line_items_payload_mark_as_topseller Oznaczono jako bestseller
line_items_payload_product_type Typ produktu
line_items_payload_product_number Numer produktu (Ładunek)
line_items_payload_manufacturer_name Nazwa producenta
line_items_payload_category_names Nazwy kategorii
line_items_payload_is_new Oznaczono jako nowe

📄 Dokumenty

Pola z wygenerowanych dokumentów (Faktura, Potwierdzenie dostawy i – jeśli zainstalowana jest wtyczka Pickware – Lista pobrania Pickware / Paragon POS). Wartości są wypełniane dopiero po utworzeniu odpowiedniego dokumentu dla zamówienia.

Faktura

Nazwa pola Opis
documents_invoice_date Data
documents_invoice_datetime Data & Godzina
documents_invoice_document_number Numer dokumentu
documents_invoice_company_name Nazwa firmy
documents_invoice_company_street Ulica firmy
documents_invoice_company_zipcode Kod pocztowy firmy
documents_invoice_company_city Miasto firmy
documents_invoice_company_country Kraj firmy
documents_invoice_company_email E-mail firmy
documents_invoice_company_phone Telefon firmy
documents_invoice_company_url URL firmy
documents_invoice_payment_due_date Termin płatności
documents_invoice_tax_number Numer identyfikacyjny podatnika
documents_invoice_vat_id Numer NIP
documents_invoice_bank_name Nazwa banku
documents_invoice_bank_iban IBAN
documents_invoice_bank_bic BIC
documents_invoice_place_of_jurisdiction Sąd właściwy
documents_invoice_place_of_fulfillment Miejsce wykonania
documents_invoice_executive_director Dyrektor wykonawczy
documents_invoice_company_address Adres firmy
documents_invoice_document_comment Komentarz dokumentu

Potwierdzenie dostawy

Nazwa pola Opis
documents_delivery_note_date Data
documents_delivery_note_datetime Data & Godzina
documents_delivery_note_document_number Numer dokumentu
documents_delivery_note_company_name Nazwa firmy
documents_delivery_note_company_street Ulica firmy
documents_delivery_note_company_zipcode Kod pocztowy firmy
documents_delivery_note_company_city Miasto firmy
documents_delivery_note_company_country Kraj firmy
documents_delivery_note_company_email E-mail firmy
documents_delivery_note_company_phone Telefon firmy
documents_delivery_note_company_url URL firmy
documents_delivery_note_payment_due_date Termin płatności
documents_delivery_note_tax_number Numer identyfikacyjny podatnika
documents_delivery_note_vat_id Numer NIP
documents_delivery_note_bank_name Nazwa banku
documents_delivery_note_bank_iban IBAN
documents_delivery_note_bank_bic BIC
documents_delivery_note_place_of_jurisdiction Sąd właściwy
documents_delivery_note_place_of_fulfillment Miejsce wykonania
documents_delivery_note_executive_director Dyrektor wykonawczy
documents_delivery_note_company_address Adres firmy
documents_delivery_note_document_comment Komentarz dokumentu

Lista pobrania Pickware ERP

Nazwa pola Opis
documents_pickware_erp_picklist_document_date Data dokumentu
documents_pickware_erp_picklist_document_datetime Data dokumentu & Godzina
documents_pickware_erp_picklist_document_number Numer dokumentu
documents_pickware_erp_picklist_company_name Nazwa firmy
documents_pickware_erp_picklist_company_street Ulica firmy
documents_pickware_erp_picklist_company_zipcode Kod pocztowy firmy
documents_pickware_erp_picklist_company_city Miasto firmy
documents_pickware_erp_picklist_company_country Kraj firmy
documents_pickware_erp_picklist_company_email E-mail firmy
documents_pickware_erp_picklist_company_phone Telefon firmy
documents_pickware_erp_picklist_company_url URL firmy
documents_pickware_erp_picklist_payment_due_date Termin płatności
documents_pickware_erp_picklist_tax_number Numer identyfikacyjny podatnika
documents_pickware_erp_picklist_vat_id Numer NIP
documents_pickware_erp_picklist_bank_name Nazwa banku
documents_pickware_erp_picklist_bank_iban IBAN
documents_pickware_erp_picklist_bank_bic BIC
documents_pickware_erp_picklist_place_of_jurisdiction Sąd właściwy
documents_pickware_erp_picklist_place_of_fulfillment Miejsce wykonania
documents_pickware_erp_picklist_executive_director Dyrektor wykonawczy
documents_pickware_erp_picklist_company_address Adres firmy
documents_pickware_erp_picklist_document_comment Komentarz dokumentu

Paragon Pickware POS

Nazwa pola Opis
documents_pickware_pos_receipt_document_number Numer dokumentu
documents_pickware_pos_receipt_document_date Data dokumentu
documents_pickware_pos_receipt_invoice_number Numer faktury

Pola dodatkowe (Custom Fields)

Oprócz pól wymienionych powyżej, okno dialogowe wyboru pól automatycznie wyświetla pola dodatkowe zdefiniowane w Twoim sklepie dla zamówień, klientów, produktów i wierszy zamówienia.

⚡ Szybki eksport poprzez przegląd zamówień

  • Bezpośredni eksport wybranych zamówień
  • Bezpośredni eksport filtrowanych zamówień

order-1.png

  • Wybór profilu z listy rozwijanej order-2.png

🔁 Zadania (Automatyzacja)

  • Objaśnienie: Scheduled Task / Cronjob
  • Opcje konfigurowalne:
    • Interwał czasu lub stałe dni tygodnia + godzina
    • Cel FTP / E-mail
    • Wybór profilu (w tym format, szablon ERP i eksport delta wybranego profilu)

Wymaganie wstępne: Aktywny pracownik w tle

Zaplanowane eksporty są wykonywane poprzez Pracownika w tle Twojego sklepu (Shopware Message Queue & zaplanowane zadania). Dla Shopware Cloud i większości Managed Hostings, jest on domyślnie aktywny – nie musisz nic więcej konfigurować.

Jeśli eksporty uruchamiają się tylko gdy administracja jest otwarta, w Twoim sklepie nie ma pracownika w tle. W takim przypadku poproś dostawcę hostingu o aktywowanie pracownika (technicznie: wyłącz « Admin-Worker » i uruchamiaj bin/console messenger:consume oraz bin/console scheduled-task:run jako usługę lub Cron – zobacz Shopware Message Queue). Eksporty ręczne działają również bez pracownika.

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

📊 Działalność & Rejestrowanie

  • Historii eksportu & Status (Sukces/Błąd)
  • Plik CSV-Log: Odbiorcy, Ścieżka FTP, Sygnatura czasowa
  • Dzienniki znajdują się w Zamówienia > Eksport CSV > Działalność activity-1.png

  • Wynik wygląda tak activity-2.png

🖥️ Eksport przez linię poleceń (CLI)

Szybki eksport bieżących działań

Eksport dużych ilości danych – nawet ponad 10 000 zamówień – jest możliwy. Wbudowany pasek postępu pokazuje postęp eksportu.

Aby nie czekać na kolejkę, możesz ręcznie wyzwolić eksport – np. dla natychmiastowego pobrania CSV po utworzeniu eksportu:

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

Eksport można następnie uruchomić bezpośrednio poprzez konsolę:

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

To polecenie uruchamia wszystkie bieżące eksporty bezpośrednio poprzez konsolę.

Eksportuj z profilem Shopware

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

Eksportuj z niestandardowym profilem

bin/console cnk:csv-orders:export --fromDate 2023-05-15 --toDate 2025-02-01 --exportType config --mode line_items --profileName "WAWI" --limit 500
  • fromDate: Zamówienia od, format Y-m-d
  • toDate: Zamówienia do, format Y-m-d
  • exportType: Wybór między sw_profile i config
  • mode: Wybór między order i line_items
  • profileName: Profil standardowy lub profil utworzony przez użytkownika
  • limit: Limit eksportowanych zamówień (Wartość standardowa: 100)

📬 Support

W przypadku pytań, sugestii dotyczących ulepszeń lub dostosowań, prosimy o kontakt za pośrednictwem poczty elektronicznej na adres support@cnk-plugins.de.