Integracja WooCommerce z ERP — gdzie najczęściej pojawiają się problemy
Integracja sklepu z systemem ERP ma prosty cel: dane w obu systemach powinny się zgadzać bez ręcznego przepisywania. W praktyce trudności rzadko wynikają z samego API. Częściej z tego, że dwa systemy inaczej rozumieją te same dane.
Które dane płyną i w którą stronę
Pierwsze pytanie przy każdej integracji brzmi: który system jest źródłem prawdy dla danej informacji. Typowy podział wygląda tak:
| Dane | Najczęstsze źródło | Kierunek |
|---|---|---|
| Produkty i warianty | ERP | ERP → WooCommerce |
| Ceny | ERP | ERP → WooCommerce |
| Stany magazynowe | ERP | ERP → WooCommerce |
| Zamówienia | WooCommerce | WooCommerce → ERP |
| Statusy zamówień | ERP | ERP → WooCommerce |
Każda firma może mieć inny podział, ale musi on być ustalony przed pisaniem kodu.
Gdzie integracje najczęściej się rozjeżdżają
Identyfikatory produktów. ERP posługuje się własnymi indeksami, sklep ma SKU i identyfikatory wariantów. Bez jednoznacznego mapowania synchronizacja zaczyna tworzyć duplikaty albo aktualizować niewłaściwe produkty.
Warianty. W ERP wariant bywa osobną pozycją, w WooCommerce jest dzieckiem produktu zmiennego. Trzeba ustalić, jak budować i aktualizować tę strukturę.
Ceny. Ceny netto i brutto, cenniki dla grup klientów, promocje ustawiane w sklepie. Jeśli oba systemy mogą zmieniać cenę, łatwo o nadpisywanie danych.
Stany magazynowe. Między synchronizacjami stan w sklepie może być nieaktualny. Częstotliwość synchronizacji i zachowanie przy braku towaru warto ustalić z góry.
Zamówienia. Zamówienie przekazane do ERP musi zawierać wszystko, czego ERP wymaga: dane klienta, sposób dostawy, płatność, rabaty. Brak jednego pola potrafi zatrzymać cały proces.
Synchronizacja: harmonogram czy zdarzenia
Są dwa podstawowe modele:
- okresowa synchronizacja, np. co kilka minut lub raz na noc, dobra dla dużych katalogów i danych, które nie muszą być natychmiastowe;
- synchronizacja oparta na zdarzeniach, np. webhook po złożeniu zamówienia, dobra tam, gdzie liczy się czas reakcji.
W praktyce często łączy się oba podejścia. Długie operacje warto wykonywać w tle, np. przez kolejkę lub Action Scheduler, aby nie spowalniały sklepu.
Błędy są częścią integracji
API bywa niedostępne, dane bywają niekompletne. Dobra integracja zakłada to od początku: zapisuje logi, ponawia nieudane operacje i informuje zespół, gdy coś wymaga ręcznej decyzji. Dzięki temu problem z jednym zamówieniem nie zatrzymuje całej sprzedaży.