Excel Stock Sync di i-creativi Acquista
Home Funzionalità Prezzi Documentazione Acquista — 149,99 €
N°01 — Panoramica completa 9 funzioni

Ogni funzione nasce da un problema reale visto in produzione.

Non leggerai qui "sincronizzazione fluida e intuitiva". Ogni voce di questa pagina ha un caso d'uso concreto, un vincolo tecnico che risolve, e un comportamento preciso in produzione.

N°02 — Mappatura colonne

Ogni file ha il suo formato. Nessun problema.

Il gestionale esporta cod_art;qty_mag, il fornitore B manda SKU,Stock,UM, quello tedesco invia XLSX con colonne tradotte. Invece di pretendere che tutti usino il formato PrestaShop, il modulo si adatta al tuo file.

  • Interfaccia drag & drop: configuri una volta, il modulo ricorda
  • Auto-detect del delimitatore: ;, ,, tab, pipe
  • Anteprima in tempo reale delle prime 10 righe del file
  • Supporto file senza riga header: salti la prima, scegli tu
  • Validazione obbligatoria: quantità + almeno un identificativo
Mappatura attiva fornitore-b.csv
F cod_art → reference
F qty_mag → quantity
F barcode → ean13
D Delimitatore rilevato ; punto e virgola
N°03 — Formati file

CSV e XLSX, come te li manda il gestionale.

Nessun preprocessing richiesto. Il modulo gestisce encoding, BOM, delimitatori e righe quotate in autonomia.

Fmt / CSV

Tutti i sapori

Delimitatori ;, ,, tab, pipe. Encoding UTF-8, UTF-16LE/BE, ISO-8859-1, Windows-1252. Rimozione BOM. Gestione righe quotate.

Fmt / XLSX

Excel nativo

Tramite libreria PhpSpreadsheet (installabile via Composer). Lettura del primo foglio o scelta esplicita. Gestione tipo numerico Excel.

Fmt / Estensioni

Preservate via FTP

File scaricati via FTP mantengono l'estensione originale .csv o .xlsx. Nessun XLSX interpretato come CSV per sbaglio.

Esempi
CSV minimale
Reference;Quantity
SKU001;100
SKU002;50
SKU003;0
CSV completo
id_product;id_attr;ref;ean;qty
1;0;PROD001;8001234567890;100
1;5;PROD001-RED;8001234567891;50
2;0;PROD002;8001234567892;75
N°04 — Simulazione

Guarda prima. Scrivi dopo.

La funzione che pochi moduli competitor offrono. Prima di toccare ps_stock_available, il modulo esegue un intero ciclo di parsing, matching e calcolo nuove quantità, e ti mostra il risultato completo.

  • Report dettagliato: quantità attuale, nuova, delta, stato per riga
  • Elenco prodotti non trovati con identificativo cercato
  • Esportazione del report in CSV per archiviazione o analisi
  • Da simulazione a import reale con un click
  • Loggate come tipo separato dagli import reali
Simulazione Report
Aggiornati
4.205
Non trovati
12
RSKU-1045240 → 290
RSKU-104615 → 0
RABC-999not_found
RSKU-1050invariato
Database non modificato
N°05 — FTP

Il gestionale pubblica, il modulo scarica.

Se il tuo ERP o il sistema del fornitore scrive il CSV su un server FTP ogni notte, Excel Stock Sync lo preleva in autonomia.

FTP / Connessione

Configurabile

Host, porta (default 21), username, password, percorso remoto, nome file. Test di connessione con feedback immediato. Modalità passiva abilitabile per NAT/firewall.

FTP / Sicurezza

Password cifrate

La password FTP non viene salvata in chiaro: cifratura simmetrica con chiave derivata dal cookie key del tuo shop. Non è leggibile nemmeno con accesso al database.

FTP / Cleanup

Zero residui

Il file temporaneo scaricato viene eliminato a fine import, anche in caso di eccezione. Nessun accumulo di file ftp_temp_* in uploads/.

N°06 — CRON

Schedulazione che non molla mai.

Il modulo espone un endpoint CRON protetto da secure key. Lo configuri una volta nel crontab del server e ricevi aggiornamenti automatici alla cadenza scelta.

  • URL protetto con secure_key, confronto time-constant
  • Sorgente: FTP remoto o file locale in uploads/
  • Frequenze: da 15 minuti a 24 ore
  • Comando crontab generato automaticamente, pronto da copiare
  • Shutdown handler: in caso di crash resta comunque un log
# Ogni 15 minuti
*/15 * * * * curl -s "https://tuoshop.com/module/excelsyncstock/cron?secure_key=KEY"

# Ogni ora esatta
0 * * * * curl -s "https://tuoshop.com/module/excelsyncstock/cron?secure_key=KEY"

# Ogni giorno alle 06:00
0 6 * * * curl -s "https://tuoshop.com/module/excelsyncstock/cron?secure_key=KEY"

Comando generato con il tuo dominio e la tua chiave già sostituiti.

N°07 — Modalità import

Sovrascrivi o incrementa. Due flussi, un comportamento prevedibile.

Scelta globale dalla configurazione o specifica per singolo import.

Overwrite

  • La quantità del file sostituisce completamente quella del database.
  • Il file rappresenta la "verità" assoluta del magazzino.
  • Caso d'uso: export dal gestionale ERP con stock reale aggiornato.
  • Delta (vecchia − nuova) tracciato nel log dettaglio per ogni riga.

Increment

  • La quantità del file viene sommata a quella esistente nel database.
  • Il file rappresenta un movimento di carico/scarico, non un saldo.
  • Caso d'uso: bolla di entrata merci, DDT fornitore da importare come carico.
  • Valori negativi accettati per scarichi manuali.
N°08 — Robustezza

Pensato per hosting shared con timeout di 30 secondi.

Ogni decisione architetturale riflette il fatto che il modulo nasce su un hosting reale, non su una VM dedicata di sviluppo.

R / Timeout

Time limit esteso

set_time_limit(600) e memory_limit=512M applicati nelle routine di import e nel cron controller. File di 40k righe gestiti senza crash.

R / Isolation

Errori isolati

Un'eccezione su una singola riga non interrompe l'intero import. La riga problematica viene loggata come errore, il batch continua con le successive.

R / Shutdown

Shutdown handler

register_shutdown_function intercetta timeout e fatal error. Registra un record CRASH nel log: nessun import "fantasma" non tracciato.

R / Wrapping

Try/catch/finally

L'intero ciclo di import è protetto: il logImport viene sempre scritto nel finally, anche se il ciclo si interrompe a metà.

R / Memo

Memoizzazione header

readHeaders invocato una sola volta per import. Prima veniva chiamato due volte su XLSX, raddoppiando tempo e memoria.

R / Cleanup

Cleanup garantito

Il file temporaneo FTP viene rimosso anche in caso di eccezione. Niente residui ftp_temp_* che occupano spazio disco.

N°09 — Log

Se è successo, è nel log.

Due tabelle dedicate nel database, più un file di log rotabile. Ogni import crea un record di testa con i totali, e un record di dettaglio per ogni singola riga processata — anche quelle non trovate o con errore.

  • ps_excelsyncstock_log: file, sorgente, totali, tipo
  • ps_excelsyncstock_log_detail: riga, identificativo, vecchia/nuova qty, stato
  • Filtri per data, sorgente (FTP/Locale), tipo
  • Export dei log in CSV per audit e analisi esterne
  • File logs/sync.log per debug tecnico granulare
Log detail — esempio
SKU Vecchia Nuova Stato
SKU-1045240290success
SKU-1046150success
ABC-999not_found
SKU-10505656unchanged
N°10 — Dashboard

Tutto lo stato del modulo in un colpo d'occhio.

La dashboard è la tua pagina di atterraggio quotidiana. File, FTP, mappatura, CRON: tutto visibile in 5 secondi.

D / Stats

Aggregate

Import totali, prodotti aggiornati, combinazioni aggiornate, errori. Contatori cumulativi e dell'ultima operazione.

D / Status

Stato sistema

Indicatori per file caricato, FTP configurato, mappatura salvata, CRON attivo. Verde/giallo/rosso. Nessuna ambiguità.

D / Actions

Azioni rapide

Import locale, import FTP, simulazione, configurazione. Tutto a un click dalla home del modulo.

Prossimo passo

Tutto questo in un modulo, installabile in 10 minuti.