BEAM

Seedlight BEAM: nasz framework wdrażania, automatyzacji i rozwoju platform eCommerce →

← Platforma B2B: jak przenieść sprzedaż hurtową do internetu

Rozdział 4 z 6

Integracja z ERP: co spiąć w pierwszej wersji

Decyzje handlowe są spisane, ale platforma nie zna ani ceny dla klienta, ani stanu magazynu, ani salda rozrachunków. Co musi być zsynchronizowane od pierwszego dnia, a co może poczekać, kto jest źródłem prawdy dla każdego typu danych, jak często synchronizować i ile to kosztuje, co robić, gdy ERP nie ma API, oraz jak zaplanować pracę na czas awarii integracji.

8 min czytania

Kluczowe wnioski

  • Pierwsza wersja integracji ma pięć obowiązkowych elementów: stany magazynowe, ceny i warunki klienta, kartotekę kontrahenta z saldem, przekazywanie zamówień do ERP oraz dostęp do dokumentów. Reszta może poczekać.
  • Dla każdego typu danych wskaż jedno źródło prawdy i jeden kierunek. Dwa systemy edytujące to samo pole zawsze się rozjadą, a rozjazd wyjdzie na jaw przy reklamacji albo korekcie faktury.
  • Częstotliwość synchronizacji jest decyzją kosztową, nie techniczną. Czas rzeczywisty wybieraj tam, gdzie pomyłka jest droga, a nie wszędzie, bo wariant „wszystko na bieżąco” zwykle kupuje się po to, żeby nie musieć decydować.
  • Tryb awaryjny zaplanuj przed awarią: co sklep robi bez ERP, jak długo może tak działać, kto się o tym dowiaduje i kto ręcznie przepisuje zamówienia po powrocie łączności.

Decyzje handlowe z poprzedniego rozdziału mają jedną wspólną cechę: prawie żadnej z nich platforma nie wykona na własnych danych. Limit kupiecki wymaga salda, blokada wymaga listy przeterminowanych faktur, cena kontraktowa i stan magazynowy żyją tam, gdzie od lat pracuje firma, czyli w ERP. Ten rozdział jest o decyzjach, a nie o technice: co spiąć najpierw, kto jest właścicielem którego pola, jak często wymieniać dane i co się dzieje, gdy połączenie milknie w środę o dziesiątej rano. Architekturę takiej wymiany, w tym kolejki i ponawianie, rozpisaliśmy osobno w tekście o integracji sklepu B2B z ERP.

Co musi być spięte w pierwszej wersji, a co może poczekać

Test jest prosty: bez czego klient nie złoży poprawnego zamówienia, a Twój zespół nie zamknie dnia. Odpowiedź daje pięć pozycji. Stany magazynowe, z rozstrzygnięciem, którą wartość pokazujesz: fizyczną czy dostępną do sprzedaży, po odjęciu rezerwacji. Ceny i warunki klienta, najlepiej wyliczone już po stronie ERP, żeby nie odtwarzać jego logiki w drugim systemie. Kartoteka kontrahenta razem z limitem i saldem, bo bez niej decyzje z poprzedniego rozdziału zostają na papierze. Zamówienia przekazywane do ERP natychmiast po złożeniu, z numerem i statusem wracającym do klienta. Oraz dokumenty, czyli faktury i dokumenty wydania do pobrania z konta.

Dokumenty są w tej piątce najczęściej niedoceniane, a zdejmują z księgowości i handlowców jedno z najbardziej powtarzalnych zadań w firmie: odsyłanie faktur na życzenie. Poczekać mogą za to rzeczy, które w prezentacjach wyglądają dobrze, a w pierwszych miesiącach są używane rzadko: rezerwacje partii i numerów seryjnych, rozliczanie bonusów rocznych, ewidencja reklamacji, prognozy dostaw, statusy przesyłek od przewoźnika. Każda z nich jest osobnym projektem integracyjnym i każda wydłuża start. Zasada jest jedna: jeżeli proces dziś działa na telefonie i mailu, a jego przeniesienie nie blokuje zamówień, to nie jest zakres pierwszej wersji.

Kto jest źródłem prawdy dla każdego typu danych

To najważniejsza decyzja architektoniczna, którą podejmuje się jednak biznesowo, a nie technicznie. Zasada brzmi: jedno źródło prawdy na typ danych, wskazane wprost i zapisane. W typowym układzie ERP jest właścicielem cen, warunków handlowych, stanów, kartoteki i dokumentów, bo to tam pracuje księgowość i magazyn. Platforma jest właścicielem tego, czego ERP nie ma i mieć nie musi: treści produktowych, zdjęć, struktury kategorii, kont użytkowników i uprawnień (w ERP nie istnieje pojęcie „użytkownik sklepu”), koszyków oraz zapytań ofertowych do momentu ich akceptacji.

Problem robi się w polach spornych i to je trzeba rozstrzygnąć na papierze. Adresy dostawy: klient dodaje je w sklepie, ale ERP musi je przyjąć i to on jest właścicielem adresu na dokumencie. Dane kontaktowe i osoby zamawiające: zwykle właścicielem jest platforma, a ERP dostaje je do kartoteki. Zamówienie: platforma jest właścicielem do momentu przyjęcia przez ERP, potem właścicielem statusu staje się ERP i sklep tylko go pokazuje. Gdy dwa systemy mogą edytować to samo pole, wygrywa ten, który zapisał później, a to znaczy, że wygrywa przypadek. Zablokowanie edycji po jednej stronie jest zawsze tańsze niż uzgadnianie konfliktów po fakcie.

Poniższa tabela jest wzorem takiego ustalenia. Wypełnij ją dla swojej firmy przed rozmową z dostawcą, bo ostatnia kolumna decyduje o zakresie, a przedostatnia o koszcie.

Typ danychŹródło prawdyKierunekSensowna częstotliwośćPierwsza wersja
Stany magazynoweERPERP do platformyNa bieżąco lub co kilka minutTak
Ceny i warunki klientaERPERP do platformyDobowo plus odświeżenie przy koszykuTak
Kartoteka, limit i saldoERPERP do platformyKilka razy dziennie, saldo częściejTak
ZamówieniaPlatforma do momentu przyjęciaPlatforma do ERPNatychmiast po złożeniuTak
Faktury i dokumenty wydaniaERPERP do platformyDobowoTak
Treści produktowe i zdjęciaPlatformaImport startowy z ERPNa żądanieTak, jednorazowo
Statusy przesyłekERP lub system przewoźnikaERP do platformyDobowoMoże poczekać
Bonusy i rozliczenia okresoweERPBez integracjiNie dotyczyMoże poczekać

Wzór do wypełnienia przed wyborem dostawcy. Kolumna z częstotliwością jest jednocześnie kolumną kosztu: im bliżej czasu rzeczywistego, tym drożej w budowie i w utrzymaniu.

Czas rzeczywisty czy cykliczny: to decyzja kosztowa

Synchronizacja na bieżąco brzmi jak wybór oczywisty i bywa nim rzadziej, niż się wydaje. Kosztuje więcej w budowie, wymaga monitoringu i obciąża ERP, który przy starszych wdrożeniach nie zawsze znosi ciągłe odpytywanie, a bywa też licencjonowany od liczby interfejsów albo zapytań. Synchronizacja cykliczna, na przykład nocna, jest tania i przewidywalna, ale oznacza, że sklep pracuje na danych sprzed kilkunastu godzin. Wariant pośredni sprawdza się najczęściej: cykliczna podstawa plus odświeżenie na żądanie w punktach krytycznych, czyli przy wejściu do koszyka i przy składaniu zamówienia.

Nie synchronizuj wszystkiego tak samo często. Ustaw częstotliwość według kosztu pomyłki: błędny stan szybko rotującego towaru kosztuje odwołane zamówienie i telefon z przeprosinami, nieaktualne zdjęcie nie kosztuje nic. Jeśli w rozdziale o warunkach handlowych zdecydowałeś, że pokazujesz dokładną liczbę sztuk, właśnie tutaj płacisz za tę decyzję.

Co zrobić, gdy ERP nie ma API

To sytuacja częstsza, niż sugerują materiały dostawców platform, zwłaszcza przy starszych i lokalnych systemach. Nie przekreśla projektu, tylko przesuwa go w stronę rozwiązań cyklicznych, a to znaczy, że część decyzji z poprzedniego rozdziału trzeba przemyśleć ponownie: przy wymianie plikowej trudno obiecywać klientom dokładny stan magazynu co do sztuki.

Warianty są cztery, w kolejności od najbezpieczniejszego. Pierwszy: dostawca ERP ma własny moduł integracyjny lub konektor, zwykle płatny, za to utrzymywany i testowany przy aktualizacjach. Drugi: wymiana plikowa, czyli uzgodnione pliki wymieniane w cyklu przez katalog albo serwer plików. Jest tania, zaskakująco trwała i całkowicie wystarcza przy dobowej częstotliwości, ale nie daje potwierdzeń w czasie rzeczywistym. Trzeci: warstwa pośrednicząca, która trzyma mapowania i tłumaczy formaty; sensowna, gdy systemów jest więcej niż dwa. Czwarty: czytanie wprost z bazy danych ERP, najszybsze do uruchomienia i najbardziej ryzykowne, bo pierwsza aktualizacja ERP potrafi je zepsuć, a zapisywanie do tej bazy z pominięciem logiki aplikacji jest wprost złym pomysłem. Przy każdym wariancie zadaj to samo pytanie: kto to utrzyma za dwa lata i co się stanie, gdy ERP dostanie nową wersję.

Plan na wypadek awarii integracji

Integracja kiedyś przestanie działać i nie jest to pesymizm, tylko doświadczenie: wygasa hasło, zmienia się nazwa pola po aktualizacji, kończy się miejsce na dysku, serwer ERP idzie na przegląd. Pytanie nie brzmi „czy”, tylko „co wtedy robi sklep”. Domyślna, rozsądna odpowiedź brzmi: przyjmuje zamówienia dalej i kolejkuje je do przekazania, a ERP dostaje je po powrocie łączności. Wariant przeciwny, czyli wstrzymanie zamówień, jest bezpieczny księgowo i kosztowny sprzedażowo, bo klient nie czeka, tylko dzwoni do konkurencji.

Do rozstrzygnięcia zostają cztery rzeczy. Na jakich danych pracuje sklep w trybie awaryjnym: na ostatnich znanych cenach i stanach, i po jakim czasie przestaje pokazywać dostępność, bo dane sprzed dwóch dni wprowadzają klienta w błąd. Co z odroczoną płatnością, gdy nie ma salda: wstrzymujesz ją i przełączasz na przedpłatę, czy dopuszczasz z ryzykiem; to decyzja finansów, nie programistów. Kto się dowiaduje o awarii i w jakim czasie: alert ma trafić do konkretnej osoby, a nie na skrzynkę zbiorczą, i handlowiec powinien wiedzieć wcześniej niż klient. Oraz jak wygląda procedura ręczna: kto przepisuje zaległe zamówienia i po czym poznaje, że dane zamówienie zostało już przepisane, żeby klient nie dostał tego samego towaru dwa razy.

Pytania do dostawcy ERP przed podpisaniem umowy

Te odpowiedzi zbierz na piśmie, zanim podpiszesz umowę na platformę, bo każda z nich potrafi zmienić zakres i harmonogram. Czy moja wersja ERP ma udokumentowane API i co dokładnie udostępnia: stany, ceny dla konkretnego kontrahenta z uwzględnieniem jego warunków, saldo i limit, zakładanie zamówienia. Czy potrzebny jest dodatkowy moduł lub licencja i ile kosztuje rocznie, a nie tylko przy wdrożeniu. Jakie są limity zapytań i czy istnieje środowisko testowe, na którym można pracować bez ruszania danych produkcyjnych. Kto po stronie dostawcy odpowiada za integrację, w jakim czasie reaguje i czy jest to objęte umową serwisową. Co dzieje się przy aktualizacji ERP i czy integracje są wtedy testowane.

Jedno pytanie warto zadać osobno, bo jest najdroższe w skutkach: czy ERP potrafi zwrócić cenę wyliczoną dla danego klienta, ze wszystkimi jego warunkami, czy platforma musi tę logikę odtworzyć u siebie. Odtwarzanie oznacza dwa miejsca, w których ta sama polityka cen musi być utrzymywana, i gwarantowany rozjazd przy pierwszej zmianie warunków. Gdy te odpowiedzi masz na piśmie, dane zaczynają płynąć w obie strony i zostaje pytanie, kto z tego rzeczywiście skorzysta. Klienci i handlowcy muszą wejść do systemu i zacząć w nim pracować, a o tym jest następny rozdział.

Pytania

Czy platforma B2B może działać bez integracji z ERP?

Może, ale tylko jako katalog z formularzem zamówienia, w którym ceny i stany są wprowadzane ręcznie, a zamówienia przepisuje człowiek. Przy kilkudziesięciu pozycjach i kilku klientach to działa. Przy realnym katalogu hurtowym ręczna aktualizacja stanów i cen zajmie więcej czasu, niż zdejmie platforma, a rozjazd między sklepem a fakturą pojawi się w pierwszym tygodniu. Jeżeli integracja jest odkładana z powodu kosztu, uczciwszym wariantem jest wymiana plikowa w cyklu dobowym niż praca w dwóch niezależnych systemach.

Jak często trzeba synchronizować stany magazynowe?

To zależy od tego, co obiecałeś klientowi i jak szybko rotuje towar. Jeśli pokazujesz ogólny status dostępności, synchronizacja co kilka godzin zwykle wystarcza. Jeśli pokazujesz dokładną liczbę sztuk przy towarze, który schodzi w ciągu dnia, potrzebujesz odświeżania na bieżąco albo przynajmniej sprawdzenia stanu w momencie składania zamówienia. Tańszym rozwiązaniem od ciągłej synchronizacji bywa zmiana obietnicy: mniej precyzyjna informacja o dostępności kosztuje mniej niż architektura, która musi ją utrzymać.

Kto powinien odpowiadać za integrację: dostawca ERP czy dostawca platformy?

Odpowiedzialność musi być przypisana jednej stronie i zapisana w umowie, inaczej przy pierwszej awarii obie będą wskazywać na siebie nawzajem. Najczęściej sensowny podział wygląda tak: dostawca ERP odpowiada za udostępnienie danych i stabilność interfejsu, dostawca platformy za ich pobranie, mapowanie i obsługę błędów. Po Twojej stronie potrzebna jest jedna osoba, która wie, do kogo dzwonić i ma do tego mandat, bo integracja bez właściciela w firmie zawsze staje się niczyja.

Wszystkie rozdziały tego przewodnika

Platforma B2B: jak przenieść sprzedaż hurtową do internetu

  1. 01Kiedy hurt dojrzewa do platformySygnały, że sprzedaż przez handlowców, maile i Excel przestała się skalować, oraz to, co platforma B2B realnie zmienia, a czego nie zmieni. Różnice między B2B a B2C, które decydują o wykonalności projektu, i uczciwe zastrzeżenie: system nie posprząta cenników ani danych za Ciebie.
  2. 02Co zbudować najpierw: zakres pierwszej wersjiSześć elementów, które musi mieć pierwsza wersja sklepu B2B, oraz cztery obszary, które warto świadomie odłożyć. Zasada zakresu: pierwsza wersja obsługuje najczęstsze zamówienie najlepszego klienta od początku do końca, a nie każdy możliwy przypadek. Plus kryteria wyboru pierwszej grupy klientów.
  3. 03Ceny i warunki handlowe: decyzje przed budowąZakres pierwszej wersji trzeba wypełnić treścią handlową, zanim ktokolwiek zacznie budować. Kto widzi cenę i w którym momencie, czy dostępność jest jawna, jak działa kredyt kupiecki i blokada zamówień, jakie są minima i jednostki, w jakich walutach sprzedajesz oraz kiedy zamiast ceny z cennika potrzebna jest oferta. Przy każdej decyzji konsekwencja dla handlowca i dla systemu.
  4. 04 · Tu jesteśIntegracja z ERP: co spiąć w pierwszej wersji
  5. 05Onboarding klientów i handlowcówNajczęstsza przyczyna porażki wdrożenia B2B nie jest techniczna: platforma działa poprawnie, tylko nikt z niej nie korzysta. Jak wprowadzać klientów na platformę (kogo pierwszego, co musi być gotowe w jego koncie, jak wygląda pierwsze logowanie) i jak ustawić zasady dla handlowców, żeby platforma była ich narzędziem, a nie zagrożeniem.
  6. 06Uruchomienie i rozwójWdrożenie platformy B2B nie kończy się dniem startu. Jak uruchamiać pilotażem na wąskiej grupie i rozszerzać zasięg, co mierzyć w pierwszych tygodniach, jak czytać niską adopcję (zwykle to tarcie, nie niechęć), co rozwijać w drugiej kolejności i jak utrzymywać platformę, żeby nie zestarzała się w rok.