VerSyncSynchronizacjaComarch Optima

Automatyczna synchronizacja stanów magazynowych z Comarch Optima

Robert Mońka · · Zaktualizowano:

Rozbieżność stanów magazynowych między Comarch ERP Optima a sklepem internetowym to jeden z najczęstszych problemów firm sprzedających online i offline jednocześnie. Klient zamawia produkt, którego fizycznie nie ma na magazynie. Albo odwrotnie — towar leży na półce, ale platforma e-commerce pokazuje „brak”. VerSync od WebArm rozwiązuje ten problem automatyczną synchronizacją danych między systemem ERP a sklepem w konfigurowalnych interwałach — domyślnie co 30 sekund. Harmonogramy synchronizacji pozwalają określić, z jaką częstotliwością proces ma się odbywać, a cała konfiguracja trzymana jest w pliku YAML — bez klikania w ustawieniach programu.

Najważniejsze informacje

  • Synchronizacja stanów magazynowych Comarch Optima zapobiega sprzedaży towaru, którego sklep nie powinien już oferować.
  • VerSync od WebArm działa jako automat synchronizacji: wykrywa zmiany, mapuje pola, wysyła aktualizacje i zapisuje status każdej operacji.
  • Optima API dostarcza dane z Optimy przez REST API, więc sklep, marketplace lub WMS nie muszą znać COM objects ani struktury bazy SQL.
  • Najbezpieczniejszy start to Init dla wyrównania danych, potem Watch dla zmian bieżących i rollback gotowy na wypadek błędnej partii.
Cyfrowy magazyn z synchronizacją stanów w czasie rzeczywistym

Synchronizacja danych ERP: wstęp do integracji

Synchronizacja danych w systemie ERP, takim jak Comarch ERP Optima, to proces, który umożliwia płynną wymianę informacji między różnymi aplikacjami wykorzystywanymi w firmie. Dane wprowadzane w jednym miejscu — w systemie ERP — są automatycznie przekazywane do powiązanych systemów (sklep internetowy, marketplace, Comarch e-Sklep), eliminując konieczność ręcznego przepisywania informacji między aplikacjami.

W Comarch ERP Optima synchronizacja może być wspierana przez serwis operacji automatycznych działający w tle systemu operacyjnego — to narzędzie wbudowane w program, które realizuje zaplanowane zadania zgodnie z harmonogramem. VerSync dokłada do tego warstwę integracyjną: monitoruje zmiany dokumentów, towarów, stanów i kontrahentów, mapuje pola między systemami i przekazuje aktualne informacje do sklepu. Efekt: spójność danych w całym systemie ERP i w każdym powiązanym sklepie.

Stany magazynowe w Comarch ERP Optima: co trzeba zsynchronizować

Najważniejszy obszar to stany magazynowe, bo sklep podejmuje decyzję sprzedażową na podstawie liczby widocznej przy produkcie. W praktyce synchronizacja stanów magazynowych obejmuje nie tylko prostą ilość “na stanie”, ale też rezerwacje, stan dostępny, magazyn źródłowy, jednostkę miary, stawki VAT i informację, czy dany towar nadal powinien być publikowany w sklepie internetowym.

W systemie ERP Optima stan magazynowy produktu może zmienić sprzedaż, korekta dokumentu, przyjęcie dostawy, przesunięcie między magazynami, kompletacja albo anulowanie rezerwacji. Dlatego automatyczna synchronizacja powinna czytać zdarzenia z programu Comarch ERP Optima i przekazywać do sklepu tylko różnice: konkretny SKU, ilość dostępna, magazyn, status oraz czas ostatniej synchronizacji. Dzięki temu sklepem internetowym można zarządzać z jednego źródła prawdy, bez pełnego eksportu całej kartoteki przy każdej zmianie.

Jeżeli firma używa Comarch e-Sklep, WooCommerce, PrestaShop, Shopify albo panelu B2B, zasada jest ta sama: stany magazynowe po stronie sklepu muszą odzwierciedlać dane z Optimy. Comarch ERP XL ma inną architekturę i wymaga osobnego projektu integracji; ten przewodnik dotyczy Comarch ERP Optima oraz wdrożeń, w których VerSync i Optima API pełnią rolę warstwy synchronizacji.

Comarch e-Sklep, WooCommerce i PrestaShop: jak różni się synchronizacja

Synchronizacja stanów sklepu internetowego z Comarch Optima działa podobnie niezależnie od platformy: Optima pozostaje źródłem prawdy, a sklep dostaje aktualny stan, cenę i status produktu. Różni się adapter docelowy. Comarch e-Sklep korzysta z własnych mechanizmów ekosystemu Comarch, a WooCommerce, PrestaShop, Shopify, Shoper czy BaseLinker wymagają osobnego połączenia przez API lub bazę danych.

WebArm rozwiązuje ten problem przez VerSync i Optima API. Optima API pobiera dane z Comarch ERP Optima, a VerSync mapuje je do modelu konkretnej platformy e-commerce. Dzięki temu ten sam pipeline może obsłużyć stany magazynowe w sklepie, statusy zamówień, kontrahentów i ceny, bez utrzymywania osobnego kodu COM dla każdego kanału sprzedaży.

PlatformaTypowy sposób synchronizacjiNa co uważać
Comarch e-SklepMechanizmy ekosystemu Comarch i konfiguracja zgodna z Optimą.Zakres zależy od wersji i ustawień modułów Comarch.
WooCommerceREST API sklepu, SKU jako klucz dopasowania.Rezerwacje, warianty produktów i podatki wymagają jasnych reguł mapowania.
PrestaShopAPI lub bezpośredni adapter do bazy.Warianty, magazyny i ceny B2B często wymagają transformacji pól.
Shoper / BaseLinkerAPI pośrednika lub marketplace.Statusy zamówień i numery dokumentów muszą wracać do kanału sprzedaży.
Panel B2BREST API lub MariaDB/MySQL.Indywidualne cenniki i atrybuty zależne od kontrahenta są najczęstszym ryzykiem.

Problem: dwa źródła prawdy

Comarch ERP Optima to system ERP — tu odbywa się magazyn, fakturowanie, sprzedaż stacjonarna, obsługa dokumentów, kontrahentów i płatności. W programie trzymane są dokumenty sprzedażowe, dokumenty magazynowe, towary, kontrahenci, cenniki, rozliczenia. Sklep internetowy to osobny system e-commerce ze swoją bazą produktów, kategorii, stanów i zamówień.

Dane w systemie ERP i dane w sklepie muszą być ze sobą zgodne — w przeciwnym razie klienci dostają błędne informacje, a firma podejmuje decyzje na bazie rozbieżnych liczb. Automatyczną synchronizację uruchamia się właśnie po to, żeby dane między systemami przepływały bez udziału człowieka.

Bez synchronizacji stanów magazynowych masz dwa źródła prawdy, które szybko się rozjeżdżają (pełny obraz tego, co trzeba zsynchronizować między sklepem a Optimą, opisujemy w przewodniku po integracji):

  • Sprzedaż w sklepie stacjonarnym zmniejsza stan w Comarch ERP Optima, ale sklep internetowy tego nie widzi
  • Przyjęcie towaru na magazyn (PZ) zwiększa stan w Optimie, a platforma e-commerce dalej pokazuje „0”
  • Zwrot towaru, korekta, inwentaryzacja — każda operacja na dokumentach magazynowych w Optimie powinna natychmiast aktualizować sklep
  • Zmiana ceny, dodanie nowego kontrahenta, rozliczenie płatności — dane rozsiane po dwóch systemach prowadzą do duplikatów i niespójności

Brak synchronizacji prowadzi w dłuższym terminie do duplikatów kontrahentów, rozbieżności w kategoriach produktów i błędnych wartości stanów. Dobre rozwiązanie integracyjne musi więc nie tylko przekazywać zmiany, ale też logować każdą operację — status, komunikat, czas. Historia zdarzeń w logach pozwala zweryfikować poprawność procesu i szybko znaleźć źródło błędu, jeśli coś pójdzie nie tak.

Zalety automatycznej synchronizacji

Automatyczna synchronizacja danych w Comarch ERP Optima przynosi firmom kilka wymiernych korzyści:

  • Eliminacja błędów z ręcznego wprowadzania — dane w systemie ERP i w sklepie są zawsze zgodne, bez ryzyka literówki czy pominiętego towaru
  • Aktualne informacje w czasie rzeczywistym — sklep pokazuje dokładnie to, co jest na magazynie w Optimie, zamówienia nie trafiają na towar, którego nie ma
  • Szybsza obsługa klientów — zmiana stanu, ceny czy statusu zamówienia propaguje się automatycznie do wszystkich aplikacji
  • Optymalizacja procesów magazynowych — zero czasu zmarnowanego na ręczne przepisywanie dokumentów między systemami
  • Przewidywalność produkcji i sprzedaży — decyzje biznesowe opierasz na realnych liczbach, nie na szacunkach z dwóch miejsc
  • Historia każdej zmiany — pełne logi dokumentów, stanów i płatności, zapisywane ze statusem i komunikatem, ułatwiają audyt i debug

To wszystko przekłada się na czas i zasoby, które można przeznaczyć na rozwój firmy zamiast na nadganianie rozbieżności między Optimą a sklepem.

Jak działa synchronizacja przez VerSync

VerSync — silnik synchronizacji danych od WebArm — monitoruje zmiany stanów magazynowych, dokumentów, towarów i kontrahentów w Comarch ERP Optima i automatycznie przekazuje je do docelowego systemu (sklep e-commerce, marketplace, ERP, Comarch e-Sklep). VerSync pełni rolę automatu synchronizacji, który można dopasować do różnych scenariuszy biznesowych — każdy parametr synchronizacji można określić w pliku YAML, a użytkownik ma możliwość dostosowania harmonogramów do własnych potrzeb.

VerSync korzysta z Optima API (Web API do Comarch ERP Optima) do pobierania aktualnych danych, co zapewnia automatyzację procesów bez bezpośredniego dostępu do bazy SQL. Więcej o możliwościach samego REST API do Comarch ERP Optima opisujemy osobno. Efekty synchronizacji są widoczne w czasie rzeczywistym zarówno w systemie ERP, jak i w sklepie internetowym, co pozwala użytkownikowi na bieżąco monitorować status operacji.

Architektura

Comarch Optima (baza SQL Server)
       ↓ [VerSync monitoruje zmiany w czasie rzeczywistym]
   VerSync Engine
       ↓ [mapowanie pól + walidacja]
   REST API sklepu

Sklep internetowy (aktualizacja stanów)

VerSync od WebArm nie odpytuje całej tabeli stanów co 5 minut. Wykrywa tylko te pozycje, które się zmieniły od ostatniego cyklu. To oznacza minimalne obciążenie bazy Optimy nawet przy tysiącach SKU, dokumentów i kontrahentów. Wszystkie operacje synchronizacji są zapisywane w logach wraz ze statusem i komunikatem, co umożliwia późniejszą analizę, audyt oraz obsługę ewentualnych błędów.

Konfiguracja pipeline

Definiujesz synchronizację w pliku YAML:

pipeline:
  name: stany-magazynowe-sklep
  source:
    type: optima
    module: stany-magazynowe
    magazyn: MAG_GŁÓWNY
  target:
    type: woocommerce
    url: https://twoj-sklep.pl
    auth: wc_api_key
  mode: watch
  interval: 5m
  mapping:
    - from: kod
      to: sku
    - from: stanMagazynowy
      to: stock_quantity
    - from: rezerwacja
      to: meta:reserved_qty
  filters:
    - field: stanMagazynowy
      changed: true
  retry:
    maxAttempts: 3
    backoff: exponential

Każdy parametr synchronizacji można tu zdefiniować indywidualnie — harmonogramy, częstotliwość, mapowanie pól, reguły retry. Dzięki temu pipeline można dopasować do konkretnego rozwiązania: inny interwał dla stanów magazynowych, inny dla cen, inny dla kontrahentów. Konfiguracja jako plik YAML oznacza, że każda zmiana jest wersjonowana, a nie ukryta w zakładce ustawień programu.

Co się dzieje w każdym cyklu

  1. VerSync sprawdza zmiany stanów, dokumentów i towarów w Optimie (od ostatniego cyklu), zgodnie z ustalonym harmonogramem
  2. Filtruje pozycje, które faktycznie się zmieniły, dbając o poprawność i integralność danych
  3. Mapuje pola na format docelowy (Optima → WooCommerce, Shopify, Comarch e-Sklep lub inna aplikacja)
  4. Wysyła aktualizacje do sklepu przez REST API — efekty są widoczne w czasie rzeczywistym po stronie e-commerce
  5. Loguje wynik każdej operacji — status, komunikat, czas trwania, pełny kontekst (jaki rekord, jaki błąd, o której)
  6. W razie błędu uruchamia automatyczny retry z exponential backoff, a w razie uporczywego błędu — wysyła alert

Tryby synchronizacji

VerSync od WebArm obsługuje 3 tryby:

TrybZastosowanieOpis
WatchCiągła synchronizacjaMonitoruje zmiany co N minut i synchronizuje automatycznie według harmonogramu. Każda operacja zapisywana w logach ze statusem i komunikatem
InitPierwsza synchronizacjaJednorazowy pełny eksport wszystkich stanów, towarów i dokumentów do sklepu — wyrównanie punktu startowego
RollbackCofnięcie błęduPrzywraca stany sprzed konkretnej operacji synchronizacji na podstawie historii w logach
Etap wdrożeniaCelKryterium przejścia dalej
Dry-runsprawdzić mapowanie bez zapisuraport pokazuje oczekiwane zmiany
Initwyrównać produkty i stany startoweliczba rozbieżności po synchronizacji jest akceptowalna
Watchaktualizować zmiany bieżącecykle kończą się bez błędów przez ustalony okres
Rollback testpotwierdzić odwracalnośćpojedyncza partia może zostać cofnięta bez ręcznej pracy

Typowy setup: najpierw Init (pełne wyrównanie stanów i towarów), potem Watch (ciągłe monitorowanie zmian). Rollback trzymasz w zanadrzu na wypadek, gdyby jakaś partia danych trafiła do sklepu błędnie — zamiast ręcznie odkręcać, cofasz jeden cykl.

Monitoring i alerty

W planie Full dostępny jest dashboard Grafana z metrykami synchronizacji. Wszystkie operacje są zapisywane w logach wraz ze statusem i komunikatem, co umożliwia trwałe przechowywanie historii oraz późniejszą analizę. Użytkownik ma dostęp do aplikacji monitorujących proces, a obsługa błędów i weryfikacja poprawności danych są kluczowe dla sprawnego działania synchronizacji. Dashboard prezentuje m.in.:

  • Liczbę zsynchronizowanych pozycji per cykl (stany, dokumenty, towary, kontrahenci)
  • Czas trwania każdego cyklu synchronizacji
  • Błędy z kontekstem — jaka pozycja, jaki komunikat, jaki status, kiedy
  • Historię zmian dla konkretnego SKU, dokumentu lub kontrahenta

Alerty konfigurujesz na poziomie pipeline — email, Slack. Jeśli synchronizacja nie wykona się w 3 kolejnych cyklach, dostajesz powiadomienie. Odpowiedzi na typowe problemy i scenariusze znajdziesz też w naszym FAQ.

Synchronizacja wielokanałowa — jedno źródło prawdy, wiele platform

Wyzwania związane z synchronizacją

Wdrożenie automatycznej synchronizacji danych w systemie ERP wiąże się z kilkoma typowymi wyzwaniami, na które warto być przygotowanym:

  • Mapowanie pól między systemami — pola w Optimie nie zawsze mają bezpośredni odpowiednik w sklepie. Konfiguracja mapowania to najważniejszy parametr pipeline’a
  • Niezgodność formatów — ceny z przecinkiem vs kropką, kody SKU z polskimi znakami, daty w różnych strefach. Trzeba to rozwiązać na etapie walidacji
  • Licencja na użytkownika integracyjnego — Comarch wymaga, żeby integracja pracowała na dedykowanym użytkowniku. Ułatwia to audyt i debug zmian w rekordach
  • Obsługa błędów — co się dzieje, gdy sklep jest chwilowo niedostępny? Dobry pipeline ma retry, kolejkę i alerty
  • Weryfikacja poprawności — na każdym etapie wdrożenia warto przeprowadzać testy: pojedynczy rekord, paczka 10 rekordów, pełny import. Dopiero po pozytywnych testach włączasz tryb Watch na produkcji

Stałe monitorowanie procesu i szybka reakcja na komunikaty błędów pozwalają zminimalizować ryzyko przestojów. Dlatego logi i dashboard to nie ozdoba — to pierwsze miejsce, do którego zaglądasz przy każdej nieprawidłowości.

Najlepsze praktyki

Żeby w pełni wykorzystać potencjał automatycznej synchronizacji danych w Comarch ERP Optima, warto trzymać się kilku sprawdzonych zasad:

  • Regularnie przeglądaj logi — status i komunikat każdej operacji to pierwsze źródło wiedzy o tym, czy proces działa poprawnie
  • Dostosuj konfigurację do specyfiki firmy — jeden harmonogram nie pasuje do wszystkich. Stany magazynowe co 5 minut, ceny co godzinę, kontrahenci raz dziennie
  • Używaj harmonogramów zamiast ciągłych pętli — regularność i przewidywalność procesu są ważniejsze niż pozorna „natychmiastowość” co sekundę
  • Aktualizuj Comarch ERP Optima — serwis operacji automatycznych i API zmieniają się między wersjami programu. Zgodność wersji = mniej problemów
  • Przeszkol użytkownika integracyjnego — osoba odpowiedzialna za synchronizację powinna rozumieć, co dzieje się w każdym cyklu i gdzie szukać logów
  • Zacznij od jednego pipeline’a — nie włączaj wszystkiego naraz. Najpierw stany magazynowe, potem dokumenty, potem kontrahenci. Każdy moduł oddzielnie przetestowany

Dodatkowo warto mieć dedykowanego użytkownika integracyjnego w systemie Comarch ERP Optima — ułatwia to audyt zmian w rekordach i oddziela ruch „ludzki” od „automatycznego” w logach.

FAQ — najczęściej zadawane pytania

Czy synchronizacja danych w Comarch ERP Optima wymaga pisania kodu? Nie. Konfiguracja pipeline’a odbywa się w pliku YAML — określasz źródło, cel, mapowanie pól i harmonogram. Proces synchronizacji jest obsługiwany przez VerSync i nie wymaga programowania. Każdy parametr synchronizacji można zmienić w zakładce pipeline bez przestoju.

Co z wydajnością przy tysiącach rekordów? VerSync synchronizuje tylko to, co się zmieniło od ostatniego cyklu. Dzięki temu proces działa szybko nawet przy dużej bazie dokumentów, towarów i kontrahentów. Baza SQL Optimy nie jest zalewana pełnymi zapytaniami, a sklep dostaje tylko te rekordy, które faktycznie wymagają aktualizacji.

Jak często dane są aktualizowane? Harmonogramy synchronizacji pozwalają określić, z jaką częstotliwością proces ma się wykonywać — domyślnie co 30 sekund dla stanów magazynowych, ale możesz ustawić dowolny interwał per pipeline (1 minuta, 5 minut, godzina). Każdy moduł — stany, dokumenty, towary, kontrahenci — może mieć własny harmonogram.

Co się dzieje, gdy sklep jest niedostępny? VerSync retry’uje operację z exponential backoff, a po 3 nieudanych cyklach wysyła alert. Status i komunikat każdej operacji trafiają do logów, więc użytkownik zawsze wie, co się wydarzyło.

Czy VerSync od WebArm działa z Comarch e-Sklep? Tak. Jeden pipeline może synchronizować dane do Comarch e-Sklep, inny do WooCommerce, trzeci do Allegro — wszystko z tego samego źródła w Comarch ERP Optima.

Ile licencji Optimy potrzebuję? Integracja powinna mieć dedykowanego użytkownika integracyjnego w Comarch ERP Optima. To jedna licencja — pozwala łatwiej śledzić, które zmiany w rekordach pochodzą z automatu, a które z ręcznej pracy w programie.

Częste scenariusze

Sprzedaż wielokanałowa (sklep + Allegro + stacjonarnie)

Jedno źródło prawdy (Comarch ERP Optima) → wiele celów. Sprzedaż wielokanałowa wymaga, żeby każda platforma e-commerce widziała aktualne stany w czasie rzeczywistym. Definiujesz osobne pipeline’y dla każdego kanału — z własnym harmonogramem, mapowaniem i alertami. Wszystkie operacje są zapisywane w logach wraz ze statusem i komunikatem, co pozwala ocenić, który kanał zsynchronizował się poprawnie, a który wymaga interwencji.

pipelines:
  - name: stany-woocommerce
    target:
      type: woocommerce
    interval: 5m

  - name: stany-allegro
    target:
      type: allegro
    interval: 10m

Wiele magazynów

Optima obsługuje wiele magazynów. VerSync pozwala synchronizować stany z konkretnego magazynu lub sumę ze wszystkich — w zależności od tego, jak sklep powinien pokazywać dostępność towarów. Harmonogram, częstotliwość i zakres magazynów definiujesz w pipeline, a efekty synchronizacji są widoczne w czasie rzeczywistym po stronie sklepu.

source:
  type: optima
  module: stany-magazynowe
  magazyn: all
  aggregation: sum

Rezerwacje

Klient złożył zamówienie, ale jeszcze nie zapłacił. Towar jest zarezerwowany w Optimie, ale fizycznie wciąż leży na magazynie. VerSync może synchronizować stan dostępny (po odjęciu rezerwacji), żeby sklep nie sprzedał tego samego towaru drugi raz. Operacja jest logowana ze statusem i komunikatem — widać, ile sztuk zostało zarezerwowanych, ile wróciło po anulowaniu zamówienia, a ile faktycznie wyszło z magazynu.

mapping:
  - from: stanDostepny
    to: stock_quantity

Dlaczego WebArm

VerSync to autorski silnik synchronizacji firmy WebArm — producenta narzędzi integracyjnych dla Comarch ERP Optima. WebArm specjalizuje się wyłącznie w integracjach Optimy (REST API, synchronizacja danych, wdrożenia produkcyjne) i utrzymuje VerSync z aktualizacjami pod kolejne wersje Comarcha. Razem z VerSync WebArm dostarcza Optima API — lokalny serwer REST, który eksponuje wszystkie kluczowe encje Comarcha przez HTTP/JSON i jest fundamentem warstwy synchronizacji.

Klienci WebArm to producenci, dystrybutorzy i firmy handlowe prowadzący sprzedaż omnichannel — sklep + Allegro/marketplace + B2B z jednego źródła w Optimie. Wdrożenia realizujemy bezpośrednio: analiza, konfiguracja pipeline’ów, monitoring produkcyjny, utrzymanie. Pełen przykład z produkcji opisuje case study Kapelanczyk.

Podsumowanie

Automatyczna synchronizacja stanów magazynowych, dokumentów i towarów między Comarch ERP Optima a platformami e-commerce to podstawa sprzedaży wielokanałowej. VerSync od WebArm eliminuje ręczne aktualizacje, rozbieżności danych i sprzedaż towaru, którego nie ma na magazynie.

Konfiguracja w YAML. Monitoring w Grafanie. Rollback w razie błędu. Logi ze statusem i komunikatem dla każdej operacji. Bez pisania kodu — automatyzacja procesów magazynowych od pierwszego dnia. Jak to wygląda w działaniu na produkcji — opisujemy w case study firmy Kapelanczyk.


Chcesz zsynchronizować stany magazynowe z Optimy ze sklepem? Sprawdź odpowiedzi na najczęstsze pytania lub skontaktuj się z nami.


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?