Blog

Jak połączyć sklep, ERP i magazyn, żeby dane przestały się rozjeżdżać

Stany magazynowe niezgodne z rzeczywistością, zamówienia niesynchronizowane z ERP, magazyn na Excelu — jak przeprowadzić integrację sklepu z ERP i WMS krok po kroku.

  • Strategia oparta o dane i cele biznesowe.
  • Rekomendacje UX, integracji i automatyzacji.
  • Plan wdrożeń i wsparcie zespołu.

Jeden z najbardziej frustrujących scenariuszy dla właściciela e-commerce brzmi tak: klient zamawia produkt przez sklep, płaci, dostaje potwierdzenie — a tydzień później okazuje się, że towaru nie ma w magazynie, bo stan widoczny w sklepie nie był aktualny. Albo: dział sprzedaży wystawia faktury w Symfonii, sklep ma własną bazę zamówień, magazyn prowadzi stany w Excelu, a na koniec miesiąca nikt nie jest pewien, co jest, a czego nie ma. To nie są wyjątki — to codzienność sklepów, które rosły organicznie i dokładały kolejne narzędzia bez planu integracji.

Integracja sklepu internetowego z ERP i systemem magazynowym (WMS) to jeden z tematów, przy których pojawia się największa rozbieżność między oczekiwaniami a rzeczywistością. Firmy wyobrażają sobie „podłączenie” jako jednorazowy projekt — wystarczy kupić wtyczkę i gotowe. W praktyce integracja to projekt z analizą przepływów danych, mapowaniem pól, obsługą błędów i testowaniem brzegowych przypadków. Ale zrobiona poprawnie — jest jednym z najlepszych zwrotów z inwestycji technologicznej, jaką może zrobić sklep.

Twoje dane w sklepie i ERP się rozjeżdżają?

Zaprojektujemy i wdrożymy integrację WooCommerce z Twoim ERP i magazynem — z monitoringiem, obsługą błędów i dokumentacją. Zacznij od bezpłatnej analizy.

Omów integrację ERP

Dlaczego dane się rozjeżdżają — anatomia problemu

Dane „rozjeżdżają się”, gdy kilka systemów przechowuje te same informacje niezależnie od siebie, bez mechanizmu synchronizacji. Sklep WooCommerce ma własną bazę produktów ze stanami magazynowymi. ERP (np. Comarch Optima, Subiekt GT, SAP Business One) ma własne stany. Magazyn może mieć WMS lub — częściej — osobne arkusze lub własny system. Kiedy handlowiec w ERP przyjmuje dostawę i aktualizuje stan, sklep o tym nie wie. Kiedy sklep realizuje zamówienie i rezerwuje towar, ERP nie odnotowuje rezerwacji. Efekt: podwójne sprzedaże, niezgodności inwentaryzacyjne, frustracja klientów i nieprzewidywalne wyniki finansowe.

Badanie przeprowadzone przez Aberdeen Group na próbie 350 firm e-commerce pokazuje, że firmy z synchronizacją stanów magazynowych w czasie rzeczywistym (do 15 minut) mają wskaźnik pomyłek w realizacji zamówień na poziomie 1,2% — podczas gdy firmy synchronizujące dane raz dziennie lub ręcznie notują błędy rzędu 4,6–8,9%. Przy dużej skali to przekłada się na setki niezrealizowanych zamówień miesięcznie, koszty obsługi reklamacji i realną utratę klientów.

Architektura integracji: co łączymy i w którą stronę

Zanim pomyślimy o technologii, musimy zrozumieć, co z czym się komunikuje i w którą stronę płyną dane. W typowej integracji sklep–ERP–magazyn mamy kilka strumieni. Ze sklepu do ERP płyną: zamówienia (do wystawienia dokumentu sprzedaży i faktury), dane klientów (do kartoteki kontrahentów) i płatności (do rozliczeń). Z ERP do sklepu płyną: stany magazynowe (aktualizacja dostępności), ceny (zmiany cennikowe), produkty (nowe SKU lub aktualizacje atrybutów). Z ERP do WMS (lub odwrotnie): rezerwacje, kompletacje, stany po przyjęciu dostawy.

Kluczowe pytania na etapie projektowania: Które dane są „źródłem prawdy”? Jeśli cena zmienia się w ERP — sklep pobiera ją stamtąd, nie odwrotnie. Jeśli produkty są zarządzane w sklepie (np. z opisami SEO i zdjęciami) — ERP pobiera tylko dane produktowe, nie treści. Jak często synchronizacja ma się odbywać: real-time (webhook), co kilka minut (polling API) czy nocna (batch)? To zależy od dynamiki sprzedaży — sklep z tysiącami zamówień dziennie potrzebuje synchronizacji stanów co kilka minut, sklep z kilkudziesięcioma — nocna wystarczy.

Integracja WooCommerce z polskimi ERP-ami

Najpopularniejsze ERP w polskim e-commerce to Comarch Optima (MŚP), Comarch ERP XL (enterprise), Subiekt GT i Subiekt Nexo (mikrofirmy i MŚP), InsERT Navireo (handel), SAP Business One (duże firmy) i Symfonia. Każdy z nich ma inne API, inne formaty danych i inne możliwości integracji. Comarch Optima ma relatywnie dobre API REST od wersji 2021, co ułatwia integrację. Subiekt GT historycznie był trudny do integracji przez brak natywnego API — dostępny był przez SOAP lub przez plik XML, co generowało dodatkową złożoność.

Dla WooCommerce dostępne są wtyczki integracyjne dla najpopularniejszych polskich ERP-ów: BaseLinker (agregator, który obsługuje wiele ERP i marketplace), Shoper Connector, dedykowane wtyczki od partnerów Comarch i InsERT. BaseLinker jest szczególnie popularny jako „middleware” — narzędzie pośredniczące, które zbiera zamówienia z wielu kanałów (sklep, Allegro, Amazon) i przekazuje je do ERP w ujednoliconym formacie. Nie jest to rozwiązanie dla każdego (koszty i ograniczenia), ale dla sklepów sprzedających wielokanałowo jest często pierwszą sensowną opcją przed budową własnej integracji.

Własna integracja API — czyli custom connector napisany przez programistów — daje największą elastyczność, ale wymaga utrzymania. Zmiany w API ERP (nowe wersje systemu, zmiany struktury danych) wymagają aktualizacji kodu. Dlatego dobry connector powinien być modularny, dobrze udokumentowany i objęty testami automatycznymi — żeby przy update ERP do nowej wersji nie trzeba było przerywać produkcji na tydzień napraw. W VisioLab budujemy integracje z testami regresji i monitoringiem, który alarmuje przy błędach synchronizacji zanim zorientuje się klient.

Stany magazynowe i rezerwacje — najtrudniejszy element

Zarządzanie stanami magazynowymi w integracji to temat, który generuje najwięcej błędów. Problem techniczny jest prosty: synchronizuj stan z ERP do sklepu co X minut. Problem operacyjny jest trudniejszy: co to jest „dostępny stan”? Czy to fizyczny stan magazynowy? Czy pomniejszony o zamówienia złożone, ale jeszcze niezrealizowane? Czy pomniejszony o rezerwacje handlowców dla klientów B2B? Czy uwzględniający towar w tranzycie (zamówiony u dostawcy, ale jeszcze niedostarczony)?

Każda z tych definicji „dostępności” daje inny wynik i ma inne konsekwencje biznesowe. Sklep pokazujący stan fizyczny bez rezerwacji może sprzedać ten sam towar dwóm klientom. Sklep pokazujący stan z rezerwacjami B2B może być dla klientów detalicznych „zawsze niedostępny”, mimo że towar fizycznie jest. Prawidłowa odpowiedź zależy od modelu sprzedaży — i powinna być ustalona na etapie projektowania integracji, a nie odkryta po wdrożeniu. To jeden z przykładów, dlaczego warsztaty wymagań przed integracją są absolutnie niezbędne.

Obsługa błędów i monitoring integracji

Integracja, która działa bezbłędnie przez rok, a potem zaczyna gubić zamówienia bez alarmu — jest gorsza niż brak integracji. Każda integracja musi mieć mechanizm monitoringu i obsługi błędów. Minimum: log każdego transferu danych (co, kiedy, czy się udało), alert przy błędzie synchronizacji (email lub Slack do administratora), retry mechanizm (jeśli ERP nie odpowiedział, próba za X minut), panel statusu widoczny dla obsługi sklepu.

Typowe błędy w produkcji to: timeout API ERP (system niedostępny przez chwilę), zmiana formatu danych po aktualizacji ERP, błąd autoryzacji po zmianie hasła lub certyfikatu, limit API (za dużo requestów w krótkim czasie), nieoczekiwany format produktu (np. SKU z polskimi znakami, których ERP nie akceptuje). Każdy z tych błędów powinien być obsłużony — z retry lub alertem — a nie prowadzić do „cichego” pominięcia synchronizacji. Cicha awaria integracji to najgroźniejsza sytuacja, bo nikt jej nie widzi, dopóki klient nie zadzwoni z reklamacją.

Od czego zacząć integrację

Rekomendowany plan: zacznij od mapowania przepływów danych — które dane, skąd dokąd, jak często, kto jest „źródłem prawdy”. Następnie określ priorytety: co jest krytyczne (stany magazynowe, zamówienia), a co można zrobić w drugiej kolejności (synchronizacja cen, katalog produktów). Zbuduj integrację iteracyjnie — nie próbuj połączyć wszystkiego naraz. Pierwsza wersja: synchronizacja zamówień ze sklepu do ERP i stanów z ERP do sklepu. Druga wersja: synchronizacja cen i produktów. Trzecia: integracja z WMS, raportowanie, automatyzacje dodatkowe.

Jeśli prowadzisz sprzedaż B2B równolegle z B2C, polecam wcześniej zapoznać się z artykułem o workflow zamówień B2B i wyborze platformy B2B — integracja ERP w kontekście B2B ma dodatkowe warstwy złożoności (indywidualne cenniki per klient, limity kredytowe, multi-address delivery), które warto zaplanować z wyprzedzeniem.

FAQ

Najczestsze pytania

Odpowiedzi na pytania, które pojawiaja sie przy wdrożeniach.

Niezgodności wynikają z braku synchronizacji w czasie rzeczywistym. Każdy system aktualizuje dane niezależnie: ERP przy przyjęciu dostawy, sklep przy sprzedaży, magazyn przy kompletacji. Bez integracji każda operacja w jednym systemie nie jest widoczna w pozostałych. Rozwiązanie: automatyczna synchronizacja z jednym "źródłem prawdy".

Zależy od dynamiki sprzedaży. Sklep z setkami zamówień dziennie potrzebuje synchronizacji co 5–15 minut lub webhooków. Sklep z kilkudziesięcioma zamówieniami — synchronizacja co godzinę lub nocna wystarczy. Kluczowe: synchronizacja stanów musi być częstsza niż średni czas między zamówieniami na ten sam produkt.

BaseLinker to dobry punkt startowy dla sklepów sprzedających wielokanałowo (sklep + Allegro + Amazon). Obsługuje wiele ERP i marketplace, ale ma ograniczenia: koszty miesięczne, ograniczoną personalizację logiki i nie obsługuje wszystkich polskich ERP. Przy bardzo specyficznych wymaganiach lub dużej skali — własna integracja API jest bardziej elastyczna.

Najczęstsze: timeout API ERP (system niedostępny chwilowo), zmiana formatu danych po aktualizacji ERP, błąd autoryzacji po zmianie hasła, limit API (za dużo requestów). Każdy z tych błędów wymaga obsługi (retry, alert) — integracja bez monitoringu to bomba z opóźnionym zapłonem.

Zacznij od mapowania przepływów: które dane, skąd dokąd, jak często, kto jest "źródłem prawdy". Ustal priorytety (zamówienia i stany — najpierw, ceny i katalog — później). Buduj iteracyjnie. Zrób warsztaty z osobami odpowiedzialnymi za ERP, magazyn i sklep — bez tej rozmowy każdy projekt integracji ma luki.