Integracja Subiekt GT ze sklepem internetowym

Adrian Mrósk 6 min czytania

integracjeb2b

Subiekt GT to w polskich hurtowniach i sklepach niemal domyślny program magazynowo-handlowy. Problem w tym, że przez lata żył on obok sklepu internetowego, a nie razem z nim: ktoś przepisywał stany, ręcznie zakładał zamówienia, wieczorem zgrywał sprzedaż. Integracja ma to skasować i zrobić z Subiekta oraz sklepu jedno źródło prawdy o tym, co jest na stanie, po jakiej cenie i z jakimi dokumentami. Poniżej jak się do tego zabrać i gdzie są miny.

Po co w ogóle to spinać

Zanim wejdziemy w metody, warto nazwać cel. Integracja Subiekta ze sklepem załatwia trzy rzeczy naraz:

  • Stany magazynowe – sklep pokazuje to, co faktycznie leży w magazynie, a nie stan sprzed wczoraj. Mniej naddostępności i tłumaczenia klientom, że jednak nie ma.
  • Ceny i kartoteki – cennik i dane produktów mają jedno miejsce zarządzania, zamiast rozjeżdżać się między systemami.
  • Dokumenty – zamówienie ze sklepu ląduje w Subiekcie jako dokument (zamówienie od klienta, potem faktura albo paragon), więc księgowość i magazyn nie przepisują niczego ręcznie.

Dla hurtowni B2B dochodzi czwarta rzecz: kontrahenci, ich indywidualne warunki i limity. O tym niżej, bo to zwykle najtrudniejszy fragment.

Sposoby integracji

Nie ma jednego „prawidłowego” sposobu – są trzy podejścia o różnym poziomie zaawansowania i kosztu utrzymania.

Sfera – programistyczne API Subiekta

Sfera to dodatek firmy InsERT, który udostępnia programistyczny interfejs do Subiekta (oparty na technologiach COM/OLE Automation). Mówiąc wprost: kod może tworzyć w Subiekcie dokumenty, czytać kartoteki i stany, zakładać kontrahentów – tak, jakby robił to operator, tylko automatycznie. To płatny dodatek, który trzeba dokupić do licencji Subiekta GT.

Sfera daje najwięcej kontroli i najczystszą logikę: sam decydujesz, co, kiedy i w którą stronę się synchronizuje. Kosztem jest to, że działa lokalnie przy instalacji Subiekta, więc integracja zwykle wymaga usługi pośredniczącej (konektora) po stronie serwera lub maszyny z Subiektem. To rozwiązanie dla firm, które chcą stabilnej, „szytej” synchronizacji i traktują ją jak element infrastruktury.

Pośrednik typu BaseLinker

Zamiast łączyć sklep z Subiektem bezpośrednio, można wpiąć między nie gotową platformę. BaseLinker zbiera zamówienia (także z marketplace’ów), a z Subiektem wymienia się stanami i dokumentami przez gotowy konektor. Zaleta: szybki start, bez pisania własnego kodu. Wada: jesteś w ramach tego, co pośrednik potrafi, a przy nietypowej logice cenowej B2B potrafi to nie wystarczać. Dla wielu sklepów detalicznych i mniejszych hurtowni to jednak sensowne wejście.

Wymiana plikowa

Najstarszy, najprostszy mechanizm: Subiekt eksportuje dane (np. stany i cennik) do pliku, sklep je zaciąga, a zamówienia wracają w drugą stronę osobnym plikiem. Bywa realizowana przez feedy XML. Działa cyklicznie, jest tania i odporna na „chwilowe” niedostępności, ale z natury nie jest natychmiastowa. Sprawdza się tam, gdzie asortyment nie jest mocno deficytowy i kilkuminutowe opóźnienie stanu nikogo nie boli.

MetodaKiedy wybraćUwaga
SferaPełna kontrola, szyta logika, większa skalaPłatny dodatek, potrzebny konektor przy Subiekcie
Pośrednik (BaseLinker)Szybki start, sprzedaż wielokanałowaOgraniczenia przy złożonej logice B2B
Pliki (XML/CSV)Prostota, cykliczna synchronizacjaNie działa „na żywo”

Co synchronizować i w którą stronę

Integracja to nie „wszystko z wszystkim”. Najwięcej problemów bierze się z niejasnego kierunku synchronizacji. Dobra mapa wygląda mniej więcej tak:

  • Stany magazynowe: Subiekt → sklep. Towar schodzi z dokumentów i sprzedaży stacjonarnej, więc to Subiekt zna prawdę. Sklep odczytuje.
  • Ceny i kartoteki: zwykle Subiekt → sklep, choć opisy, zdjęcia i SEO często żyją po stronie sklepu. Ustal, które pole ma którego właściciela, żeby jedna strona nie nadpisywała drugiej.
  • Zamówienia: sklep → Subiekt. Zamówienie klienta tworzy w Subiekcie dokument, na bazie którego magazyn kompletuje, a księgowość fakturuje.
  • Statusy i numery dokumentów: Subiekt → sklep, żeby klient widział w koncie, że zamówienie jest w realizacji albo zafakturowane.

Zasada nadrzędna: każde pole ma dokładnie jednego właściciela. Gdy dwie strony mogą zmieniać ten sam stan, prędzej czy później się rozjadą.

Pułapki, które kosztują najwięcej

To fragment, który odróżnia integrację „działa na demo” od „działa po roku na produkcji”.

  • Jednostki miary. Subiekt operuje jednostkami (szt., opak., karton), a sklep często sprzedaje w innej. Jeśli mapowanie jednostek jest niedbałe, zamawiasz karton, a schodzi sztuka – albo odwrotnie. To klasyk przy artykułach sprzedawanych zbiorczo.
  • VAT i ceny netto/brutto. Hurtownia myśli w netto, detal w brutto. Integracja musi jednoznacznie wiedzieć, którą wartość przenosi i jak liczy podatek, inaczej pojawiają się groszowe rozjazdy między sklepem a fakturą. Rozwijamy ten wątek w tekście o cenach netto i brutto w hurtowni.
  • Duplikaty kontrahentów. Największy killer w B2B. Jeśli integracja przy każdym zamówieniu zakłada nowego klienta zamiast dopasować istniejącego po NIP-ie, po kwartale masz jednego kontrahenta w kilku wersjach, rozjechane historie i nietrafione limity. Klucz dopasowania (dla firm to zwykle NIP) trzeba ustalić na samym początku.
  • Rezerwacje i wyścig o stan. Gdy ten sam towar sprzedaje sklep, Allegro i handlowiec z Subiekta, trzeba świadomie zdecydować, kto rezerwuje i kto ustępuje. Bez tego dojdzie do sprzedania sztuki, której już nie ma.

Jak przetestować, zanim wpuścisz ruch

Integracja magazynowa to obszar, w którym błąd widać dopiero na produkcji, gdy schodzą realne stany i powstają realne faktury. Dlatego warto ją przećwiczyć wcześniej, na danych, których nie szkoda.

  • Pracuj na kopii bazy Subiekta. Testuj tworzenie dokumentów i zakładanie kontrahentów na osobnej instancji, nie na produkcyjnej bazie księgowości. Odzyskiwanie po pomyłce na żywych danych bywa droższe niż samo wdrożenie.
  • Przejdź pełny cykl jednego zamówienia. Od złożenia w sklepie, przez dokument w Subiekcie, po zejście stanu i status wracający do sklepu. Jedno zamówienie „na sucho” wyłapie więcej niż godziny czytania dokumentacji.
  • Sprawdź przypadki brzegowe. Zamówienie z nowym kontrahentem (czy nie powstaje duplikat?), z towarem na granicy dostępności (czy stan nie schodzi poniżej zera?), z nietypową jednostką. To tu kryją się problemy, które później generują reklamacje.
  • Zaplanuj, co się dzieje przy awarii konektora. Subiekt bywa wyłączony na noc albo maszyna się restartuje. Zamówienia z tego okna muszą się zbuforować i dojść później, a nie przepaść.

Ta sama filozofia „najpierw środowisko testowe, potem ruch” sprawdza się w każdej integracji – opisaliśmy ją też przy wpinaniu InPostu.

Subiekt GT czy nexo

Krótko, bo to częste pytanie. Subiekt GT to starsza, bardzo rozpowszechniona linia InsERT z dodatkiem Sfera. Subiekt nexo to nowsza linia z własnym, bardziej współczesnym API (Sfera nexo). Oba integrują się ze sklepem. Jeśli dopiero wybierasz system, nexo bywa wygodniejsze technicznie, ale decyzję powinny napędzać potrzeby księgowo-magazynowe, nie sama integracja – tę wykonasz na jednym i drugim. Jeśli już masz GT z historią dokumentów i kontrahentów, rzadko warto migrować tylko po to, żeby spiąć sklep.

Niezależnie od wybranej drogi sedno jest to samo: integracja ma zamienić dwa systemy w jeden spójny obieg towaru, ceny i dokumentu. To dokładnie zakres, który robimy w ramach integracji systemów ERP, OMS i WMS – od mapowania kartotek, przez kierunki synchronizacji, po obsługę błędów, gdy któraś strona chwilowo milczy.

Najczęstsze
pytania

  • Czy do integracji Subiekta GT ze sklepem potrzebuję Sfery?

    Jeśli chcesz łączyć się z Subiektem po jego programistycznym interfejsie, tak – Sfera to płatny dodatek InsERT, który udostępnia API do Subiekta GT. Alternatywą jest pośrednik (np. BaseLinker), który sam gada ze sklepem i z Subiektem, albo prostsza wymiana plikowa. Wybór zależy od skali i tego, jak „na żywo” musi być synchronizacja.

  • Co powinno być źródłem prawdy o stanach magazynowych?

    Zwykle Subiekt, bo to tam schodzi towar z dokumentów magazynowych i sprzedaży stacjonarnej. Sklep wtedy tylko odczytuje stany. Wyjątkiem są modele, gdzie to sklep rezerwuje towar w czasie rzeczywistym – wtedy trzeba świadomie zaprojektować, kto komu ustępuje, żeby nie sprzedać dwa razy tej samej sztuki.

  • Subiekt GT czy Subiekt nexo do integracji ze sklepem?

    Oba da się zintegrować. GT to starsza, bardzo rozpowszechniona linia z dodatkiem Sfera. nexo to nowsza linia z własnym API (Sfera nexo). Jeśli dopiero wybierasz, nexo bywa wygodniejsze technicznie, ale sama decyzja powinna wynikać z potrzeb księgowo-magazynowych, a nie tylko z integracji – tę zrobi się na obu.

  • Dlaczego w Subiekcie robią się duplikaty kontrahentów?

    Najczęściej dlatego, że integracja zakłada nowego klienta przy każdym zamówieniu, zamiast szukać istniejącego po NIP-ie. Klucz dopasowania (najlepiej NIP dla firm) trzeba ustalić na starcie. Inaczej po pół roku masz tego samego kontrahenta w pięciu wersjach i rozjechane limity kupieckie.

  • Czy integracja Subiekta ze sklepem działa w czasie rzeczywistym?

    Zależy od metody. Przez Sferę albo pośrednika synchronizacja bywa niemal na żywo lub w krótkich cyklach. Wymiana plikowa to zwykle harmonogram co kilka–kilkanaście minut. Dla większości hurtowni cykliczna synchronizacja stanów wystarcza; problem zaczyna się przy towarach deficytowych, gdzie liczy się każda minuta.

Bezpłatne, 15-minutowe spotkanie

Opowiedz nam o swoim projekcie,
resztę dopasujemy pod Ciebie

15 minut rozmowy wystarczy, abyśmy wiedzieli, czy pasujemy do Twojego projektu.
Zaczynamy od Twoich potrzeb, nie od gotowego rozwiązania.

Skontaktuj się z nami

Remigiusz w granatowej koszuli i okularach
Korzystam z iMessage Korzystam z WhatsApp
Adrian w szarym golfie i okularach
Korzystam z iMessage Korzystam z WhatsApp