Come automatizzare software vecchi e gestionali senza API (Sistemi Legacy)
Il tuo gestionale ERP ha 15 anni e non comunica con il mondo esterno? Scopri come le moderne tecniche RPA possono estrarre e inserire dati nei sistemi legacy senza dover cambiare software.
Il 60% delle PMI italiane e dei piccoli studi professionali si scontra ogni giorno con lo stesso dramma: il gestionale o l’ERP aziendale funziona bene per la fatturazione base, ma ha l’agilità di un monolite di cemento.
È stato acquistato nel 2010, non possiede API (Application Programming Interface), non si connette nativamente al CRM moderno che usano i venditori e non sa leggere i dati del nuovo eCommerce B2B.
Cosa succede in questi casi? L’azienda è costretta ad assumere personale (spesso stagisti o junior) solo per fare da “ponte umano” tra il software A e il software B, ricopiando codici a barre, anagrafiche e ordini da uno schermo all’altro.
In CodePulse risolviamo questo problema quotidianamente. E no, la soluzione non è cambiare gestionale.
Il Mito del “Devi Cambiare Gestionale”
Molte software house vi diranno che l’unica soluzione per digitalizzare i processi è migrare a un ERP cloud di ultima generazione, affrontando un progetto di transizione che costa decine di migliaia di euro e mesi di disservizi e formazione del personale.
Sebbene modernizzare l’infrastruttura sia sempre un’ottima idea a lungo termine, a livello operativo a breve termine è spesso un bagno di sangue.
Le moderne tecniche di RPA (Robotic Process Automation) Custom offrono una “scorciatoia” incredibilmente efficace: possiamo insegnare a un bot a usare il tuo vecchio gestionale esattamente come lo userebbe un umano, cliccando sui pulsanti e leggendo lo schermo.
Come funziona l’RPA sui Sistemi “Chiusi”
Se un software non ha API, l’unico modo per interagirci è attraverso la sua interfaccia grafica (GUI). L’RPA fa esattamente questo. Ecco le tre tecniche principali che usiamo per “bucare” i monoliti:
1. Computer Vision e DOM Interaction (Web Legacy)
Se il tuo vecchio gestionale gira nel browser (anche se è una vecchia applicazione WebForms), i nostri bot Python usano librerie di automazione headless per identifies gli elementi strutturali della pagina (il DOM). Il bot sa esattamente dove si trova la casella “Codice Fiscale”, la compila, attende il caricamento e preme il pulsante di salvataggio a velocità sovrumana.
2. OCR e Riconoscimento a Schermo (Applicazioni Desktop)
Cosa succede se il gestionale è un vecchio software installato su Windows (es. AS400, vecchi terminali DOS-like o applicativi sviluppati in Visual Basic 6)?
In questo caso, utilizziamo bot visivi. Lo script “guarda” lo schermo del server virtuale, riconosce icone e testi tramite OCR (Optical Character Recognition) integrato, e invia comandi diretti alla tastiera e al mouse del sistema operativo.
Il bot preme letteralmente TAB 4 volte, poi digita il valore, poi preme INVIO.
3. Database Injection (Quando possibile)
A volte il gestionale non ha API web, ma si appoggia a un database SQL locale raggiungibile. Quando le policy di sicurezza e la struttura del database lo permettono, possiamo saltare del tutto l’interfaccia grafica e scrivere/leggere i record direttamente nelle tabelle sotterranee dell’ERP. Questo garantisce precisione assoluta e tempi di esecuzione istantanei.
Esempio pratico: Sincronizzazione Ordini eCommerce -> AS400
Un nostro cliente del settore logistico riceveva 200 ordini al giorno sul nuovo portale eCommerce B2B (su Shopify), ma il magazzino usava un gestionale basato su vecchi terminali AS400.
Il processo manuale (Prima): Un impiegato apriva l’email dell’ordine Shopify, leggeva il codice SKU, apriva la finestra terminale di AS400, digitava lo SKU, digitava la quantità, premeva F12, annotava il codice di tracciamento e rispondeva all’email. Tempo speso: 4 minuti a ordine. Circa 13 ore di lavoro al giorno suddivise su due persone. Un incubo.
Il processo automatizzato (Dopo CodePulse):
- Un microservizio asincrono cattura l’evento (Webhook) da Shopify in tempo reale non appena il cliente paga.
- Formatta i dati e li passa a uno script Python (Bot).
- Il Bot, in esecuzione su un server locale del cliente, apre automaticamente il client AS400.
- Esegue il login, naviga i menu testuali tramite comandi tastiera simulati, inserisce l’ordine e “legge” a schermo il numero d’ordine generato dal sistema.
- Invia automaticamente l’email al cliente con la bolla. Tempo speso: 6 secondi per ordine. Intervento umano zero. Zero errori di battitura (come inserire 100 colli invece di 10).
Quanto è sicuro?
L’automazione UI-based è robusta, ma l’interfaccia non deve cambiare all’improvviso. Poiché i sistemi legacy sono, per definizione, vecchi e non più aggiornati frequentemente, sono in realtà i candidati perfetti per questo tipo di automazione: i loro vecchi pulsanti grigi non si sposteranno mai.
In CodePulse, in ogni caso, implementiamo sempre sistemi di fallback e alert. Se il bot si accorge che la finestra si aspetta la scritta “Conferma” ma legge a schermo “Errore Connessione”, si ferma immediatamente, chiude tutto, genera uno screenshot dell’anomalia e manda un alert su Slack o via Email al responsabile IT.
Nessuna automazione “cieca”. Il controllo rimane sempre nelle mani dell’umano.
Hai un software chiuso nella tua azienda che costringe il tuo team a fare i passacarte digitali? Fissa una call esplorativa gratuita. Ti diremo in 20 minuti se è integrabile.