Come integrare due software aziendali

Come far parlare due software aziendali che oggi non si parlano: la chiave comune, i quattro metodi possibili e gli errori che fanno saltare tutto.

Sviluppo software8 min

Integrare due software aziendali significa rispondere a quattro domande, in quest'ordine: quali dati devono passare, in quale direzione, quale campo li lega fra i due sistemi e ogni quanto l'allineamento deve avvenire. Solo dopo si sceglie il come, che nella pratica si riduce a quattro possibilità: scambio programmato di file, collegamento diretto via API, connettore già pronto, piattaforma di integrazione che sta in mezzo. La parte difficile non è tecnica: è decidere quale dei due sistemi ha ragione quando i valori non coincidono.

Se oggi qualcuno in azienda ricopia gli stessi dati da un programma all'altro, alla fine di questa guida avrai lo schema dell'integrazione e saprai quale dei quattro metodi ha senso per la tua situazione, prima di chiedere un preventivo a chiunque.

Cosa serve prima di iniziare

  • L'elenco dei dati che devono passare, campo per campo. Non "i clienti": ragione sociale, partita IVA, indirizzo, referente, email. La differenza fra le due formulazioni sono settimane di lavoro.
  • La documentazione tecnica di entrambi i sistemi, o almeno la risposta scritta del fornitore sull'esistenza di un'interfaccia per leggere e scrivere quei campi.
  • Un utente di prova su ciascun sistema, con i permessi necessari, e possibilmente un ambiente separato da quello di produzione.
  • Il nome di chi decide quando i due sistemi non concordano. È una decisione organizzativa, non informatica, e senza di essa il progetto si ferma a metà.
  • Il volume reale: quanti record al giorno, con i picchi. Un'integrazione che regge cento movimenti si comporta in modo diverso a diecimila.

I quattro metodi possibili

MetodoQuando ha sensoTempo di allineamentoCosa serve
Scambio di file programmatouno dei due sistemi non ha interfacce, volumi bassida un'ora a un giornouna cartella condivisa e un tracciato concordato
Connettore già prontodue sistemi diffusi, usati in modo standardquasi immediatoconfigurazione e mappatura dei campi
Collegamento diretto via APIserve controllo sulle regole, volumi medi o altiimmediatosviluppo su misura e manutenzione
Piattaforma di integrazionei sistemi da collegare sono più di dueimmediato o programmatocanone e competenze interne per governarla

Il criterio di scelta è il costo totale su tre anni, non il costo iniziale. Uno scambio di file costa poco e si paga in ore di persone che controllano; un collegamento diretto costa di più e si paga in manutenzione. Il confronto fra le due voci è lo stesso ragionamento che si fa quando si sceglie fra un software su misura e uno a pacchetto.

La chiave comune: il problema che blocca più progetti

Due sistemi si parlano solo se ogni oggetto ha un identificatore riconoscibile da entrambi. Per gli articoli è il codice, per i clienti di solito la partita IVA o il codice fiscale, per i documenti il numero con l'anno.

Il problema è che nella realtà quelle chiavi non coincidono quasi mai al primo controllo: lo stesso cliente è presente due volte con ragioni sociali leggermente diverse, un articolo ha un codice nel gestionale e un altro nel sito, un cliente estero non ha partita IVA italiana. Prima di scrivere una riga di integrazione va fatta la riconciliazione: si esportano gli elenchi dei due sistemi, si confrontano sulla chiave scelta e si conta quanti record non trovano corrispondenza.

Se lo scarto è sotto il cinque per cento si correggono a mano e si procede. Se è sopra il venti, l'integrazione non è ancora il problema: prima va sistemata l'anagrafica, altrimenti automatizzi il disordine e lo rendi più veloce.

Come impostare l'integrazione, passo per passo

  1. Disegna il flusso su un foglio, con i due sistemi e una freccia per ogni tipo di dato. Ogni freccia deve avere una direzione sola. Se ti accorgi di doverne disegnare due opposte sullo stesso dato, hai un caso bidirezionale e ti serve una regola di precedenza esplicita.
  2. Scegli il sistema padrone per ciascun dato. L'anagrafica clienti di solito comanda dove viene creata, le giacenze dove si movimenta la merce, i prezzi dove si decide il listino. Scrivilo, perché è la prima cosa che nessuno ricorda sei mesi dopo.
  3. Mappa i campi in una tabella a due colonne, campo di partenza e campo di arrivo, con la trasformazione dove serve. È qui che emergono le differenze di formato: date, decimali, valuta, maiuscole nei codici.
  4. Definisci la frequenza per ogni flusso. Gli ordini in tempo reale, l'anagrafica una volta al giorno, i listini quando cambiano. Sincronizzare tutto ogni cinque minuti sembra la scelta prudente ed è quella che carica i server senza aggiungere nulla.
  5. Costruisci prima un flusso solo, il più semplice, e portalo in produzione. Un'integrazione che parte con sette flussi contemporanei non si collauda: quando qualcosa non torna, non si capisce quale pezzo l'ha causato.
  6. Prova sui casi strani, non su quelli normali. Il cliente senza partita IVA, l'ordine con lo sconto, il reso, l'articolo cancellato. I casi normali funzionano sempre, anche quando l'integrazione è sbagliata.
  7. Attiva registro, nuovo tentativo e avviso prima di considerare finito il lavoro. Senza queste tre cose l'integrazione funziona finché non smette, e nessuno se ne accorge.

Variante: quando uno dei due software non ha API

Succede spesso con i gestionali installati in azienda da molti anni. Le strade rimaste sono tre, in ordine di preferenza.

La prima è l'esportazione programmata: quasi tutti i sistemi chiusi sanno produrre un file a orari fissi. Si concorda un tracciato, si deposita il file in una cartella condivisa e dall'altra parte un programma lo legge. È meno elegante di un'API e nella pratica regge benissimo, purché il tracciato sia stabile e ci sia un controllo che segnali quando il file non arriva.

La seconda è l'accesso in sola lettura al database, se il fornitore lo consente. Va limitato alla lettura: scrivere direttamente nelle tabelle di un gestionale aggirando la sua logica applicativa è il modo più rapido per corrompere i dati.

La terza è chiedere al fornitore un modulo di interscambio. Costa, ma sposta la manutenzione su chi conosce il sistema.

Variante: quando i sistemi da collegare sono più di due

Con tre o più sistemi, i collegamenti diretti crescono in fretta e diventano ingestibili: quattro sistemi collegati a coppie richiedono sei collegamenti, ognuno con la sua manutenzione. A quel punto conviene un punto centrale che riceve e smista, così ogni sistema ne conosce uno solo.

Il punto centrale può essere una piattaforma di integrazione a canone oppure un componente sviluppato su misura. La scelta dipende da quanto sono particolari le regole: se il lavoro è instradare dati con trasformazioni semplici la piattaforma basta, se le regole contengono logiche di business proprie il su misura torna competitivo. Il caso concreto più frequente nelle PMI italiane, il collegamento fra e commerce e gestionale, è raccontato in dettaglio nella guida su come collegare WooCommerce a un gestionale.

Errori comuni

Partire dalla sincronizzazione bidirezionale. Sembra la configurazione più completa ed è quella che produce i guasti peggiori, perché due sistemi che si scrivono a vicenda senza una regola di precedenza entrano in conflitto sul primo dato ambiguo. Si comincia sempre da una direzione sola.

Trattare l'integrazione come un progetto che finisce. Le interfacce cambiano, i certificati scadono, i fornitori aggiornano le versioni. Un collegamento senza un piano di manutenzione ha una vita media di pochi mesi, e la sua interruzione si scopre quasi sempre da un cliente arrabbiato.

Non scrivere niente nel capitolato. Le integrazioni sono la parte del progetto che genera più contestazioni, perché dipendono da un sistema di terzi che nessuno controlla. Chi fornisce quali credenziali, chi risponde se l'altro sistema è fermo e che cosa vuol dire "collegato" vanno messi nero su bianco: come farlo è spiegato nella guida su come scrivere un capitolato.

Automatizzare un processo che non funziona. Se il flusso manuale ha eccezioni che si risolvono a voce, l'automazione le trasforma in errori quotidiani. Prima si sistema il processo, poi lo si collega.

Quanto tempo serve e il passo successivo

Un flusso unidirezionale su pochi campi, fra due sistemi con interfacce documentate, richiede tipicamente da due a cinque giornate, riconciliazione dell'anagrafica esclusa. Quella riconciliazione, che quasi nessuno mette in conto, vale spesso quanto lo sviluppo. Un allineamento bidirezionale con regole di precedenza e gestione degli errori si misura in settimane, e la variabile principale non è chi sviluppa: è quanto è accessibile il sistema più vecchio dei due.

Ora che il flusso è definito, il passo successivo naturale è metterlo in un documento che un fornitore possa quotare senza interpretazioni, e valutare se l'integrazione fa parte di un intervento più ampio di sviluppo software su misura. Se il sistema da collegare è il primo che l'azienda si dà, e oggi i dati vivono nei fogli di calcolo, il percorso comincia prima: da come passare da Excel a un CRM.

Le indicazioni di questa guida riguardano l'organizzazione tecnica e contrattuale dei flussi. Quando fra due sistemi transitano dati personali di clienti o dipendenti, gli accordi con i fornitori coinvolti e le misure di sicurezza vanno definiti con chi si occupa della protezione dei dati in azienda: i riferimenti ufficiali sono pubblicati dal Garante per la protezione dei dati personali.

Domande frequenti

Dalla documentazione tecnica, non dal commerciale. Le domande da fare al fornitore di ciascun sistema sono tre: esiste un'interfaccia documentata per leggere e scrivere i dati che mi servono, è compresa nel contratto o si paga a parte, e c'è un ambiente di prova separato da quello di produzione. Se la risposta alla prima domanda è un'esportazione manuale in CSV, l'integrazione resta possibile ma cambia natura: diventa uno scambio programmato di file, con tempi di allineamento più lunghi e nessun aggiornamento immediato.

Il prossimo passo non impegna

Mezz'ora di call per capire se possiamo esserti utili. Decidi tu dopo.

Prenota la call