Caso studio. Live
Omnia Leads Manager: il CRM su misura che ha sostituito tre fogli Excel
Un'azienda del settore elettronico con divisioni commerciali in Italia, Spagna e Stati Uniti raccoglieva i contatti in fogli di calcolo diversi per paese. Serviva un posto solo, in tre lingue, che accettasse i loro file e ricordasse i seguiti da fare. È nato in una settimana di giugno 2025 ed è stato rivisto a fondo un anno dopo.
Scritto da Maximilian Giurastante. .
Omnia Leads Manager è un sistema web di gestione dei lead commerciali sviluppato da MAXYMIZE su commessa: registrazione degli utenti con approvazione, ruoli, anagrafica dei contatti con sedici campi, importazione da Excel con validazione e controllo dei duplicati, ricerca e filtri, cruscotto delle vendite, notifiche email automatiche e promemoria mensili dei seguiti. È disponibile in italiano, inglese e spagnolo e gira su infrastruttura serverless.
La scheda del progetto
- Settore
- Elettronica, rete commerciale su tre paesi
- Cliente
- Azienda con divisioni commerciali in Italia, Spagna e Stati Uniti
- Utenti
- Commerciali delle tre divisioni, responsabili, amministratore
- Prima versione
- Dal 18 al 24 giugno 2025, live dallo stesso mese
- Revisione
- Giugno 2026: sicurezza, prestazioni e nuova interfaccia (versione 2.3.5)
- Dimensione
- Una decina di schermate, tre lingue, notifiche e processi pianificati
- Costi ricorrenti
- Piani gratuiti o di base di hosting, database e posta: nessuna licenza per utente
- Modalità di lavoro
- Progetto a corpo, con interventi successivi a consuntivo
Il contesto: tre divisioni, tre fogli, nessuna vista d'insieme
I lead arrivavano da fiere, dal sito, da segnalazioni e da campagne, e finivano in un foglio di calcolo per divisione. Ogni foglio aveva colonne un po' diverse, date scritte in formati diversi, e un solo proprietario che sapeva leggerlo. Nessuno poteva rispondere alla domanda «quanti contatti aperti abbiamo in Spagna e chi li segue».
Il cliente aveva già valutato i CRM pronti. Il problema non era il prezzo di ingresso, era il costo per utente su tre paesi, la fatica di piegare un prodotto generalista a un processo che era già chiaro, e soprattutto l'importazione: anni di contatti stavano in fogli con sedici colonne e formati locali, e nessun importatore standard li accettava senza una pulizia manuale che nessuno avrebbe fatto.
Cosa serviva davvero, e cosa avrebbe dato un CRM pronto
| Esigenza | CRM pronto | Su misura |
|---|---|---|
| Importare i fogli esistenti così come sono | Mappatura manuale a ogni import, errori sulle date | Importatore costruito sui loro sedici campi, con controllo dei duplicati |
| Tre lingue con formati locali di date e numeri | Disponibile nei piani superiori | Compreso, con formattazione regionale |
| Costo per utente su tre divisioni | Cresce con ogni commerciale aggiunto | Nessuna licenza: solo hosting e database, su piani di base |
| Approvazione degli account da parte dell'azienda | Con configurazione | Registrazione, poi approvazione dell'amministratore |
| Promemoria mensile dei seguiti per divisione | Automazioni a pagamento | Processo pianificato, compreso |
| Pipeline di vendita avanzata, telefonia, marketing | Il punto di forza | Non richiesto: sarebbe stato costo senza uso |
L'ultima riga è quella che decide: se al cliente fossero servite pipeline complesse, telefonia integrata e automazioni di marketing, un CRM pronto sarebbe stata la scelta giusta e l'avremmo detto. Serviva invece un posto ordinato, in tre lingue, che accettasse i loro file. È il caso tipico in cui il su misura conviene.
La soluzione: un gestionale piccolo, fatto bene
Omnia Leads Manager fa poche cose: accoglie i contatti, li importa dai fogli, li fa cercare e filtrare, avvisa chi deve essere avvisato e ricorda i seguiti. Ogni funzione è stata scelta perché il cliente la usava già, in forma manuale.
Accesso e ruoli
Chi si registra non entra subito: l'amministratore approva l'account e lo assegna a una divisione. Tre ruoli (utente, responsabile, amministratore) decidono chi vede, chi modifica e chi cancella. Un lead può essere modificato da chi lo ha creato o da un responsabile; la lettura è condivisa, perché il punto del progetto era proprio smettere di avere informazioni chiuse in un file.
L'importazione dai fogli, la parte che ha fatto la differenza
L'importatore è stato costruito sul formato reale dei fogli del cliente: sedici colonne, con date che in un file erano numeri di Excel e in un altro testo. Prima di scrivere una riga controlla il tipo di file dai primi byte e non dall'estensione, limita la dimensione, converte le date e mette a NULL quelle illeggibili invece di bloccare tutto, riconosce i duplicati per azienda e referente, scrive a lotti e alla fine manda un riepilogo con gli errori riga per riga.
Il percorso di un file Excel
Flusso in cinque passaggi: caricamento del file, controllo del file, validazione delle righe, scrittura a lotti, notifiche. Le righe con errori tornano al mittente in un riepilogo invece di fermare l'importazione.
- 1. File caricato: dal browser, fino a 10 MB
- 2. Controllo del file: tipo dai primi byte, colonne
- 3. Validazione righe: date, obbligatori, duplicati
- 4. Scrittura a lotti: sul database, con indici
- 5. Notifiche: riepilogo e nuovi lead
- Validazione righe → Notifiche (righe con errori nel riepilogo)
Ricerca, filtri e cruscotto
La lista dei lead si cerca e si filtra per divisione, canale, settore, stato del seguito, con ordinamento e paginazione fatti dal database e non in memoria: con qualche migliaio di righe la differenza è fra una pagina che risponde subito e una che si blocca. Il cruscotto mostra i contatti per stato di conversione e per canale, e le statistiche dei seguiti in scadenza.
Le notifiche che sostituiscono la memoria
Quattro tipi di email, con modelli modificabili dall'amministratore in tre lingue: nuovo lead assegnato, importazione completata, promemoria mensile dei seguiti per divisione, account approvato o rifiutato. Le email passano da una coda e da un processo pianificato che le spedisce, così un problema del servizio di posta non fa perdere il messaggio. Un rapporto giornaliero riepiloga l'attività.
Le decisioni tecniche
Per un sistema usato da poche decine di persone, la scelta più importante è quanto costa tenerlo acceso e quanto è facile intervenirci fra un anno. Le decisioni sono tutte in questa direzione.
- Nessun framework frontend Pagine HTML, JavaScript in moduli e Bootstrap. Per dieci schermate e un team che non avrebbe avuto uno sviluppatore interno, un framework avrebbe aggiunto una catena di build da mantenere senza dare nulla in cambio. Il codice si legge e si modifica con un editor di testo.
- Funzioni serverless e database serverless Funzioni e database a consumo: si paga l'uso, che per questo sistema rientra nei piani di base. Niente server da aggiornare, niente notti a controllare che sia acceso. I processi pianificati, come l'invio delle email in coda e il rapporto giornaliero, girano sulla stessa infrastruttura.
- Tre lingue dal primo giorno Interfaccia, email e formati di data e numero seguono la lingua preferita dell'utente, con ricaduta automatica sull'italiano per le chiavi mancanti. Aggiungerle dopo avrebbe significato toccare ogni schermata due volte.
- Il processo del cliente è nel codice, non nelle abitudini Chi può cambiare cosa, quali campi sono obbligatori, come si riconosce un duplicato, quando parte un promemoria: sono regole scritte nelle funzioni, uguali per tutte le divisioni. È il motivo per cui un file arrivato dalla Spagna e uno dall'Italia finiscono nella stessa forma.
Un anno dopo: la revisione di sicurezza e prestazioni
A giugno 2026 il sistema è stato riesaminato da capo, con una revisione di sicurezza a più passaggi e un controllo delle prestazioni. È la parte del caso studio che raccontiamo più volentieri, perché un software di un anno che non ha nulla da correggere di solito non è stato guardato.
- Autenticazione: rimosso un percorso di accesso di ripiego che poteva essere abusato; autenticazione obbligatoria su tutte le funzioni; limite ai tentativi di accesso con messaggi che non rivelano se un'email esiste; sessioni invalidate al cambio password.
- Proprietà dei dati: modifica e cancellazione di un lead riservate a chi lo ha creato o a un responsabile, con l'autore preso dalla sessione e non dal modulo.
- Posta: le funzioni di invio erano raggiungibili senza sessione e potevano essere usate per spedire email a terzi; ora richiedono un token interno o una sessione di amministratore. Contenuti delle email sempre codificati, oggetti protetti dall'iniezione di intestazioni.
- Intestazioni di sicurezza: politica di contenuto, HSTS, permessi del browser, CORS ristretto al dominio del sito.
- Prestazioni: filtri, ordinamento e paginazione spostati nel database; importazione senza una query per riga; conteggi degli utenti in una sola query aggregata; indici sulle colonne più cercate.
- Tracciabilità: tabella delle azioni amministrative come registro di controllo, pulizia automatica dei tentativi di accesso dopo trenta giorni.
I risultati
Il cliente ha un solo archivio dei contatti per tre paesi, un'importazione che accetta i suoi file senza pulizia manuale e promemoria che partono da soli. I costi ricorrenti stanno nei piani di base di hosting, database e posta, senza licenze per utente.
- 1
- settimana dalla prima riga di codice alla versione in uso (dal 18 al 24 giugno 2025)
- 3
- lingue con formati locali (italiano, inglese, spagnolo)
- 16
- campi importati dai fogli esistenti (con validazione e controllo dei duplicati)
- 0
- licenze per utente (costi ricorrenti nei piani di base dei servizi)
Cosa si porta in un progetto simile
Un CRM su misura ha senso quando il processo è già chiaro e i dati esistenti hanno una forma che i prodotti pronti non accettano. In quel caso costa meno di quanto si pensi, a patto di non ricostruire quello che non serve.
- Partire dall'importazione dei dati reali: se il sistema non accetta i file di oggi, non verrà usato.
- Scegliere l'infrastruttura in base al costo di tenerla accesa, non alla moda: per poche decine di utenti il serverless a consumo è quasi gratuito.
- Mettere le lingue e i ruoli nel primo giorno, non nel secondo anno.
- Prevedere una revisione dopo il primo anno d'uso, e metterla nel preventivo.
Per capire come si struttura un progetto così, dai costi alle fasi, leggi come lavoriamo e quanto costa. Per una panoramica di quello che facciamo su questo tipo di sistemi, la pagina sviluppo software su misura.
Tecnologie usate
Scelte fatte per un sistema piccolo, usato ogni giorno, con costi di esercizio minimi e nessuno sviluppatore interno dalla parte del cliente.
Interfaccia
- Pagine web leggere
- Tema chiaro e scuro
- Italiano, inglese, spagnolo
Backend
- Funzioni a consumo
- Sessioni con password cifrate
- Processi pianificati
Dati
- Database relazionale gestito
- Registro delle azioni amministrative
Servizi
- Invio email in coda
- Monitoraggio degli errori
- Import da fogli di calcolo
Domande frequenti
Perché un CRM su misura e non HubSpot, Pipedrive o simili?
Perché il processo era già chiaro e semplice, i dati storici stavano in fogli con un formato che gli importatori standard non accettavano, e il costo per utente cresceva con ogni commerciale aggiunto sulle tre divisioni. Se fossero servite pipeline avanzate, telefonia e automazioni di marketing, avremmo consigliato un prodotto pronto.
Quanto tempo ha richiesto?
La prima versione in uso è stata costruita fra il 18 e il 24 giugno 2025. Nelle settimane successive sono arrivate rifiniture su import, email e pannello di amministrazione. A giugno 2026 il sistema è stato rivisto da capo per sicurezza e prestazioni, con una nuova interfaccia.
Quanto costa tenerlo acceso?
Per questo volume d'uso, hosting, funzioni serverless, database e servizio di posta rientrano nei piani gratuiti o di base dei rispettivi fornitori. Non ci sono licenze per utente: aggiungere un commerciale non cambia il costo. I costi ricorrenti sono a carico del cliente, come spiegato nella pagina sui costi.
I dati dei lead dove stanno?
In un database gestito in Europa, di proprietà del cliente, a cui MAXYMIZE accede solo per manutenzione. Il codice sorgente è del cliente. Se un giorno volesse spostare tutto altrove, l'esportazione è un comando.
Si può adattare a un'altra azienda?
Sì. Il modello (ruoli con approvazione, import validato dai file esistenti, notifiche in coda, promemoria pianificati, tre lingue) si adatta a qualsiasi anagrafica commerciale o operativa. Quello che cambia sono i campi e le regole di validazione, che si ricavano dai file in uso.
Scritto da Maximilian Giurastante
Founder e software developer, MAXYMIZE. Progetta e sviluppa piattaforme SaaS, gestionali su misura e automazioni con modelli linguistici. Oltre vent'anni come project leader nell'integrazione di sistemi tecnologici, audio e video.
Hai contatti sparsi in fogli che nessuno tiene allineati?
Portaci un file di esempio. In trenta minuti vediamo se ha senso un sistema su misura o se ti conviene un prodotto pronto, e te lo diciamo in entrambi i casi.