Integracja sklepu internetowego z systemem ERP
Integracja sklepu z ERP nie jest problemem technicznym, tylko decyzyjnym. Techniczne połączenie dwóch systemów to kwestia pracy. Trudne jest ustalenie, który z nich ma rację, gdy oba mówią coś innego o stanie tego samego produktu. Poniżej kolejność decyzji, które trzeba podjąć przed startem.
Po co integrować sklep z ERP
Powód jest zawsze ten sam: ktoś przepisuje dane ręcznie. Stany magazynowe z systemu do sklepu, zamówienia ze sklepu do systemu, ceny po zmianie cennika. Dopóki zamówień jest kilka dziennie, da się tak pracować. Przy kilkudziesięciu zaczyna się sprzedawanie towaru, którego nie ma, i wystawianie faktur z opóźnieniem.
Integracja ma rozwiązać trzy konkretne problemy:
- Nadsprzedaż. Sklep pokazuje dostępność, która nie odpowiada magazynowi. Opisałem ten mechanizm osobno w tekście o nadsprzedaży w sklepie.
- Podwójna praca. Ten sam produkt opisywany dwa razy, ta sama zmiana ceny wprowadzana w dwóch miejscach.
- Opóźnienie w dokumentach. Zamówienie czeka na ręczne przeniesienie, zanim powstanie faktura i zlecenie wysyłki.
Jeśli żaden z tych trzech problemów Cię nie dotyczy, integracja prawdopodobnie jeszcze się nie opłaca.
Pierwsza decyzja: kto jest źródłem prawdy
To decyzja, od której zależy cała reszta. Dla każdego rodzaju danych trzeba wskazać jeden system, który ma rację, i konsekwentnie się tego trzymać.
Typowy podział wygląda tak: stany magazynowe i ceny zakupu pochodzą z ERP, bo tam dzieją się dostawy i inwentaryzacje. Opisy, zdjęcia i ceny sprzedaży często lepiej prowadzić w sklepie, bo tam pracuje osoba od treści, a ERP rzadko nadaje się do pisania opisów. Zamówienia powstają w sklepie i idą do ERP. Statusy realizacji i numery przesyłek wracają z ERP do sklepu.
Najgorszy wariant to brak decyzji, czyli dwukierunkowa synchronizacja wszystkiego. Wtedy przy każdej rozbieżności wygrywa ten system, który ostatni wysłał dane, a to zwykle oznacza, że ktoś przez pół dnia poprawia ceny, które same się cofają.
Zapisz ten podział na kartce przed rozpoczęciem prac. Jedno zdanie na rodzaj danych wystarczy i oszczędza tygodnie dyskusji później.
Co się synchronizuje i w którą stronę
| Dane | Kierunek | Uwagi |
|---|---|---|
| Stany magazynowe | ERP do sklepu | Najczęściej synchronizowane. Wymaga ustalenia, co ze stanem rezerwowanym. |
| Ceny sprzedaży | zależnie od decyzji | Uwaga na promocje i ceny dla grup klientów, które sklep liczy po swojemu. |
| Produkty i opisy | zwykle sklep | ERP rzadko trzyma treści w jakości nadającej się do publikacji. |
| Zamówienia | sklep do ERP | Kluczowe: co z zamówieniami nieopłaconymi i anulowanymi. |
| Statusy i przesyłki | ERP do sklepu | Mapowanie statusów to osobna praca, rzadko są jeden do jednego. |
| Kontrahenci | zwykle sklep do ERP | Przy sprzedaży firmom dochodzi weryfikacja NIP i dane do faktury. |
Przy sklepach B2B dochodzą indywidualne cenniki i progi rabatowe, które muszą być liczone w jednym miejscu. Rozpisałem to w tekście o sklepie B2B na PrestaShop.
Jak często synchronizować
Nie wszystko musi iść w czasie rzeczywistym i próba wymuszenia tego zwykle kończy się obciążeniem obu systemów.
Stany przy szybko schodzącym towarze warto odświeżać co kilka minut, a przy wolnej rotacji wystarczy kilka razy dziennie. Dobrym kompromisem jest cykliczna synchronizacja całości plus natychmiastowa aktualizacja produktu zaraz po złożeniu zamówienia.
Zamówienia powinny iść do ERP od razu, bo od tego zależy wysyłka.
Produkty i opisy spokojnie raz na dobę, zwykle w nocy.
Ceny zależnie od tego, jak często zmienia się cennik. Przy cennikach zmienianych raz na kwartał synchronizacja co godzinę jest marnowaniem zasobów.
Trzy sposoby połączenia
Bezpośrednio przez API
Sklep i ERP rozmawiają ze sobą wprost. Najwięcej kontroli i najmniej ogniw, które mogą zawieść. Wymaga, żeby ERP miał udokumentowane API, i oznacza napisanie oraz utrzymanie łącznika. To rozwiązanie dla sklepów z nietypową logiką, których gotowy pośrednik nie obsłuży.
Przez pośrednika
Narzędzie pomiędzy sklepem a ERP, które zna oba systemy. W Polsce najczęściej spotykany jest BaseLinker. Szybciej się uruchamia, obsługuje przy okazji kurierów i marketplace, ale narzuca własny model danych i dokłada miesięczny koszt. Jak to wygląda w praktyce, opisałem w tekście o BaseLinkerze i PrestaShop.
Wymiana plików
Eksport i import plików CSV lub XML o ustalonych porach. Najprostsze i najtańsze, działa wszędzie, ale nie nadaje się do danych, które muszą być aktualne w ciągu minut. Dobre dla katalogu i opisów, złe dla stanów przy szybkiej rotacji. Podobnie działa integracja z hurtownią.
Co się psuje najczęściej
Rozjazd identyfikatorów. Produkt w ERP ma indeks, w sklepie ma własny numer. Jeśli para nie jest pilnowana, po pierwszej większej aktualizacji katalogu stany trafiają na niewłaściwe produkty. To najpoważniejszy i najtrudniejszy do odkręcenia błąd.
Warianty. ERP często trzyma każdy rozmiar jako osobny indeks, a sklep jako warianty jednego produktu. Mapowanie trzeba zaplanować, bo inaczej stany będą się sumować albo gubić.
Stan rezerwowany. Czy towar w niezapłaconym koszyku jest już zajęty, czy jeszcze dostępny. Brak tej decyzji to najczęstsza przyczyna nadsprzedaży mimo działającej integracji.
Ceny z promocjami. ERP wysyła cenę katalogową, sklep ma na tym produkcie aktywną promocję. Przy każdej synchronizacji promocja znika albo cena się cofa.
Cicha awaria. Synchronizacja przestaje działać, a nikt tego nie widzi, bo sklep dalej pokazuje ostatnie pobrane stany. Integracja musi mieć powiadomienie o błędzie, a nie tylko wpis w logu.
Aktualizacja jednego z systemów. Zmiana wersji ERP albo sklepu potrafi zmienić format danych. Łącznik trzeba wtedy sprawdzić, najlepiej na kopii testowej. Jak ją przygotować, opisałem w tekście o środowisku testowym sklepu.
Od czego zależy koszt
Integracje wyceniam indywidualnie, bo rozpiętość jest duża i nie da się jej uczciwie zamknąć w jednej liczbie. Na koszt wpływa przede wszystkim:
- Czy ERP ma gotowe, udokumentowane API. Jeśli nie, pierwsza część pracy to ustalenie, jak w ogóle wyciągnąć z niego dane.
- Liczba rodzajów danych i kierunków. Same stany to inna skala niż stany, ceny, produkty, zamówienia i statusy.
- Warianty i cenniki. Sklep z wariantami i cenami dla grup klientów wymaga znacznie więcej uzgodnień niż katalog prostych produktów.
- Stan danych na starcie. Katalog z uporządkowanymi indeksami to kilka dni pracy mniej niż katalog, w którym trzeba najpierw sparować produkty.
- Obsługa błędów. Powiadomienia, ponawianie i panel z historią synchronizacji to dodatkowa praca, która zwraca się przy pierwszej awarii.
Praktyczna rada: zacznij od jednego kierunku, zwykle od stanów z ERP do sklepu. Uruchom to, sprawdź przez dwa tygodnie i dopiero potem dokładaj kolejne. Integracja wdrażana całością naraz jest znacznie trudniejsza do zdiagnozowania, gdy coś pójdzie nie tak.
Najczęstsze pytania
Czy integracja z ERP wyeliminuje nadsprzedaż?
Zmniejszy ją, ale sama z siebie nie wyeliminuje. Kluczowa jest decyzja, czy towar w niezapłaconym koszyku jest już zarezerwowany, oraz częstotliwość synchronizacji stanów. Przy szybko schodzącym towarze zawsze zostaje okno między sprzedażą a aktualizacją.
Co jeśli mój system ERP nie ma API?
Zostaje wymiana plików: ERP eksportuje dane o ustalonych porach, sklep je importuje. Działa dla katalogu i opisów, gorzej dla stanów przy szybkiej rotacji, bo dane są zawsze tak aktualne jak ostatni plik.
Lepiej łączyć bezpośrednio czy przez BaseLinker?
Pośrednik jest szybszy w uruchomieniu i przy okazji obsługuje kurierów oraz marketplace, ale narzuca własny model danych i dokłada stały koszt. Bezpośrednie połączenie ma sens, gdy sklep ma nietypową logikę cen lub wariantów, której pośrednik nie obsłuży.
Jak często powinny się synchronizować stany magazynowe?
Przy szybkiej rotacji co kilka minut, przy wolnej wystarczy kilka razy dziennie. Dobrym rozwiązaniem jest cykliczna synchronizacja całości plus natychmiastowa aktualizacja konkretnego produktu zaraz po złożeniu zamówienia.
Czy integrację da się przetestować przed uruchomieniem?
Tak i tak należy to zrobić. Potrzebna jest kopia sklepu na osobnym adresie oraz środowisko testowe po stronie ERP. Sprawdzenie integracji na sklepie produkcyjnym kończy się zwykle błędnymi stanami u klientów.
Ile trwa wdrożenie integracji?
Pojedynczy kierunek, na przykład stany z ERP do sklepu, to zwykle kilka dni roboczych przy gotowym API i uporządkowanym katalogu. Pełna integracja z zamówieniami, statusami i cennikami to tygodnie, głównie z powodu uzgodnień i testów, nie samego kodu.
Połączmy sklep z Twoim systemem
Napisz, w jakim systemie prowadzisz magazyn i co dziś przepisujesz ręcznie. Odpowiem, którą drogę warto wybrać i od czego zacząć, żeby nie wdrażać wszystkiego naraz. Napisz na formularzu kontaktowym, zadzwoń pod 881 932 088 albo wyślij wiadomość na kontakt@grvision.pl.