# Import Export CSV e XML per PrestaShop — Guida completa

> Guida all'installazione, alla configurazione e all'uso del modulo DF CSV & XML Pro per PrestaShop 8 e 9: profili, mappatura visiva, formati di colonna, origini FTP/SFTP/URL, pianificazione via cron, log e risoluzione dei problemi.

- Pagina: <https://www.datafirefly.com/it/documentation/import-export-csv-xml-prestashop/>
- Lingua: it
- Aggiornato il: 2026-07-05
- Altre lingue: [fr](https://www.datafirefly.com/documentation/import-export-csv-xml-prestashop/index.md), [en](https://www.datafirefly.com/en/documentation/import-export-csv-xml-prestashop/index.md), [es](https://www.datafirefly.com/es/documentation/import-export-csv-xml-prestashop/index.md), [de](https://www.datafirefly.com/de/documentation/import-export-csv-xml-prestashop/index.md), [pl](https://www.datafirefly.com/pl/documentation/import-export-csv-xml-prestashop/index.md), [pt](https://www.datafirefly.com/pt/documentation/import-export-csv-xml-prestashop/index.md), [nl](https://www.datafirefly.com/nl/documentation/import-export-csv-xml-prestashop/index.md)
- Indice: <https://www.datafirefly.com/it/documentation/llms.txt>

DF CSV & XML Pro è un motore di import/export universale per PrestaShop 8 e 9. Collega qualsiasi file CSV o XML al tuo negozio tramite una mappatura visiva delle colonne, salva ogni configurazione in un profilo riutilizzabile e può recuperare automaticamente i flussi dei tuoi fornitori da FTP, SFTP o un URL. Questa guida copre l'installazione, la creazione di profili, i formati di colonna attesi, la pianificazione via cron, i log e la risoluzione dei problemi.

## Installazione

Vai su **Moduli > Gestore dei moduli > Carica un modulo**, invia il file `dfcsvpro.zip` e clicca su **Installa**. Una volta installato, compare una scheda **DF CSV Pro** in **Parametri avanzati**.

Il modulo non aggiunge alcun override del core di PrestaShop e si disinstalla in modo pulito. Vengono create due tabelle (profili e log) oltre ad alcune variabili di configurazione; vengono rimosse alla disinstallazione.

## Creare un profilo

Un **profilo** descrive un'operazione completa: direzione (import o export), entità, formato, origine, mappatura delle colonne, opzioni e pianificazione. Si rilancia in un clic o si attiva automaticamente via cron. Clicca su **Nuovo profilo**: una procedura guidata ti accompagna in quattro passaggi.

### 1. Generale

Scegli la **direzione** (import / export), l'**entità**, il **formato** (CSV o XML) e la **lingua** di destinazione. Per il CSV, imposta il delimitatore (o lascia il rilevamento automatico), la codifica (UTF-8, ISO-8859-1 o Windows-1252), il numero di righe da saltare prima dell'intestazione e il separatore multivalore (virgola per impostazione predefinita). Per l'XML, puoi indicare il nodo elemento o lasciare che il modulo lo rilevi.

Entità disponibili in **import**: prodotti, combinazioni, categorie, clienti, stock e prezzi. In **export**: prodotti, categorie, clienti, ordini.

### 2. Origine

Seleziona da dove proviene il file (import) o dove depositare il risultato (export): **caricamento manuale**, **URL** (HTTP/HTTPS), **FTP**, **SFTP** o **percorso locale**. Per FTP/SFTP, inserisci host, porta, utente e password, poi usa il pulsante **Prova connessione** per validare prima di salvare.

### 3. Mappatura visiva

Carica un file di esempio (o recuperalo dall'origine remota): il modulo rileva le colonne, mostra un'anteprima delle prime righe e associa automaticamente ogni colonna al campo PrestaShop corretto grazie a un riconoscimento FR/EN (riferimento/SKU, prezzo, quantità/stock, EAN/codice a barre, IVA, ecc.). Regola le associazioni nella tabella; qualsiasi colonna lasciata su «non mappata» viene semplicemente ignorata.

La **chiave di corrispondenza** (passaggio 4) determina come viene trovato un prodotto esistente: ID, riferimento/SKU, EAN-13 o MPN. Assicurati che la colonna corrispondente sia mappata.

### 4. Opzioni e pianificazione

Definisci il comportamento di import: creare gli elementi mancanti, aggiornare quelli esistenti, creare le categorie al volo, scaricare le immagini da URL, sostituire o mantenere le immagini esistenti in aggiornamento, e la dimensione del lotto (righe elaborate per chiamata AJAX). Attiva eventualmente la **pianificazione** e scegli la frequenza (oraria, giornaliera o settimanale). Salva: il profilo compare nell'elenco, pronto per essere eseguito o pianificato.

## Formati di colonna

Il modulo comprende i formati di business di PrestaShop. Ecco le convenzioni attese nei tuoi file:

| Campo | Formato atteso |
| --- | --- |
| Prezzo | Decimale, virgola o punto: `19,90` o `19.90` |
| Booleani (attivo, ecc.) | `1/0`, `yes/no`, `sì/no`, `true/false` |
| Categorie | Nomi o ID separati dal separatore multivalore (predefinito `,`). Creazione al volo opzionale. |
| Immagini | URL separati dal separatore multivalore. La prima diventa l'immagine di copertina. |
| Caratteristiche | `Nome:Valore\|Nome:Valore` |
| Combinazioni | `Gruppo:Valore\|Gruppo:Valore` (es. `Taglia:M\|Colore:Rosso`) |
| Aliquota IVA | Valore numerico (es. `20`), collegato al gruppo di imposte del paese predefinito |

### Combinazioni

La colonna degli attributi segue il formato `Gruppo:Valore|Gruppo:Valore`. I gruppi e i valori di attributo mancanti vengono creati automaticamente, e la combinazione è identificata dal suo insieme esatto di attributi — rieseguire l'import non crea quindi duplicati. Il prodotto padre viene trovato tramite il suo riferimento o ID a seconda della chiave di corrispondenza.

### Caratteristiche

Usa il formato `Nome:Valore|Nome:Valore`. Ogni caratteristica e il suo valore vengono creati se non esistono ancora.

### Categorie, immagini e tag

Questi campi accettano più valori, separati dal separatore multivalore definito nel profilo. Per le categorie, puoi mescolare nomi e ID; la prima immagine elencata funge da copertina.

## Origini remote e sicurezza

In import, il modulo recupera il file da un URL (HTTP/HTTPS, con autenticazione basic se necessario), un server FTP (modalità passiva o attiva), un server SFTP o un percorso locale ristretto alla directory del negozio. In export, può depositare il file generato su FTP/SFTP o in una cartella locale, oppure proporlo per il download.

L'**SFTP** richiede l'estensione PHP `ssh2`. Se manca nel tuo hosting, l'interfaccia lo segnala chiaramente e puoi usare FTP o un URL al suo posto.

Le password FTP/SFTP sono cifrate a riposo nel database (AES-256-CBC, chiave derivata dalla chiave di cifratura del tuo negozio) e non vengono mai restituite al browser in chiaro.

## Import a lotti e ripresa

Gli import manuali vengono eseguiti a lotti successivi in AJAX, con una barra di avanzamento e contatori in tempo reale (OK / errori / totale). Dopo ogni lotto viene memorizzata la posizione esatta: un file di decine di migliaia di righe si importa senza provocare un timeout PHP, anche su hosting condiviso. In modalità cron, l'elaborazione prosegue in modo sincrono fino all'ultima riga.

## Export

Crea un profilo di export scegliendo l'entità (prodotti, categorie, clienti, ordini), il formato (CSV o XML) e i campi da includere. Il file generato viene proposto per il download immediato e/o depositato automaticamente sulla destinazione remota configurata. Gli export vengono generati a lotti per restare performanti su grandi volumi.

## Pianificazione (cron)

Per automatizzare un profilo, attiva la sua pianificazione (passaggio 4) poi richiama l'URL di cron del modulo a intervalli regolari. A ogni chiamata vengono eseguiti solo i profili la cui frequenza è scaduta.

```
*/15 * * * * curl -s "https://il-tuo-negozio.tld/index.php?fc=module&module=dfcsvpro&controller=cron&token=IL_TUO_TOKEN" > /dev/null
```

L'URL esatto e il token si trovano nella scheda **Scheduling / Cron** del modulo, con un pulsante per rigenerare il token. Due parametri facoltativi:

- `&id_profile=N`: esegue solo il profilo indicato.
- `&force=1`: ignora la verifica di frequenza ed esegue il profilo immediatamente.

Il negozio deve essere raggiungibile perché il cron funzioni: la modalità manutenzione blocca i controller front, incluso questo endpoint.

## Log e avvisi via e-mail

Ogni esecuzione viene registrata con il suo stato, i suoi contatori e il dettaglio degli errori riga per riga (i primi 200). La scheda **Logs** elenca lo storico e permette di consultare gli errori di un import. Non appena un import fallisce o contiene righe in errore, un avviso via e-mail (modello FR o EN) viene inviato automaticamente all'indirizzo configurato nelle impostazioni.

## Impostazioni

Nella scheda **Impostazioni**, attiva o disattiva gli avvisi via e-mail, definisci l'indirizzo destinatario, la dimensione del lotto predefinita e il periodo di conservazione dei log (i log più vecchi vengono ripuliti automaticamente). I file temporanei di import/export vengono eliminati dopo 48 ore.

## Formato XML

All'import XML, il nodo elemento ripetuto viene rilevato automaticamente (o indicato nel profilo). Gli elementi vengono appiattiti: gli elementi annidati diventano colonne `padre/figlio`, gli attributi diventano `@attributo`, e gli elementi ripetuti vengono suffissati `nome#1`, `nome#2`. Mappi poi queste colonne appiattite come per un CSV.

## Compatibilità e note tecniche

- Compatibile con PrestaShop 8.0 a 9.x, PHP 7.4 a 8.3, multistore.
- CSV: rilevamento automatico del delimitatore, gestione del BOM, conversione delle codifiche ISO-8859-1 e Windows-1252.
- Clienti importati con password cifrata in bcrypt e assegnati a un gruppo per nome.
- Nessun override del core; l'AJAX legacy usa le convenzioni di PS9.

## Risoluzione dei problemi

**L'interfaccia del modulo resta vuota o gli elenchi a discesa non si popolano.** Svuota la cache di PrestaShop e poi forza il ricaricamento del browser (Ctrl+Maiusc+R). Se è attivo un gestore cache/CCC, rigenera gli asset.

**L'SFTP fallisce.** Verifica che l'estensione PHP `ssh2` sia installata sul server; altrimenti usa FTP o un URL.

**Il cron non si attiva.** Verifica il token, che il negozio non sia in manutenzione, e che il profilo abbia la pianificazione attivata e un'origine automatica (i profili a caricamento manuale non possono essere pianificati).

**Alcune righe sono in errore.** Apri il dettaglio del log: ogni errore indica il numero di riga e la causa (colonna chiave mancante, valore non valido, ecc.).
