La Sfida: Un distributore all’ingrosso usava un CMS standard (PrestaShop/WordPress) che non riusciva a gestire listini prezzi dinamici personalizzati per ogni cliente e non comunicava con il magazzino fisico.

La Soluzione: Abbiamo mantenuto il CMS familiare al cliente, ma ne abbiamo stravolto il “motore”. Abbiamo sviluppato plugin PHP su misura per la gestione avanzata dei prezzi e integrato un’interfaccia frontend reattiva con Angular e PrimeNG. Infine, abbiamo scritto script in Bash e PowerShell per automatizzare la sincronizzazione notturna bidirezionale tra il sito e il server aziendale.

Il Risultato: Riduzione del 40% del lavoro manuale di caricamento ordini. Inventario sempre allineato e clienti B2B autonomi negli acquisti.

Lo Scenario e la Sfida (Il “Pain Point” del cliente)

Il cliente aveva avviato un canale di vendita online utilizzando un CMS standard (PrestaShop). Tuttavia, operando nel settore B2B (Business to Business), le logiche di vendita erano troppo complesse per un software nato per il dettaglio (B2C).

L’azienda era paralizzata da tre grandi problemi:

  • Listini Prezzi Dinamici: Nel B2B, ogni cliente (o gruppo di clienti) ha un listino prezzi dedicato, sconti basati sui volumi di acquisto e contratti specifici. Il CMS standard non riusciva a gestire questa complessità.

  • Disallineamento dell’Inventario: Il sito web non comunicava con il vecchio gestionale di magazzino installato sui server locali dell’azienda. Risultato? I clienti ordinavano online merce che in realtà era già esaurita, generando lamentele e rimborsi.

  • Lavoro Manuale Estenuante: Ogni mattina, due dipendenti dovevano scaricare gli ordini dal sito web e ricopiarli a mano nel gestionale aziendale per avviare le spedizioni. Un processo lento e soggetto a continui errori di battitura.

La Nostra Strategia: Potenziare, non Distruggere

Invece di far buttare via al cliente l’investimento già fatto sul CMS e costringerlo a imparare una piattaforma completamente nuova, abbiamo deciso di “super-potenziare” l’architettura esistente. Abbiamo mantenuto il front-end familiare, riscrivendo però il motore logico sottostante e creando un ponte invisibile con l’azienda.

L’Architettura della Soluzione

Abbiamo suddiviso l’intervento in tre macro-aree, sfruttando il nostro stack per il web e lo scripting di sistema:

  • Sviluppo Core / Moduli Custom (PHP): Abbiamo scritto da zero dei plugin PHP proprietari per PrestaShop. Questi moduli intercettano la logica di calcolo del carrello standard e applicano algoritmi complessi per calcolare il prezzo esatto e le imposte in tempo reale, in base a chi ha effettuato il login, rispettando i contratti B2B. Tutto questo è stato fatto senza intaccare il core del CMS, garantendo la possibilità di fare aggiornamenti di sicurezza in futuro.

  • Area Clienti Avanzata (Angular & PrimeNG): Per i “Top Client” del distributore (che fanno ordini massivi da centinaia di righe), l’interfaccia classica del carrello era troppo lenta. Abbiamo quindi sviluppato una Web App riservata integrata nel sito, utilizzando Angular e i componenti PrimeNG. Questa interfaccia permette ai clienti B2B di caricare ordini massivi via file Excel o riordinare con un clic le distinte base dei mesi precedenti, con una velocità di caricamento istantanea (Single Page Application).

  • Il Middleware di Sincronizzazione (Bash & PowerShell): Questa è la vera magia del progetto. Per far comunicare il sito web (su server Linux in Cloud) con il gestionale (su server Windows locale), abbiamo sviluppato un’architettura di sincronizzazione robusta. Abbiamo scritto script PowerShell sul server aziendale che ogni 15 minuti estraggono le giacenze aggiornate dal gestionale. Questi dati vengono inviati in modo sicuro al server web, dove script Bash e task programmati (Cronjob) aggiornano il database di PrestaShop. Viceversa, ogni nuovo ordine online viene pacchettizzato e scaricato automaticamente nel gestionale per la fatturazione immediata.

L’Esecuzione del Progetto

  1. Mappatura dei flussi: Analisi dettagliata di come il gestionale locale esportava i dati (tracciati record, file XML/CSV, API legacy).

  2. Sviluppo Modulo PHP: Programmazione e installazione dei plugin per i listini complessi in ambiente di staging.

  3. Implementazione Script di Sync: Creazione dei tunnel sicuri per il trasferimento dati tra l’azienda e il server cloud, gestendo i conflitti (es. “Cosa succede se il server locale va offline per un calo di corrente?”).

  4. Fase di Collaudo: Simulazione di centinaia di ordini concorrenti per testare la tenuta della sincronizzazione.

I Risultati Ottenuti (Valore per il Business)

  • Automazione Totale (Zero Data Entry): Il data entry manuale è stato completamente eliminato. Gli ordini web compaiono sul terminale del magazziniere in meno di 3 minuti dal pagamento, pronti per essere imballati.

  • Affidabilità dello Stock: L’inventario online è costantemente allineato a quello fisico. Le vendite di merce non disponibile si sono azzerate, migliorando drasticamente la soddisfazione dei clienti B2B.

  • Aumento del Fatturato B2B: Grazie all’area riservata veloce in Angular/PrimeNG, i clienti grossisti hanno aumentato la frequenza dei riordini grazie all’estrema facilità d’uso della piattaforma.