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.

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 Subiekta | Gdzie widać w sklepie |
|---|---|
| Symbol towaru | SKU klucz łączący produkt z kartoteką, pole zablokowane w panelu |
| Cena brutto i stan dostępny | Cena i dostępność na liście i karcie produktu |
| Numery OE | Wyszukiwarka: „D176453”, „d17645/3” i „OE D17645 3” znajdują ten sam produkt |
| Wymiary publikowane w sklepie | Karta produktu, „Informacje dodatkowe” i filtr wymiarów w sidebarze |
| Typ chłodnicy (model towaru) | Etykieta po polsku i angielsku zamiast kodu z kartoteki |
| Nowe towary | Szkice produktów w sklepie, gotowe do sprawdzenia i publikacji |

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ę.
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.

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ę.
Aktualizacje w ciągu dnia i struktura katalogu
Najedź na słupek, żeby zobaczyć liczby.
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
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.
Dokumenty tworzy osobny proces w 32-bitowym środowisku, a reszta agenta zostaje w nowoczesnej wersji.
2. Kraj kontrahenta nie zawsze jest krajem wysyłki
Niemiecka firma z dostawą do Polski dostawała w Subiekcie adres w Polsce, a to zmienia VAT.
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
Zamówienie z dostawą poza Polskę nie ma ceny transportu w chwili zakupu, więc ZK w Subiekcie powstaje z kwotami bez wyceny.
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ć
Typ chłodnicy przychodzi jako kod po angielsku, np. „WATER COOLER” albo „OIL COOLER”, a w słowniku trafiają się też literówki.
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.
Ile godzin przepisywania zniknie u Ciebie
Ustaw własne liczby. To Twoje założenia, nie wynik tego wdrożenia.
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.
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ę →
Sprawdź, zanim porozmawiamy
Usługi powiązane z tym wdrożeniem. Zajrzyj do oferty, zobacz jak podchodzimy do podobnych problemów u innych klientów.
Integracje ERP/CRM
🔗 Strona w przygotowaniu Pracujemy nad pełną wersją Integracje z Comarch, Sente, Salesforce, HubSpot, Pipedrive i innymi. Napisz, jaki system trzeba spiąć.…
Zobacz ofertę →Automatyzacje
🤖 Strona w przygotowaniu Pracujemy nad pełną wersją Automatyzacje n8n + AI workflowy + cross-system integracje. Napisz, jeśli chcesz zautomatyzować konkretny proces.…
Zobacz ofertę →Strony internetowe i sklepy
Zobacz ofertę →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ę