Vai al contenuto

Esportazione CSV per gli ordini

Questo plugin consente l'esportazione flessibile degli ordini Shopware 6 come file CSV – completamente o filtrato per periodo, stato, metodo di pagamento e altro ancora. Con profili individuali, è possibile definire liberamente i campi e adattare le esportazioni ai requisiti specifici.

Punti salienti

  • Esportare ordini come CSV – flessibile, filtrabile, automatizzabile
  • 🔁 Esportazione completamente automatica tramite pianificazione (Scheduled Task / Cronjob)
  • ✉️ Invio tramite e-mail o caricamento tramite FTP
  • 🧩 Campi di esportazione liberamente definibili con ordinamento e filtri
  • 🛠️ Formato CSV completamente configurabile (separatore, data, codifica ecc.)
  • 🗂️ Altri formati di esportazione: XLSX, JSON, XML oltre a CSV (In-App Purchase)
  • 🏢 Modelli ERP per DATEV, JTL-Wawi, Billbee, Xentral & Lexware (In-App Purchase)
  • 🔄 Esportazione Delta/Incrementale – solo ordini nuovi o modificati (In-App Purchase)

❓ Domande frequenti

Posso automatizzare l'esportazione?

Sì, il plugin supporta l'esportazione automatica tramite attività pianificate di Shopware (Cronjobs). Il file CSV può essere creato automaticamente e inviato tramite e-mail o FTP.

Posso creare i miei profili di esportazione personalizzati?

Sì, è possibile creare profili di esportazione individuali e determinare quali campi devono essere esportati e in quale ordine.

Sono supportati i campi aggiuntivi (Custom Fields)?

Sì, il plugin supporta i campi aggiuntivi per ordini, clienti, prodotti e righe di ordine.

Quanti ordini posso esportare contemporaneamente?

Il numero massimo di ordini è configurabile nella configurazione del plugin. Inoltre è possibile esportare quantità molto grandi di dati tramite CLI.

In quali formati posso esportare?

Per impostazione predefinita in CSV. Con l'acquisto in-app « Formati Pro & Modelli ERP » anche in Excel (XLSX), JSON o XML – configurabile per profilo.

Sono supportati i sistemi ERP/Gestione inventari?

Sì. Con l'acquisto in-app « Formati Pro & Modelli ERP », sono disponibili modelli one-click per DATEV, JTL-Wawi, Billbee, Xentral e Lexware, che precompilano automaticamente la selezione dei campi e le impostazioni di formato.

Posso esportare solo ordini nuovi o modificati?

Sì, con l'acquisto in-app « Esportazione Delta ». Solo gli ordini creati o modificati dall'ultima esportazione riuscita vengono esportati – ideale per la sincronizzazione con un sistema di gestione inventari senza duplicati.

Perché le mie esportazioni automatiche vengono eseguite solo quando l'amministrazione è aperta?

Le esportazioni pianificate richiedono un worker in background attivo (Shopware Message Queue / attività pianificate) – come qualsiasi altra attività pianificata in Shopware. Per Shopware Cloud e la maggior parte dei Managed Hosting, questo worker è già attivo. Altrimenti, richiedi al tuo provider di hosting di attivare il worker – o chiama l'attività tramite Cron con il comando standard di Shopware bin/console scheduled-task:run-single cnk_order_csv_export.task (vedi Invio automatico). Le esportazioni manuali funzionano anche senza worker.

order-2.png

🔧 Installazione

  • Prerequisiti (Plugin CNK Foundation)
  • Installazione tramite Store o ZIP
  • Attivazione & Visibilità nel Backend install.png activate.png

🕒 Invio automatico (Pianificazione)

L'esportazione basata sul tempo (Automazione) viene eseguita tramite il Worker in background di Shopware – esattamente come tutte le altre attività pianificate in Shopware. Su un negozio correttamente gestito, l'esportazione quindi si esegue completamente automaticamente, senza intervento manuale.

Prerequisito: Worker in background attivo

Le attività pianificate e la coda di messaggi devono essere in esecuzione in background. Ci sono due varianti comuni:

  • Admin-Worker (Standard): viene eseguito solo mentre una pagina di amministrazione è aperta nel browser – non adatto per operazioni senza supervisione.
  • CLI-Worker (produttivo, consigliato): processi permanenti, ad es. tramite Supervisor/systemd o Cron:
    bin/console scheduled-task:run
    bin/console messenger:consume async
    

Per Shopware Cloud e la maggior parte dei Managed Hosting, il worker è già attivo. Altrimenti, attivalo o richiedi al tuo provider di hosting di farlo.

Senza worker permanente: cronjob diretto

Se il tuo hosting non può eseguire un worker permanente, chiama l'attività pianificata tramite Cron con il comando standard di Shopware direttamente (sincrono, senza Message Queue):

*/5 * * * * /usr/bin/php /percorso/negozio/bin/console scheduled-task:run-single cnk_order_csv_export.task
L'esportazione viene quindi eseguita direttamente nell'esecuzione Cron (creazione CSV + invio tramite e-mail/FTP); lo stato è visibile nel registro di esportazione.

🧩 Gestisci profili

I profili di esportazione definiscono quali dati si trovano nel file CSV e in quale ordine appaiono. I profili si trovano nell'area di amministrazione di Shopware in Ordini > Esportazione CSV > Profili.

settings-1.png profile-1.png

All'interno di un profilo, è possibile determinare precisamente quali campi devono essere inclusi nel file CSV esportato. Tramite il pulsante « Aggiungi campo », è possibile selezionare e organizzare individualmente i campi di ordine, cliente, prodotto e indirizzo. L'ordine dei campi nel profilo corrisponde all'ordine delle colonne nel file CSV.

profile-2.png

🗂️ Formati di esportazione & Modelli ERP

Acquisto in-app « Formati Pro & Modelli ERP »

Queste funzioni possono essere abilitate tramite un acquisto in-app direttamente nell'area di amministrazione di Shopware.

Oltre al formato standard CSV, puoi anche esportare i tuoi profili di esportazione come Excel (XLSX), JSON o XML.

Il formato di esportazione è impostato per profilo nella scheda Configurazione tramite il campo « Formato file » e viene applicato lato server a tutti i percorsi di esportazione (manuale, esportazione rapida, pianificazione, Flow Builder e CLI). Se l'acquisto in-app non è attivo, l'esportazione ritorna automaticamente a CSV.

Abilita un formato Pro

  1. Apri un profilo in Ordini > Esportazione CSV > Profili e vai alla scheda Configurazione.
  2. Seleziona un formato Pro (XLSX, JSON o XML) in Formato file. Se l'acquisto non è ancora attivo, compare un messaggio con il pulsante « Abilita ».
  3. Dopo l'acquisto, il formato è immediatamente disponibile e viene applicato al salvataggio.

Applica modelli ERP

I modelli ERP precompilano in un clic la selezione dei campi appropriata così come le impostazioni di separatore, numero, data e codifica per il sistema di destinazione:

Modello Sistema di destinazione
DATEV DATEV / Contabilità
JTL-Wawi JTL Gestione inventari
Billbee Billbee
Xentral Xentral ERP
Lexware Lexware

Per applicare un modello:

  1. Assicurati che l'acquisto in-app « Formati Pro & Modelli ERP » sia attivo.
  2. Seleziona il sistema desiderato in Modello ERP nel profilo e fai clic su « Applica modello ».
  3. La selezione dei campi e le impostazioni di formato vengono applicate. Il Formato file scelto viene conservato – ad esempio, puoi esportare una selezione di campi DATEV anche come XLSX.

💡 L'applicazione di un modello sovrascrive la selezione dei campi corrente del profilo. Adatta i campi in seguito se necessario e salva il profilo.

🔄 Esportazione incrementale / Delta

Acquisto in-app « Esportazione Delta »

Questa funzione può essere abilitata tramite un acquisto in-app separato direttamente nell'area di amministrazione di Shopware.

Con l'esportazione delta, ad ogni esecuzione vengono esportati solo gli ordini creati o modificati dall'ultimo export riuscito. Questo mantiene un sistema di gestione inventari o contabilità sincronizzato senza duplicati e – specialmente per grandi quantità di ordini – risparmia tempo e volume di dati.

  • Abilitabile per profilo tramite l'interruttore « Esportazione Delta/Incrementale » nella scheda Configurazione.
  • Considera gli ordini in base alla data di creazione o modifica (createdAt/updatedAt), quindi anche gli ordini modificati successivamente vengono riesportati.
  • Il Delta-Stand (Wasserzeichen) viene aggiornato solo dopo un export riuscito – se un'esecuzione fallisce, nessun ordine viene perso.
  • Funziona su tutti i percorsi di esportazione: Pianificazione, Flow Builder e CLI (Profilo Config).

Configura esportazione Delta

  1. Apri un profilo e vai alla scheda Configurazione.
  2. Abilita l'interruttore « Esportazione Delta/Incrementale ». Se l'acquisto non è ancora attivo, compare un messaggio con il pulsante « Abilita ».
  3. Salva il profilo. Dalla successiva esecuzione, verranno esportati solo gli ordini nuovi o modificati.

Ripristina Delta-Stand

Se desideri riesportare tutti gli ordini (ad es. per una sincronizzazione iniziale completa), reimposta il Wasserzeichen:

  1. Apri il profilo nella scheda Configurazione.
  2. Fai clic su « Ripristina » nel messaggio Delta e salva il profilo.
  3. L'esecuzione successiva riesporta tutti gli ordini corrispondenti e quindi imposta un nuovo Wasserzeichen.

💡 L'esportazione Delta utilizza l'ora di inizio dell'esportazione come Wasserzeichen. In questo modo, nel peggiore dei casi, alcuni ordini vengono esportati due volte piuttosto che essere saltati – ideale per importazioni idempotenti (Upserts) nella gestione inventari.

Variabili

💡 I nomi dei campi devono essere accettati esattamente come specificato nella colonna di sinistra.

La seguente panoramica mostra tutte le variabili disponibili che possono essere utilizzate in un profilo di esportazione. Questi determinano quali dati appaiono nel file CSV – ad esempio, dati generali dell'ordine, informazioni del cliente, campi di indirizzo o dettagli del prodotto. I nomi dei campi nella colonna di sinistra vengono configurati nel profilo, la colonna di destra descrive il contenuto.

🧾 Dati generali dell'ordine

Nome del campo Descrizione
id ID ordine
order_number Numero ordine
order_date Data ordine
order_date_time Data e ora ordine
sales_channel Canale vendita
payment_method Metodo di pagamento
shipping_method Metodo di spedizione
amount_total Importo totale
amount_net Importo netto
position_price Prezzo lordo della riga
currency_name Valuta
currency_short_name Valuta (abbreviato)
shipping_total Costi di spedizione
affiliate_code Codice affiliato
customer_comment Commento del cliente
internal_comment Commento interno
transactions_state_machine_state Stato pagamento
deliveries_state_machine_state Stato spedizione
order_state Stato ordine
tags Etichette
currency_factor Fattore di valuta
tax_status Stato fiscale
tax_calculation_type Tipo calcolo fiscale
deep_link_code Codice deep link
auto_increment Numero sequenziale
campaign_code Codice campagna
source Fonte
created_at Creato il
updated_at Modificato il
order_language Lingua ordine
sales_channel_id ID canale vendita
currency_id ID valuta
language_id ID lingua
state_id ID stato
billing_address_id ID indirizzo fatturazione

📦 Righe ordine

Nome del campo Descrizione
line_items_id ID riga
line_items_order_number Numero ordine (Riga)
line_items_label Nome
line_items_description Descrizione
line_items_quantity Quantità
line_items_unit_price Prezzo unitario
line_items_total_price Prezzo totale

👤 Dati cliente

Nome del campo Descrizione
company Azienda
salutation Titolo
first_name Nome
last_name Cognome
email Indirizzo e-mail
birthday Data di nascita
order_count Numero ordini
customer_number Numero cliente
customer_id ID cliente
customer_group Gruppo clienti
customer_language Lingua cliente
customer_register_date Data registrazione
customer_remote_address Indirizzo IP
vat_ids Numeri di partita IVA
customer_first_login Primo accesso
customer_last_login Ultimo accesso
customer_last_order_date Data ultimo ordine
customer_order_total_amount Importo totale ordini
customer_review_count Numero recensioni
customer_tags Etichette cliente
customer_account_type Tipo di account
customer_last_payment_method Ultimo metodo di pagamento
order_customer_number Numero cliente ordine
customer_company Azienda (Cliente)
customer_title Titolo
customer_active Attivo
customer_guest Account ospite

🚚 Indirizzo di spedizione

Nome del campo Descrizione
shipping_address_company Azienda
shipping_address_department Dipartimento
shipping_address_salutation Titolo
shipping_address_title Titolo
shipping_address_first_name Nome
shipping_address_last_name Cognome
shipping_address_street Via
shipping_address_street_name Nome via
shipping_address_street_number Numero civico
shipping_address_zipcode CAP
shipping_address_city Città
shipping_address_phone_number Numero di telefono
shipping_address_additional_address_line1 Riga indirizzo aggiuntiva 1
shipping_address_additional_address_line2 Riga indirizzo aggiuntiva 2
shipping_address_country_name Paese
shipping_address_country_iso Paese (ISO)
shipping_address_country_iso3 Paese (ISO3)

🧾 Indirizzo di fatturazione

Nome del campo Descrizione
billing_address_company Azienda
billing_address_department Dipartimento
billing_address_salutation Titolo
billing_address_title Titolo
billing_address_first_name Nome
billing_address_last_name Cognome
billing_address_street Via
billing_address_street_name Nome via
billing_address_street_number Numero civico
billing_address_zipcode CAP
billing_address_city Città
billing_address_additional_address_line1 Riga indirizzo aggiuntiva 1
billing_address_additional_address_line2 Riga indirizzo aggiuntiva 2
billing_address_country_name Paese
billing_address_country_iso Paese (ISO)
billing_address_country_iso3 Paese (ISO3)

🛒 Dati prodotto

Nome del campo Descrizione
line_items_product_id ID prodotto
line_items_product_number Numero prodotto
line_items_product_name Nome prodotto
line_items_product_description Descrizione
line_items_product_manufacturer_number Numero produttore
line_items_product_ean EAN
line_items_product_stock Inventario
line_items_product_available_stock Inventario disponibile
line_items_product_max_purchase Quantità massima
line_items_product_min_purchase Quantità minima
line_items_product_purchase_prices Prezzo d'acquisto
line_items_product_shipping_free Spedizione gratuita
line_items_product_weight Peso
line_items_product_width Larghezza
line_items_product_height Altezza
line_items_product_length Lunghezza
line_items_product_category_ids ID categoria
line_items_product_category_names Nomi categoria
line_items_product_release_date Data rilascio
line_items_product_manufacturer_name Nome produttore
line_items_product_tags_names Etichette prodotto
line_items_product_tax_name Nome aliquota fiscale
line_items_product_tax_rate Aliquota fiscale (%)
line_items_product_properties Proprietà

🧬 Dettagli riga (Payload)

Dati snapshot memorizzati al momento dell'acquisto sulla riga dell'ordine.

Nome del campo Descrizione
line_items_payload_mark_as_topseller Contrassegnato come bestseller
line_items_payload_product_type Tipo prodotto
line_items_payload_product_number Numero prodotto (Payload)
line_items_payload_manufacturer_name Nome produttore
line_items_payload_category_names Nomi categoria
line_items_payload_is_new Contrassegnato come nuovo

📄 Documenti

Campi da documenti generati (Fattura, Documento di trasporto e – se il plugin Pickware è installato – Lista di prelievo Pickware / Ricevuta POS). I valori vengono compilati solo dopo che il documento rispettivo è stato creato per l'ordine.

Fattura

Nome del campo Descrizione
documents_invoice_date Data
documents_invoice_datetime Data & Ora
documents_invoice_document_number Numero documento
documents_invoice_company_name Nome azienda
documents_invoice_company_street Via azienda
documents_invoice_company_zipcode CAP azienda
documents_invoice_company_city Città azienda
documents_invoice_company_country Paese azienda
documents_invoice_company_email E-mail azienda
documents_invoice_company_phone Telefono azienda
documents_invoice_company_url URL azienda
documents_invoice_payment_due_date Data scadenza pagamento
documents_invoice_tax_number Numero fiscale
documents_invoice_vat_id Numero partita IVA
documents_invoice_bank_name Nome banca
documents_invoice_bank_iban IBAN
documents_invoice_bank_bic BIC
documents_invoice_place_of_jurisdiction Foro competente
documents_invoice_place_of_fulfillment Luogo di adempimento
documents_invoice_executive_director Direttore esecutivo
documents_invoice_company_address Indirizzo azienda
documents_invoice_document_comment Commento documento

Documento di trasporto

Nome del campo Descrizione
documents_delivery_note_date Data
documents_delivery_note_datetime Data & Ora
documents_delivery_note_document_number Numero documento
documents_delivery_note_company_name Nome azienda
documents_delivery_note_company_street Via azienda
documents_delivery_note_company_zipcode CAP azienda
documents_delivery_note_company_city Città azienda
documents_delivery_note_company_country Paese azienda
documents_delivery_note_company_email E-mail azienda
documents_delivery_note_company_phone Telefono azienda
documents_delivery_note_company_url URL azienda
documents_delivery_note_payment_due_date Data scadenza pagamento
documents_delivery_note_tax_number Numero fiscale
documents_delivery_note_vat_id Numero partita IVA
documents_delivery_note_bank_name Nome banca
documents_delivery_note_bank_iban IBAN
documents_delivery_note_bank_bic BIC
documents_delivery_note_place_of_jurisdiction Foro competente
documents_delivery_note_place_of_fulfillment Luogo di adempimento
documents_delivery_note_executive_director Direttore esecutivo
documents_delivery_note_company_address Indirizzo azienda
documents_delivery_note_document_comment Commento documento

Lista di prelievo Pickware ERP

Nome del campo Descrizione
documents_pickware_erp_picklist_document_date Data documento
documents_pickware_erp_picklist_document_datetime Data documento & Ora
documents_pickware_erp_picklist_document_number Numero documento
documents_pickware_erp_picklist_company_name Nome azienda
documents_pickware_erp_picklist_company_street Via azienda
documents_pickware_erp_picklist_company_zipcode CAP azienda
documents_pickware_erp_picklist_company_city Città azienda
documents_pickware_erp_picklist_company_country Paese azienda
documents_pickware_erp_picklist_company_email E-mail azienda
documents_pickware_erp_picklist_company_phone Telefono azienda
documents_pickware_erp_picklist_company_url URL azienda
documents_pickware_erp_picklist_payment_due_date Data scadenza pagamento
documents_pickware_erp_picklist_tax_number Numero fiscale
documents_pickware_erp_picklist_vat_id Numero partita IVA
documents_pickware_erp_picklist_bank_name Nome banca
documents_pickware_erp_picklist_bank_iban IBAN
documents_pickware_erp_picklist_bank_bic BIC
documents_pickware_erp_picklist_place_of_jurisdiction Foro competente
documents_pickware_erp_picklist_place_of_fulfillment Luogo di adempimento
documents_pickware_erp_picklist_executive_director Direttore esecutivo
documents_pickware_erp_picklist_company_address Indirizzo azienda
documents_pickware_erp_picklist_document_comment Commento documento

Ricevuta Pickware POS

Nome del campo Descrizione
documents_pickware_pos_receipt_document_number Numero documento
documents_pickware_pos_receipt_document_date Data documento
documents_pickware_pos_receipt_invoice_number Numero fattura

Campi aggiuntivi (Custom Fields)

Oltre ai campi elencati sopra, la finestra di dialogo di selezione dei campi mostra automaticamente i campi aggiuntivi definiti nel tuo negozio per ordini, clienti, prodotti e righe di ordine.

⚡ Esportazione rapida tramite la panoramica ordini

  • Esportazione diretta degli ordini selezionati
  • Esportazione diretta degli ordini filtrati

order-1.png

  • Selezione di un profilo nell'elenco a discesa order-2.png

🔁 Processi (Automazione)

  • Spiegazione: Scheduled Task / Cronjob
  • Opzioni configurabili:
    • Intervallo di tempo o giorni della settimana fissi + ora
    • Destinazione FTP / E-mail
    • Scelta del profilo (incluso formato, modello ERP ed esportazione delta del profilo scelto)

Prerequisito: Worker in background attivo

Le esportazioni pianificate vengono eseguite tramite il Worker in background del tuo negozio (Shopware Message Queue & attività pianificate). Per Shopware Cloud e la maggior parte dei Managed Hosting, è attivo per impostazione predefinita – non è necessario configurare nulla di più.

Se le esportazioni vengono eseguite solo quando l'amministrazione è aperta, non c'è alcun worker in background disponibile nel tuo negozio. In questo caso, richiedi al tuo provider di hosting di attivare il worker (tecnicamente: disattiva il « Admin-Worker » ed esegui bin/console messenger:consume così come bin/console scheduled-task:run come servizio o Cron – vedi Shopware Message Queue). Le esportazioni manuali funzionano anche senza worker.

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

📊 Attività & Registrazione

  • Cronologia esportazione & Stato (Successo/Errore)
  • File CSV-Log: Destinatario, Percorso FTP, Timestamp
  • I registri si trovano in Ordini > Esportazione CSV > Attività activity-1.png

  • Il risultato appare così activity-2.png

🖥️ Esportazione tramite riga di comando (CLI)

Esportazione rapida delle attività in corso

L'esportazione di grandi quantità di dati – anche più di 10.000 ordini – è possibile. Una barra di progresso integrata mostra l'avanzamento dell'esportazione.

Per non aspettare la coda, puoi attivare manualmente l'esportazione – ad es. per il download immediato di CSV dopo la creazione di un'esportazione:

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

L'esportazione può quindi essere avviata direttamente tramite la console:

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

Questo comando avvia tutte le esportazioni in corso direttamente tramite la console.

Esporta con profilo 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

Esporta con profilo personalizzato

bin/console cnk:csv-orders:export --fromDate 2023-05-15 --toDate 2025-02-01 --exportType config --mode line_items --profileName "WAWI" --limit 500
  • fromDate: Ordini da, formato Y-m-d
  • toDate: Ordini fino a, formato Y-m-d
  • exportType: Scelta tra sw_profile e config
  • mode: Scelta tra order e line_items
  • profileName: Profilo standard o profilo creato dall'utente
  • limit: Limite degli ordini da esportare (Valore standard: 100)

📬 Support

Per domande, suggerimenti per miglioramenti o personalizzazioni, contattateci per email all'indirizzo support@cnk-plugins.de.