Case studyVerSyncComarch Optima

Case study: synchronizacja produktów Comarch Optima z panelem B2B

Robert Mońka · · Zaktualizowano:

To case study opisuje wdrożenie, w którym Comarch ERP Optima, panel B2B i VerSync pracują na tych samych danych.

Firma Kapelanczyk miała sklep, panel handlowy, magazyn i księgowość, ale produkty były zapisywane w kilku miejscach.

Problemem nie była sama integracja. Problemem była codzienna synchronizacja, kontrola zmian i wykonanie procesu bez porównywania rekordów.

WebArm połączył Optima API, VerSync i panel B2B, aby Comarch ERP Optima została systemem księgowo-magazynowym.

Panel B2B pozostał miejscem, w którym użytkownik obsługuje ofertę, klientów i sprzedaż.

W briefach technicznych ten sam problem bywa zapisywany bez polskich znaków jako synchronizacja produktow comarch optima, ale w praktyce chodzi o kontrolę katalogu, cen i zamówień.

Synchronizacja danych między Comarch Optima a panelem B2B

Najważniejsze informacje

Automatyczna synchronizacja obejmuje produkty, towary, dane katalogowe, ceny, zamówień, kontrahentów i statusy zleceń.

Comarch ERP Optima jest źródłem dla magazynu, dokumentów i części rozliczeń, a panel decyduje o ofercie B2B.

Synchronizacja danych nie zastępuje operatora. Użytkownik widzi komunikat, wynik i możliwość poprawy wyjątku.

Każdy parametr ma opisany kierunek, dlatego konfiguracja jest czytelna dla wdrożenia i późniejszego utrzymania.

Automat synchronizacji działa cyklicznie, a harmonogramy określają, kiedy w systemie sprzedaży mają być sprawdzane zmiany.

W pierwszej kolejności wdrożono produkty i towary, później synchronizację zamówień oraz statusy dokumentów.

Comarch ERP Optima i automatyczna synchronizacja danych

Comarch ERP Optima przechowuje towary, faktury, dokumentów i dane potrzebne księgowości.

Comarch ERP Optima ma własne walidacje, dlatego zapis przez program jest ważniejszy niż szybki zapis bez kontroli.

Comarch ERP Optima działa po stronie Windows, więc Optima API wykonuje operacje w środowisku Windows i pilnuje sesji programu.

Windows jest też miejscem, w którym program Comarch może zwrócić komunikat o blokadzie, braku pola albo błędzie zapisu.

Integracja nie pomija tych zasad. Integracja wykorzystuje Optima API jako warstwę pomiędzy panelem i Comarch ERP Optima.

Synchronizacja danych oznacza, że dane pomiędzy systemami są porównywane, a różnica trafia do konkretnego zlecenia.

Architektura procesu

Proces składa się z connectora panelu B2B, connectora Optima API i kolejki VerSync.

Connector panelu czyta produkty, kategoria po kategorii, razem z kodem, nazwą, grupą, zdjęcia i wartości handlowe.

Connector Optima API zapisuje towary do Comarch ERP Optima i odczytuje wymagane informacje z magazynu.

Konfiguracja opisuje parametr źródłowy, parametr docelowy, kierunek oraz to, czy pole jest wymagane.

Jeżeli konfiguracja mówi, że parametr jest źródłem prawdy w panelu, Comarch ERP Optima przyjmuje zmianę przez API.

Jeżeli parametr pochodzi z Comarch ERP Optima, panel B2B zapisuje go jako dane referencyjne.

Takie powiązane reguły zmniejszają ryzyko, że ta sama nazwa, kod lub grupa będą inne w sklepie i w ERP.

Parametr, kod i nazwa towaru

W tym projekcie najważniejszy parametr łączy model z panelem i kod towaru w Comarch ERP Optima.

Parametr nie może być ukryty w notatce, bo wykonanie synchronizacji zależy od dokładnego dopasowania.

Kod w polu model jest normalizowany, a nazwa trafia do karty towaru zgodnie z ustalonym formatem.

Jeżeli kod jest pusty, komunikat w panelu administracyjnym pokazuje błąd i zatrzymuje jeden rekord.

Jeżeli nazwa jest zmieniona na innym stanowisku, integracja sprawdza datę modyfikacji i zapisuje zdarzenia.

To oznacza, że użytkownik widzi sam fakt konfliktu, a nie tylko komunikat o nieudanej synchronizacji.

W zakładce z logiem widać parametr, poprzednie wartości, nowe wartości i wykonanie próby zapisu.

Mapowanie produktów, cen i statusów między panelem B2B a Comarch ERP Optima

Comarch e sklep, sklep i model e sklepu

Ten sam model można wykorzystać, gdy firma ma Comarch e sklep, własny sklep internetowy albo inną platformę B2B.

Comarch e sklep wymaga, aby sklep otrzymał produkty, towary, zdjęcia i kategoria w spójnej formie.

Dla e sklepu ważne są dane o dostępności, bo sprzedaż nie może bazować na nieaktualnym magazynie.

Dla e sklepu ważne są też zamówień, kontrahentów i statusy, bo klient oczekuje widocznych informacji po zakupie.

Comarch e sklep może dostać akcję wyślij ofertę, kiedy operator potwierdzi, że produkty są gotowe.

Druga akcja wyślij ofertę może działać po kliknięciu albo automatycznie, zależnie od ustawienia w menu.

W menu narzędzia operator może wymuś pełną synchronizację oferty, jeżeli sklep ma niepełne dane.

Fraza wymuś pełną synchronizację oferty jest tu nazwą operacji, która tworzy pełną synchronizację, nie skrót myślowy.

W przypadku e sklepu integracja musi znać sklep, kanał sprzedaży, grupę klientów i poziom cenowy.

Jeżeli platformy są dwie, e sklepu nie wolno traktować jako jedynego źródła prawdy.

Comarch ERP Optima nadal przechowuje dokumenty, płatności, faktury i informacje wymagane przez księgowość.

Synchronizacja zamówień i kontrahentów

Synchronizację zamówień wdrożono jako osobny proces, bo zamówień nie można mieszać z aktualizacją katalogu.

Synchronizację zamówień uruchamia harmonogram, który sprawdza sklep i zapisuje dokumenty w Comarch ERP Optima.

Kontrahentów porównuje się po identyfikatorze, NIP, adresie i regułach, które są zapisane w konfiguracji.

Przy karcie kontrahenta integracja działa ostrożnie, bo dane klientów są bardziej wrażliwe niż opis produktu.

Klientów można dopisać, zaktualizować albo skierować do weryfikacji, jeżeli wymagane dane są sprzeczne.

W takiej sytuacji komunikat podaje, czym różni się rekord i który użytkownik powinien go sprawdzić.

Dokumentów nie tworzy się bez potwierdzenia reguł, bo płatności i magazyn muszą pozostać zgodne.

Pełna synchronizacja, automat i harmonogramy

Pełną synchronizację wykonuje się po starcie projektu, dużej zmianie mapowania albo migracji katalogu.

Automat synchronizacji sprawdza produkty, towary, zdjęcia, nazwa, kod, grupa i powiązane dane.

Automat synchronizacji nie próbuje naprawiać wszystkiego. Automat synchronizacji tworzy komunikat i pozwala ponowić proces.

Automatu używa się również wtedy, gdy ilość rekordów jest zbyt duża na ręczną kontrolę.

Wykonanie jest zapisywane w historii, więc program pokazuje ilość dodanych, zmienionych i odrzuconych rekordów.

Harmonogramy mogą działać co kilka minut, ale szybkość nie może być ważniejsza niż zgodna walidacja.

Jeżeli trzeba wykonać synchronizację ręcznie, opcja w panelu administracyjnym uruchamia zlecenie poza kolejką.

Konfiguracja pól, atrybutem i usługami

Konfiguracja obejmuje każdy parametr: kod, nazwa, opis, cena, zdjęcia, kategoria, stan i atrybutem technicznym.

Niektóre towary mają atrybutem producenta, a inne atrybutem logistycznym lub atrybutem dla sklepu.

Handel Plus i handel w Comarch ERP Optima mogą wymagać dodatkowych pól dla usług i kompletów.

Usługi nie zawsze mają magazynie stan, ale usługi nadal mogą pojawić się w ofercie i dokumentach.

Wymagane pola są opisane jawnie; wymagane może być zdjęcie, nazwa, kod, stawka albo grupa.

W ustawieniach, w zakładce, operator widzi, który parametr jest wymagane i czy można go pominąć.

W zakładce mapowania widać pole źródłowe, pole docelowe, typ wartości i regułę transformacji.

W polu tekstowym można zapisać opis, a w polu technicznym identyfikator z poprzedniego systemu.

Ponadto konfiguracja może uwzględnić handel plus, jeżeli program Comarch ERP Optima ma aktywny moduł.

Zdjęcia, dane binarne i bezpieczeństwo

Zdjęcia są obsługiwane osobno, bo pliki mają dane binarne i nie powinny być porównywane jak zwykły tekst.

Danych binarnych nie wysyła się bez potrzeby; system porównuje hash, rozmiar oraz datę ostatniej zmiany.

Jeżeli danych binarnych brakuje, komunikat wskazuje produkt, zdjęcia i źródło problemu.

Wysyłanie zdjęcia ma osobne limity, a wysyłanie dużej paczki może poczekać na wolniejsze okno nocne.

Możliwość ponowienia dotyczy jednego rekordu, co daje możliwość pracy bez zatrzymywania całego procesu.

Możliwość dry-run pozwala sprawdzić, czym skończyłaby się synchronizacja przed realnym zapisem.

Możliwość rollbacku jest potrzebna w sytuacji, gdy operator zatwierdził błędne wartości.

Monitoring i obsługa błędów

Monitoring pokazuje komunikat, status, czas, użytkownik, zlecenie i wykonanie dla każdego przebiegu.

Jeżeli program Windows zwróci komunikat, integracja zapisuje go bez skracania ważnych informacji.

Windows bywa wymagający przy sesjach COM, dlatego Optima API kontroluje Windows, timeout i kolejkę zapisów.

Na Windows działa program Comarch ERP Optima, a VerSync może działać na Linux albo w osobnej usłudze.

Takie rozdzielenie daje możliwość skalowania panelu i jednocześnie możliwość pracy z walidacją Comarch.

Uwaga operacyjna jest prosta: synchronizacja musi zatrzymać rekord, nie cały system.

Druga uwaga dotyczy współpracy działów: księgowość, handel i e sklepu muszą widzieć ten sam status.

Kontrola e sklepu w systemie

W systemie e sklepu synchronizacja sprawdza produkty, towary, ceny i ofertę; Comarch e sklep pokazuje dane.

W systemie panelu synchronizacja porównuje produkty i towary, a w systemie Comarch ERP Optima zapisuje wynik jako proces.

W systemie e sklepu synchronizacja może odświeżyć produkty, ceny i zdjęcia, ale Comarch e sklep nadal korzysta z kontroli ERP.

Dla e sklepu synchronizacja opisuje też zamówień, potrzeby klientów, wysyłanie statusów i informacje widoczne po stronie platformy.

Dla e sklepu synchronizacja nie oznacza kopiowania wszystkiego; konfiguracja wybiera produkty, towary, usługi i wymagane dane.

W ustawieniach systemu opcja zależy od potrzeb: integracja może pominąć usługi albo dodać atrybutem opisujący handel.

W systemie e sklepu synchronizacja zapisuje powiązane zdarzenia, co pomaga przy wygenerowania raportu i pomocy dla operatora.

Dzięki temu w systemie e sklepu dane są czytelne, ceny porównane, a kontrola danych pomiędzy kanałami spójna.

Dla e sklepu synchronizacja ma znaczenie w sytuacji promocji, gdy wraz z ofertą zmieniają się produkty, towary i ceny.

W systemie Comarch ERP Optima synchronizacja sprawdza hash danych binarnych, ilość zdjęć i komunikat w oknie procesu.

Jeżeli firma ma kilka kanałów, Comarch e sklep, własny sklep, panel B2B nie są osobnymi źródłami prawdy.

Comarch ERP Optima, Comarch e sklep i panel B2B mogą działać razem, jeżeli synchronizacja ma proces i reguły.

Efekt wdrożenia

Po wdrożeniu produkty i towary przestały być ręcznie sprawdzane w kilku miejscach.

Comarch ERP Optima obsługuje magazynie, faktury i dokumenty, a sklep oraz panel B2B obsługują sprzedaż.

Integracja działa cyklicznie, a synchronizacja pokazuje, które produkty są poprawne i które wymagają poprawy.

Wykonanie procesu jest mierzalne: ilość rekordów, ilość błędów, czas i komunikat są dostępne dla operatora.

To daje możliwość rozwoju platformy bez uzależnienia od ręcznych eksportów i arkuszy.

Podobne podejście opisujemy też w artykułach o integracji sklepu z Comarch Optima oraz o synchronizacji stanów magazynowych.

Jeżeli priorytetem są zamówienia, warto sprawdzić osobny opis: automatyczne zamówienia ze sklepu do Optimy.

FAQ

Czym różni się VerSync od prostego eksportu? VerSync porównuje dane, zapisuje zdarzenia i pilnuje, czy synchronizacja może bezpiecznie przejść dalej.

Czym jest Optima API w tym projekcie? Optima API to usługa, która zapisuje dane do Comarch ERP Optima zgodnie z regułami programu.

Czy Comarch e sklep jest wymagany? Nie. Comarch e sklep to jeden z kanałów, ale integracja działa też dla własnego sklepu.

Czy produkty można aktualizować z kilku miejsc? Tak, ale konfiguracja musi opisać zależności, źródło prawdy i przypadki konfliktu.

Czy w przypadku błędu trzeba zatrzymać całość? Nie. W przypadku wyjątku zatrzymuje się rekord, a reszta procesu działa dalej.

Czy dane klientów są synchronizowane automatycznie? Tak, ale dane klientów i kontrahentów mają osobne reguły weryfikacji.

Czy system działa tylko na Windows? Zapis do Comarch ERP Optima wymaga Windows, ale pozostałe usługi mogą pracować na innym środowisku.


Robert Mońka, WebArm

Robert Mońka

Programista, właściciel firmy produkcyjno-handlowej, lider zespołu WebArm. Wraz z zespołem rozwija Optima API i VerSync: REST API oraz synchronizatory do Comarch ERP Optima używane też w jego własnych firmach.

LinkedIn →

Masz pytania o integrację z Comarch Optima?