Novità!!! E' disponibile il Video Corso "E-commerce con Magento" + di 20h di formazione Scopri di più

Integrazione Magento con i sistemi gestionali esterni – [Guest Post]

Uno dei temi più scottanti quando si parla di Magento e che i nostri clienti ci chiedono spesso, è l’integrazione di Magento con Gestionali Esterni. Le esigenze sono molteplici: spesso capita che il cliente abbia già un gestionale dal quale estrapolare i dati dei prodotti, in altri il cliente ha già un sito ecommerce e vuole esportare gli ordini all’interno del suo gestionale. Alessandro Gnola, sviluppatore Magento che ci racconta la sua esperienza con l’integrazione Magento e il gestionale Gamma.

integrazione magento gestionali
No ratings yet.

Uno dei temi più scottanti quando si parla di Magento e che i nostri clienti ci chiedono spesso, è l’integrazione di Magento con Gestionali Esterni.

Le esigenze sono molteplici: spesso capita che il cliente abbia già un gestionale dal quale estrapolare i dati dei prodotti, in altri il cliente ha già un sito ecommerce e vuole esportare gli ordini all’interno del suo gestionale.

Esistono moltissimi gestionali in commercio e il processo di integrazione non è sempre semplice ed immediato come si pensa.

Tra le integrazioni più frequenti, citiamo:

  • Integrazione Magento e AS400
  • Integrazione Magento e Passpartout
  • Integrazione Magento e Gamma, di Team System
  • Integrazione Magento e gestionali proprietari.

L’integrazione di E-commerce con i gestionali è un’operazione complessa. Magento non fa differenza. La difficoltà è proporzionale al livello di integrazione. Ogni gestionale è sviluppato in modo diverso e anche le procedure sono molto simili fra loro l’organizzazione tabelle sono tutte diverse.
Non c’è la cosiddetta “best pratice”, o un modulo magico che si installa e fa tutto per tutti i gestionali, ma ogni progetto va analizzato per capirne le criticità e va fatta un’integrazione ad hoc.

Integrazione Magento e gestionale Gamma

L’ultima integrazione su cui ho lavorato è stata quella tra Magento e il gestionale Gamma di Team System.

Il cliente aveva l’esigenza di non voler mai mettere le mani sul backend di Magento: desiderava gestire tutto dal suo gestionale.

Il mio scopo quindi è stato delineare un progetto di massima per definire le operazioni che il cliente poteva eseguire dal suo gestionale senza creare un progetto troppo complesso.

Ad esempio, un dettaglio che mi è stato subito chiaro è stato quello di non replicare la gestione degli attributi perché le problematiche che sarebbero potute nascere sarebbero state enormi.

Le macro aree su cui ho deciso di concentrarmi sono state quattro:
­

  • anagrafica clienti
  • anagrafica articoli
  • ordini ­prezzi live
  • relativi sconti

Affrontare tutte le problematiche a cui sono andato incontro sarebbe troppo complesso e dispersivo, perciò affronterò brevemente il discorso ordini perché riassume, in se, molte criticità del progetto affrontato.

Esportazione degli Ordini da Magento verso il Gestionale: Spiegazione Tecnica

Se si effettua una ricerca su google su una stringa del tipo: “magento export orders programmatically” abbiamo diversi risultati.

Diciamo, che per i meno esperti di Magento, capire come funziona l’esportazione dei dati potrebbe essere un’ottimo punto di partenza.

Nel mio caso le problematiche erano doppie: non dovevo solo esportare gli ordini, i clienti, gli articoli e gli sconti da Magento, ma anche popolare il gestionale o meglio, popolare il database di interscambio posto tra la rete e il gestionale.

Il mio progetto prevedeva una struttura di questo tipo:

integrazione magento gestionali

Il database di interscambio è stato inserito per un discorso sicurezza.

Esportazione in files CSV

Per facilità di spiegazione parlerò di esportazione dati verso file csv, ovvero file con dati delimitati da una virgola.

Solitamente, o almeno per la mia esperienza, nell’esportazione degli ordini, si utilizzano sempre due file:

  • File Testata: dove vengono inseriti i dati di fatturazione e spedizione.
  • File Riga: dove vengono inseriti i dati relativi agli articoli con un campo “join”. In questo caso il mio campo join è stato il numero ordine.

Un consiglio importante è quello di usare, quando possibile, le api di Magento. Sicuramente non è sempre possibile ma spesso si.

Nel mio caso ho dovuto fare un mix. Questo perchè il cliente, nella testata, non voleva solo i dati “Billing” e “shipping” ma anche il codice cliente e il codice destinazione, campi che prelevavo in fase di importazione (aggiornamento) delle anagrafiche clienti.

Non ne ho fatto cenno, ma in fase di importazione/aggiornamento anagrafiche, il cliente voleva venissero importati non solo i dati di fatturazione ma anche quelli di spedizione. Ogni cliente poteva avere infiniti indirizzi di destinazione merce. Quindi ogni notte, non dovevo solo aggiornare i dati di fatturazione, ma anche l’email e le anagrafiche spedizione.

Gestione degli sconti

Quando si parla del file riga bisogna considerare che i gestionali, in genere, ha una gestione degli sconti molto vasta e complessa.

Nel mio caso avevo 4 livelli di sconto:
­

  1. sconto articolo
  2. sconto cliente articolo
  3. sconto quantità ­
  4. sconto famiglia articolo

Per ognuno degli sconti di cui sopra avevo due livelli di sconto.

Anche la gestione sconti va riportata nel file riga per permettere, al gestionale, di avere sia il prezzo di listino che quello scontato. E’ quindi necessario riprodurre, tramite una serie di funzioni, il corretto funzionamento degli sconti.

Conclusioni

In questo breve articolo ho cercato di riassumere alcune delle criticità riscontrate in un’integrazione personalizzata per un cliente, tra il sito Magento e il suo gestionale. Un’integrazione di questo tipo può nascondere molte difficoltà, non lo nego.

Per affrontare un’integrazione è necessario quindi conoscere il funzionamento, almeno in linea teorica, delle problematiche e criticità aziendali.

Bisogna avere chiaro il funzionamento della parte commerciale di un’azienda (ordini, sconti, fatture, bolle,listini,creazione del prezzo, ecc…) e in alcuni casi anche della gestione industriale (distinte basi, gerarchie figli/padre, fogli istruzione, creazione del codice prodotto, ecc…).

Per fare quindi un’integrazione tra Magento e un gestionale, bisogna analizzare moltissime casistiche e fare molti test al fine di avere una procedura snella, veloce e sicura. Consiglio quindi di fare un’attenta analisi preliminare del progetto prima di avventurarsi in un lavoro complesso di questo tipo.

Se avete domande relativamente a questo argomento, lasciate un commento, sarò felice di rispondervi!

Ti è piaciuto questo articolo? Votalo!

Magento è un marchio registrato di Magento Inc. MagenTiamo è un progetto indipendente non affiliato direttamente dal progetto Magento o chi ne detiene il trademark.