Case study · Integracje · Subiekt GT · WooCommerce

Integracja Subiekt GT z WooCommerce: ceny, stany i zamówienia bez przepisywania



Sklep z chłodnicami i częściami do maszyn i pojazdów miał dwa systemy, które nie rozmawiały ze sobą: WooCommerce i Subiekt GT. Połączyliśmy je tak, że ceny, stany, wymiary i numery OE jadą z Subiekta do sklepu same, a zamówienia ze sklepu trafiają do Subiekta jako zamówienia klienta (ZK) z poprawnym kontrahentem, krajem i VAT. Integracja pracuje na produkcji codziennie, a w katalogu jest ponad tysiąc produktów.

Punkt wyjścia

Firma sprzedaje części w sklepie internetowym, ale magazyn, ceny i dokumenty prowadzi w Subiekcie GT. Dla klienta to dwa osobne światy. Zmiana ceny w Subiekcie wymagała poprawki w sklepie. Stan magazynowy w sklepie bywał inny niż na półce. Zamówienie ze sklepu ktoś musiał przepisać do Subiekta ręcznie: wybrać kontrahenta, sprawdzić kraj i stawkę VAT, przepisać pozycje.

Do tego dochodził specyficzny katalog. Część produktów ma po kilkanaście numerów OE, wymiary zapisane w różnych formatach („520X680” dla chłodnicy, „575-210” dla zbiornika) i typy z kartoteki Subiekta, które przychodzą po angielsku i z literówkami.

Założenie

Subiekt zostaje jedynym źródłem prawdy o towarze: cena, stan, symbol, wymiar. Sklep pokazuje to, co w Subiekcie, a z zamówień powstają dokumenty w Subiekcie, nie odwrotnie.

Rozwiązanie: agent przy Subiekcie, sklep po REST API

Na komputerze, na którym stoi Subiekt GT, działa nasz agent. Odczytuje towary, ceny i stany z bazy SQL Server, a dokumenty tworzy przez Sferę GT, czyli oficjalny interfejs InsERT. Nie zapisujemy faktur ani zamówień bezpośrednio do tabel Subiekta, bo taki dokument dotyka numeracji, VAT, rozrachunków i magazynu, i łatwo go uszkodzić.

Agent sam łączy się ze sklepem przez REST API WooCommerce, więc firma nie musi wystawiać swojej sieci ani bazy na zewnątrz. Nowe i opłacone zamówienia trafiają najpierw do lokalnego bufora, a dopiero stamtąd do Subiekta. Dzięki temu chwilowa awaria sieci albo zamknięty Subiekt nie gubią zamówień.

Pierwszy przebieg, 16 lipca, objął 315 produktów. Dziś agent obsługuje cały katalog, zakłada brakujące produkty jako szkice do sprawdzenia i uzupełnia dodatkowe dane z kartoteki.

Miniaturowa makieta: mały sklep internetowy z furgonetką po lewej i magazyn z paletami po prawej, połączone świecącą zieloną ścieżką, po której jadą białe kostki i chłodnice
Sklep i magazyn jako jeden obieg danych. Ilustracja wygenerowana przez AI (Magnific).
Moduł 1 · Zamówienie w sklepie → ZK w Subiekcie

Zobacz, co się dzieje z zamówieniem

Wybierz scenariusz i kliknij „Prześlij do Subiekta”. Dane są przykładowe.

    Fikcyjne dane. Symulacja pokazuje kolejność kroków i reguły, nie połączenie z żywym Subiektem.

    Co jedzie z Subiekta do sklepu

    Katalog sklepu to nie tylko cena i stan. Z kartoteki Subiekta przychodzi kilka pól, których sklep używa w wyszukiwarce, filtrach i na karcie produktu.

    Z SubiektaGdzie widać w sklepie
    Symbol towaruSKU klucz łączący produkt z kartoteką, pole zablokowane w panelu
    Cena brutto i stan dostępnyCena i dostępność na liście i karcie produktu
    Numery OEWyszukiwarka: „D176453”, „d17645/3” i „OE D17645 3” znajdują ten sam produkt
    Wymiary publikowane w sklepieKarta produktu, „Informacje dodatkowe” i filtr wymiarów w sidebarze
    Typ chłodnicy (model towaru)Etykieta po polsku i angielsku zamiast kodu z kartoteki
    Nowe towarySzkice produktów w sklepie, gotowe do sprawdzenia i publikacji
    Regał magazynowy z aluminiowymi chłodnicami i zbiornikami wyrównawczymi, każda sztuka z pustą białą etykietą, górna półka podświetlona zielonym paskiem
    Każda półka ma swój symbol, a ten sam symbol widać w sklepie. Ilustracja wygenerowana przez AI (Magnific).

    Symbol to klucz, więc pilnujemy go jak klucza

    Najgroźniejszy błąd w takiej integracji jest cichy: ktoś w panelu sklepu „poprawia” SKU, bo literówka rzuciła mu się w oczy. Od tej chwili produkt przestaje się łączyć z kartoteką. Powstaje duplikat albo stan trafia na inny produkt niż ten, który widać w opisie.

    Dlatego pole SKU w panelu jest tylko do odczytu. Jest furtka „Zmieniam symbol świadomie”, która wymaga potwierdzenia, ale zapisy samej integracji przechodzą bez ograniczeń. Poniżej widać różnicę.

    Moduł 2 · Zmiana symbolu w panelu

    Co się stanie, gdy ktoś zmieni SKU

    Przełącz, żeby porównać sklep bez blokady i z blokadą.

    Fikcyjne symbole i produkty.

    Wymiary: jedno pole, dwa formaty, filtr z tolerancją

    Klienci szukają chłodnicy po wymiarze. Kartoteka podaje go jako tekst: dla chłodnicy „AxB” to wysokość razy szerokość bez grubości, dla zbiornika „A-B” to szerokość i grubość. Z tego tekstu sklep wylicza liczby do filtra i sortowania. Filtr działa z tolerancją ±5 mm, bo nikt nie mierzy chłodnicy co do milimetra.

    Makro: stalowa suwmiarka mierzy szerokość aluminiowego rdzenia chłodnicy o drobnych równoległych żebrach, w tle ciemne tło z zielonym blaskiem
    Wymiar w kartotece to liczby, które klient porównuje z suwmiarką. Ilustracja wygenerowana przez AI (Magnific).
    Moduł 3 · Filtr wymiarów

    Wpisz wymiary chłodnicy

    Przesuń suwaki. Zielone to produkty, które mieszczą się w tolerancji ±5 mm.

      Fikcyjny katalog. Tolerancja ±5 mm jak w sklepie.

      Jak to wygląda na produkcji

      Poniżej dane z działającego sklepu, odczytane 27 października około 15:30. Pokazują, że zmiany nie spływają raz na dobę, tylko przez cały dzień pracy, a katalog ma wyraźną strukturę.

      Moduł 4 · Dane z produkcji

      Aktualizacje w ciągu dnia i struktura katalogu

      Najedź na słupek, żeby zobaczyć liczby.

      1069produktów w katalogu (1060 opublikowanych)
      42produkty zaktualizowane w sklepie dziś do 15:30
      15nowych produktów od 20 października

      Aktualizacje obejmują zmiany ceny, stanu i danych z kartoteki oraz edycje w panelu. Kategorie nakładają się, więc ten sam produkt może liczyć się w kilku.

      Cztery rzeczy, których nie widać z zewnątrz

      To nie są funkcje z oferty, tylko miejsca, w których integracja potrafi się cicho zepsuć. Wybierz jedno, żeby zobaczyć, co się działo i co z tym zrobiliśmy.

      1. Sfera GT jest 32-bitowa

      Problem

      Interfejs InsERT jest zarejestrowany tylko jako 32-bitowy komponent COM. Zwykły, 64-bitowy Python nie może go załadować i zgłasza, że klasa nie jest zarejestrowana. Wychodzi to dopiero na komputerze klienta.

      Rozwiązanie

      Dokumenty tworzy osobny proces w 32-bitowym środowisku, a reszta agenta zostaje w nowoczesnej wersji.

      2. Kraj kontrahenta nie zawsze jest krajem wysyłki

      Problem

      Niemiecka firma z dostawą do Polski dostawała w Subiekcie adres w Polsce, a to zmienia VAT.

      Rozwiązanie

      Dodaliśmy w kasie pole „Kraj firmy”, a integracja bierze kraj kontrahenta właśnie z niego. Gdy kraj firmy różni się od kraju wysyłki, kasa pokazuje podpowiedź, bo klienci naprawdę mylą kraje o podobnych nazwach.

      3. Wycena zagraniczna zmienia zamówienie po fakcie

      Problem

      Zamówienie z dostawą poza Polskę nie ma ceny transportu w chwili zakupu, więc ZK w Subiekcie powstaje z kwotami bez wyceny.

      Rozwiązanie

      Obsługa wycenia zamówienie w panelu, sklep je przelicza (sprzedaż WDT, 0% VAT, ceny netto), wysyła klientowi mail i podnosi licznik wersji wyceny. Integracja widzi zmianę licznika i poprawia już założone ZK, zamiast tworzyć drugie.

      4. Słownik z kartoteki ma literówki i trzeba go tłumaczyć

      Problem

      Typ chłodnicy przychodzi jako kod po angielsku, np. „WATER COOLER” albo „OIL COOLER”, a w słowniku trafiają się też literówki.

      Rozwiązanie

      Nie poprawiamy Subiekta. Sklep ma mapę kodów na etykiety po polsku i po angielsku, a nieznany kod pokazuje tak, jak przyszedł.

      Efekty

      • Cena i stan w sklepie zgadzają się z Subiektem w ciągu kilku minut, bez wpisywania ich drugi raz.
      • Zamówienia powstają w Subiekcie jako ZK z właściwym kontrahentem, krajem i stawką VAT, także dla zamówień zagranicznych po wycenie.
      • Wyszukiwarka znajduje produkt po numerze OE w dowolnym zapisie, a filtr po wymiarach działa na danych z kartoteki.
      • Nowe towary z Subiekta pojawiają się w sklepie jako szkice, więc nikt nie zakłada produktu od zera.
      • Symbol łączący sklep z kartoteką jest chroniony przed przypadkową edycją.

      Uczciwie o liczbach

      Nie podajemy tu czasu zaoszczędzonego na jednym zamówieniu, bo firma wcześniej go nie mierzyła. Liczby w tym opisie (1069 produktów, 315 w pierwszym przebiegu, dane z dnia 27 października) pochodzą z produkcji. Poniższy kalkulator liczy na Twoich założeniach.

      Moduł 5 · Kalkulator

      Ile godzin przepisywania zniknie u Ciebie

      Ustaw własne liczby. To Twoje założenia, nie wynik tego wdrożenia.

      0godzin miesięcznie
      0dni roboczych w roku (po 8 godzin)
      0godzin rocznie

      Wykres pokazuje, ile godzin narastająco zabierałoby ręczne przepisywanie zamówień w kolejnych miesiącach.

      Najczęstsze pytania o integrację Subiekta GT z WooCommerce

      Do odczytu cen i stanów wystarczy dostęp do bazy SQL Server. Żeby tworzyć dokumenty, takie jak zamówienie klienta, potrzebna jest Sfera GT, bo tylko ona zapewnia poprawną numerację, VAT i rozrachunki. Zapis bezpośrednio do tabel Subiekta jest ryzykowny i go unikamy.

      Nie. Agent działa na komputerze z Subiektem i sam łączy się ze sklepem przez REST API WooCommerce. Baza i sieć firmy nie są wystawione na zewnątrz.

      Przez symbol towaru. SKU produktu w WooCommerce jest równe symbolowi w Subiekcie. Dlatego pole SKU w panelu sklepu jest zablokowane, a jego zmiana wymaga świadomego potwierdzenia.

      Zamówienie zagraniczne trafia najpierw do wyceny transportu. Po wycenie sklep przelicza je jako sprzedaż WDT z 0% VAT, wysyła klientowi mail, a integracja poprawia istniejące ZK w Subiekcie.

      Tak. To dodatkowe pola kartoteki, które trafiają do sklepu razem z ceną i stanem. Sklep używa ich w wyszukiwarce i w filtrze wymiarów.

      Zależy od zakresu: sama synchronizacja cen i stanów po SKU to krótki projekt, tworzenie dokumentów przez Sferę i obsługa zamówień zagranicznych wymagają dłuższych testów na danych klienta. Najlepiej policzyć to po rozmowie o Twoim Subiekcie i sklepie.

      Podobne integracje sklepów z systemami ERP, CRM i wysyłkowymi robimy w ramach usługi integracje ERP/CRM → Zobacz też: API dropshippingowe dla producenta listew i automatyzację ofert w biurze rachunkowym.

      Twoja integracja

      Masz Subiekta GT i sklep, które nie rozmawiają ze sobą?

      Umów bezpłatną rozmowę. Sprawdzimy, co da się zsynchronizować bez przepisywania: ceny, stany, zamówienia i dokumenty.

      Umów rozmowę

      lub zobacz ofertę →

      Idziemy dalej

      Podobał Ci się ten artykuł?

      Jeśli po lekturze czujesz, że w Twojej firmie też są procesy warte przebudowy, umów bezpłatną rozmowę. Sprawdzimy razem, gdzie realnie wycieka sprzedaż i co ma sens wdrożyć w pierwszej kolejności.

      Umów rozmowę