Sincronizarea clientilor facturabili

<< Click pentru afișare cuprins >>

Navigare:  SmartCash Everywhere REST Server > Studii De Caz > Integrare SmartCash RMS cu aplicatii ERP > Procesele de schimb de date cu o aplicatie ERP >

Sincronizarea clientilor facturabili

In cadrul unei solutii integrate, atat in sistemul SmartCash RMS, cat si in aplicatia ERP este posibila introducerea de clienti, in scopul gestionarii diverselor activitati legate de acestia.

 

Datorita numarului mare de clienti anonimi (clienti care exista in ambele sisteme dar care nu intervin in operatiuni logistice) nu este recomandata sincronizarea lor integrala. Din punctul de vedere al aplicatiei ERP, sincronizarea clientilor intre aplicatie si SmartCash RMS trebuie efectuata doar in cazul clientilor care sunt facturabili. De regula orice nou client definit in sistemul ERP este facturabil, reciproca nefiind insa valabila in cazul aplicatiei SmartCash RMS. In cazul acesteia, majoritatea clientilor adaugati sunt persoane fizice integrate in diverse programe de fidelizare, o mica parte participand la operatii de facturare.

 

Pentru sincronizarea clientilor se recomanda aplicarea urmatorului proces:

1.Folosind un proces ciclic recurent, aplicatia ERP va apela metoda GetNextModifiedCustomers, metoda ce intoarce toti clientii nou adaugati sau asupra carora sau efectuat actualizari in sistemul SmartCash de la ultima apelare in seturi de maximum 10.000 de inregistrari. Procesul trebuie sa functioneze permanent, asincron, rezultatul fiind sincronizarea permanenta a clientilor.

2.Intr-o tabela proprie a aplicatiei ERP, tabela ce poate fi chiar cea de clienti sau, mai indicat, o tabela tampon, in functie de design, se vor salva sau actualiza toate informatiile dorite legate de fiecare client returnat. Se vor salva in principiu doar clientii pentru care campul ALLOW_INVOICES are valoarea 1, restul clientilor putand fi ignorati in general de catre aplicatia ERP. Pentru clientii primiti se vor salva obligatoriu campurile IDSMARTCASH si IDEXTAPP. In cazul noilor clienti adaugati din SmartCash, campul IDEXTAPP va fi primit gol la inceput prin interfata.

3.Dupa primirea si salvarea cu succes a modificarilor, se va confirma primirea, folosind metoda ConfirmReceivingDataByTypeOf. Parametrii importanti pentru acest tip de confirmare sunt: aTypeOf=201 si aIndexValue ce trebuie sa aiba valoarea returnata in campul RECVERSION  de metoda GetNextModifiedCustomers, apelata anterior.

4.Se repeta pasii 1-3, pana cand metoda GetNextModifiedCustomers intoarce un rezultat nul.

5.La adaugarea unui nou client in sistemul ERP acesta are de aceasta data, campul IDSMARTCASH gol si campul IDEXTAPP populat cu valoarea codului unic de client din sistemul ERP. In cazul in care se doreste, este oportuna validarea prealabila a noului client, pe baza altor campuri din tabela, cum ar fi: adresa e-mail, codul CUI, CIF, Cod Card, disponibile. In cazul in care clientul preexista se va actualiza inregistrarea existenta cu campul IDEXTAPP curent si eventual si alte informatii de identificare, iar in caz contrar, se va adauga inregistrarea respectiva.

6.Ori de cate ori se doreste reinitializarea nomenclatorului de clienti, se activeaza functia de “Reinitializare Catalog Clienti”  in centrala de magazine SmartCash RMS. In acest mod toti clientii din nomenclator sunt marcati pentru replicare, iar apelarea in continuare a metodei GetNextModifiedCustomers va aduce toate articolele din nou pe interfata.

7.Transmiterea noilor clienti inregistrati in sistemul ERP catre sistemul SmartCash se face in general, printr-un sistem programat la interval regulate de timp (scheduler). In acest caz, dupa inregistrarea locala in tabela de client, clientul va fi transmis catre SmartCash folosind metoda SaveCustomer. Prin aceasta metoda se poate transmite catre SmartCash un singur client la un moment dat. Dupa inregistrarea cu succes, metoda intoarce in rezultat codul IDSMARTCASH al clientului salvat. Acest va fi salvat imediat in campul corespunzator din tabela de clienti si poate fi folosit imediat de exemplu pentru transmiterea de comenzi de livrare catre sistemul SmartCash.

8.Ca urmare a salvarii clientului in sistemul SmartCash, acesta este automat adaugat pentru transmitere inapoi, catre sistemul ERP, odata cu apelarea urmatoare a metodei GetNextModifiedCustomers, descrisa la pct.1. Doar ca, odata cu acest apel, (si de fiecare data de acum inainte) clientul va sosi in setul de actualizari cu AMBELE campuri IDSMARTCASH si IDEXTAPP completate, acest lucru semnificand faptul ca clientul este complet cuplat intre cele doua sisteme. Este indicat ca aplicatia ERP sa procedeze la modificarea atributelor clientului respectiv (desi in acest caz nu ar mai fi nevoie) astfel incat sa existe o abordare unica a acestui schimb de date, indiferent de cauza sau sursa modificarii.

9.Dupa ce in sistemul ERP au fost actualizate informatiile legate de un client si acesta este cuplat complet (are ambele campuri completate, IDSMARTCASH si IDEXTAPP), se vor retransmite catre sistemul SmartCash datele clientului respectiv folosind tot metoda SaveCustomer.

 

Pentru organizarea optionala a clientilor pe categorii, aplicatia ERP poate pastra si lista de tipuri de clienti, asa cum sunt ei clasificati in sistemul SmartCash prin implementarea metodei GetTypeOfCustomers. Aceasta este insa optionala si depinde doar de eventuale cerinte de logica interna de proces. In general nu este necesara maparea clasificarii clientilor din SmartCash si pe aplicatia ERP.