Mass Product Updater (CSV/Excel). Mass Product Updater importa un file CSV o Excel (.xlsx) e aggiorna prezzo, stock, stato e identificatori dei tuoi prodotti esistenti. Salvi profili di mappatura colonne riutilizzabili, visualizzi in anteprima ogni modifica con un diff dry-run riga per riga prima che venga scritto qualcosa, esegui l'import a lotti con un report di errore per riga e fai il rollback dell'ultima esecuzione se serve. Un cron protetto da token consente di automatizzare i feed dei fornitori. Nessun codice, nessuna modifica al tema.
Mass Product Updater importa un file CSV o Excel (.xlsx) e aggiorna prezzo, stock, stato e identificatori dei tuoi prodotti esistenti. Salvi profili di mappatura colonne riutilizzabili, visualizzi in anteprima ogni modifica con un diff dry-run riga per riga prima che venga scritto qualcosa, esegui l'import a lotti con un report di errore per riga e fai il rollback dell'ultima esecuzione se serve. Un cron protetto da token consente di automatizzare i feed dei fornitori. Nessun codice, nessuna modifica al tema.
1. Installazione
- Nel back office vai su Moduli → Gestione moduli → Carica un modulo e seleziona lo ZIP del modulo.
- A installazione completata, clicca Configura per aprire la procedura guidata.
.local, .test, localhost) sono sempre ammessi. Quando esce una nuova versione viene segnalata dentro al modulo.2. Configurazione: passo per passo
La schermata Configura ha quattro schede, Import / aggiorna, Profili di mappatura, Cronologia e rollback e Impostazioni. Un import normale si svolge come una breve procedura: carica → mappa le colonne → dry-run → applica.
1. Carica un file CSV o Excel inizia da qui
Nella scheda Import / aggiorna scegli un File (.csv / .xlsx) e clicca Carica. I tipi ammessi sono .csv, .txt e .xlsx, fino a 20 MB. Il CSV è pienamente supportato; l'XLSX viene letto best-effort se sono disponibili le estensioni PHP ZIP e SimpleXML. Se hai già un profilo salvato, selezionalo da Usa un profilo salvato per precompilare mappatura e opzioni di origine. Ricorda: questo strumento aggiorna solo prodotti esistenti, non ne crea mai di nuovi.

2. Mappa le colonne e le opzioni di origine
Dopo il caricamento, il modulo mostra l'anteprima dell'intestazione e delle prime righe di esempio per mappare ogni colonna di origine. Imposta le opzioni di lettura in alto, poi la mappatura delle colonne sotto.
- Abbina i prodotti per: l'identificatore usato per trovare il prodotto: ID prodotto, Reference, EAN13, UPC o Reference fornitore.
- Delimitatore / Delimitatore di testo: il separatore di campo (usa
\tper una tabulazione) e il carattere di quotatura. - Codifica / Decimale: la codifica del file (es.
UTF-8,ISO-8859-1,Windows-1252; viene convertita in UTF-8) e il separatore decimale (.o,). - La prima riga è un'intestazione: spunta se la riga 1 contiene i nomi delle colonne.
- Quando nessun prodotto corrisponde: Salta in silenzio oppure Segnala nel log dell'esecuzione.
- Tabella di mappatura colonne: per ogni colonna scegli a cosa corrisponde: ** CHIAVE DI ABBINAMENTO (identificatore) **, Prezzo (tasse escl.), Prezzo all'ingrosso, Quantità stock (imposta), Quantità stock (delta +/-), Prezzo specifico (fisso), Attivo (0/1), Peso, Reference, EAN13, UPC, Quantità minima, oppure lascia -- ignora --.
Devi mappare esattamente una colonna come CHIAVE DI ABBINAMENTO e almeno una colonna a un campo da aggiornare.
3. Anteprima dry-run e diff consigliato
Clicca Dry-run (anteprima) per simulare l'import senza scrivere nulla. Il modulo riporta quante righe hanno trovato corrispondenza, sono non trovate o hanno errori, e apre il dettaglio dell'esecuzione con un diff riga per riga: ogni campo modificato è mostrato come vecchio → nuovo. Controlla sempre il diff prima di applicare.
4. Esegui l'import (applica)
Quando il diff è corretto, clicca Applica modifiche e conferma. L'import viene eseguito a lotti (la Dimensione lotto impostata nelle Impostazioni controlla quante righe vengono elaborate per transazione). Alla fine ottieni un riepilogo, aggiornate, non trovate, errori sul totale delle righe, e il dettaglio completo con il log per riga.
5. Profili di mappatura riutilizzabili
Nella scheda Profili di mappatura salvi una mappatura colonne una volta sola e la riutilizzi per i feed ricorrenti. Un profilo memorizza il nome del profilo, il campo di abbinamento, delimitatore / delimitatore di testo / codifica / separatore decimale, il flag di intestazione, il comportamento per i non trovati e la mappatura per colonna (per indice di colonna a base 0). I profili salvati si possono modificare o eliminare, e sono selezionabili nella scheda Import e per il cron.
6. Cronologia e rollback
La scheda Cronologia e rollback elenca le esecuzioni recenti con la loro modalità (dry-run / applica), origine, totali e stato. Apri un'esecuzione per vederne le statistiche, il log per riga (filtrabile per risultato) e un pulsante Scarica report (CSV). Per un'esecuzione applicata puoi cliccare Annulla questa esecuzione per ripristinare i valori precedenti di ogni campo modificato, a patto che lo snapshot pre-aggiornamento sia stato conservato (vedi Impostazioni).
7. Cron protetto da token automazione
Nella scheda Impostazioni, la sezione Import pianificato (cron) ti fornisce un URL cron pronto contenente un token segreto. Chiamalo dal tuo scheduler (es. crontab) per applicare il Profilo cron selezionato all'Origine cron configurata, un URL http(s) di un feed fornitore, oppure un semplice nome di file collocato nella cartella di lavoro del modulo (modules/cll_csvimport/work/). Usa Rigenera token cron per ruotare il token. Il token è obbligatorio e verificato tramite hash.
8. Impostazioni: predefiniti e dati
La scheda Impostazioni contiene anche: Abilita il modulo, Dimensione lotto (20–5000 righe per transazione; valori più bassi sono più sicuri sui server piccoli), le opzioni di origine predefinite (delimitatore, delimitatore di testo, codifica, separatore decimale, intestazione, comportamento per i non trovati) usate per precompilare i nuovi import, Conserva snapshot pre-aggiornamento (abilita il rollback, tienilo attivo) e Cancella i dati alla disinstallazione (disattivo di default; se attivo, la disinstallazione elimina tutti i profili e la cronologia delle esecuzioni).
3. Verifica che funzioni
- Carica un file piccolo ed esegui un Dry-run; apri il dettaglio dell'esecuzione e conferma che il diff riga per riga mostri i valori vecchio → nuovo attesi.
- Esegui Applica modifiche su un paio di righe, poi apri i prodotti interessati e verifica che prezzo / stock siano cambiati come mostrato.
- Da Cronologia e rollback, apri quell'esecuzione applicata e clicca Annulla questa esecuzione; controlla che i prodotti siano tornati ai valori precedenti.
- Incolla l'URL cron nel browser (o chiamalo con
curl), un'esecuzione dovrebbe comparire nella Cronologia con il profilo e l'origine configurati.
4. Domande frequenti
Crea nuovi prodotti?
No. Mass Product Updater aggiorna solo i prodotti già esistenti. Le righe il cui identificatore non corrisponde ad alcun prodotto vengono saltate o segnalate, mai create.
Quali formati di file sono supportati?
Il CSV (e i file tabulati/testo .txt) è pienamente supportato. L'Excel .xlsx viene letto best-effort se sono disponibili le estensioni PHP ZIP e SimpleXML. Sono accettati file fino a 20 MB.
Come funziona l'abbinamento dei prodotti?
Scegli una chiave di abbinamento, ID prodotto, Reference, EAN13, UPC o Reference fornitore, e mappi una colonna ad essa. Ogni riga viene abbinata a un prodotto tramite quell'identificatore prima che qualsiasi campo venga aggiornato.
Il rollback è sicuro?
Sì, purché Conserva snapshot pre-aggiornamento sia abilitato (impostazione predefinita). Il modulo memorizza il valore precedente di ogni campo modificato, così un'esecuzione applicata può ripristinarli esattamente. Un'esecuzione può essere annullata una sola volta.