Integracja sklepu z hurtownią - automatyczny import i synchronizacja stanów
Integracja sklepu z hurtownią w modelu dropshipping pozwala automatycznie importować ofertę XML/CSV i synchronizować stany magazynowe co 15-30 minut. Dowiedz się, które narzędzia wybrać i jak uniknąć typowych pułapek.
Prowadzisz sklep WooCommerce i zastanawiasz się, jak obsłużyć tysiące produktów od hurtowni bez ręcznego wklejania stanów co kilka godzin? To właśnie tu większość początkujących dropshipperów rozbija się o ścianę. Integracja sklepu z hurtownią w modelu dropshipping nie jest trudna technicznie, ale wymaga przemyślanej architektury od pierwszego dnia - bo błędy popełnione przy imporcie płacisz potem przez miesiące.
Przeprowadzałem już ponad trzydzieści takich wdrożeń dla polskich i niemieckich MSP. Widziałem sklepy z 8000 SKU synchronizowane co 15 minut i działające bez zarzutu, i widziałem projekty z 400 produktami, które generowały reklamacje codziennie. Różnica leżała nie w liczbie produktów, ale w tym, czy ktoś na początku zadał właściwe pytania: skąd pochodzi plik, jak często się zmienia, co hurtownia robi z produktami, których nie ma.
Co to jest integracja z hurtownią i kiedy jej potrzebujesz
Integracja sklepu z hurtownią dropshipping to mechanizm, który automatycznie pobiera dane produktowe od dostawcy i aktualizuje je w Twoim sklepie bez żadnej ręcznej ingerencji. Obejmuje trzy warstwy: import oferty (nowe produkty, opisy, zdjęcia), synchronizację stanów magazynowych (dostępność, ilość) i synchronizację cen (ceny netto hurtowni jako baza do Twojej marży).
Potrzebujesz integracji, gdy:
- masz ponad 100 SKU od jednej lub kilku hurtowni,
- oferujesz model dropshipping (hurtownia wysyła do klienta bezpośrednio),
- ceny lub stany u dostawcy zmieniają się częściej niż raz dziennie,
- chcesz skalować asortyment bez proporcjonalnego wzrostu kosztów obsługi.
Poniżej 50 produktów ze stabilną ofertą możesz jeszcze kombinować z ręcznym importem CSV raz w tygodniu. Ale jak tylko przekroczysz ten próg, ręczne zarządzanie staje się błędem, który prędzej czy później zaszkodzi opinii sklepu.
Jak działa plik XML z hurtowni - co musisz sprawdzić zanim zaczniesz
Hurtownie udostępniają dane w trzech formatach: XML, CSV lub przez REST API. XML jest najpopularniejszy, bo pozwala zachować hierarchię (produkt z wariantami, kategorie, atrybuty). CSV jest prostszy i szybszy do przetworzenia, ale gorzej radzi sobie z produktami wariantowymi.
Zanim podepniesz jakikolwiek feed do wtyczki, sprawdź cztery rzeczy:
1. Kodowanie - plik musi być w UTF-8. Jeśli hurtownia oddaje ISO-8859-2 (popularny standard w starszych systemach B2B), polskie znaki będą się sypać. Konwersję możesz wykonać skryptem PHP po stronie serwera lub poprosić hurtownię o zmianę.
2. Unikalny identyfikator produktu - każdy produkt musi mieć stały identyfikator (SKU, EAN lub własny ID hurtowni). Bez niego przy każdej synchronizacji wtyczka nie wie, czy aktualizować istniejący produkt, czy tworzyć duplikat. Kilka razy widziałem sklepy z podwójnymi produktami po pierwszej aktualizacji feedu.
3. Aktualność pliku - jak często hurtownia regeneruje plik? Jeśli co 24 godziny, synchronizacja co 15 minut nic nie da. Zapytaj dostawcę o interwał aktualizacji i ustaw swój harmonogram pod to.
4. Zachowanie przy braku stanu - to najważniejsza kwestia. Część hurtowni, gdy produkt skończy się w magazynie, po prostu usuwa go z pliku XML. Inne zerują stan, inne ustawiają flagę niedostępności. Musisz wiedzieć, co robi Twój dostawca, bo od tego zależy konfiguracja reguły "produkt zniknął z feedu".
Jeśli hurtownia usuwa produkt z XML zamiast zerować stan, koniecznie ustaw w wtyczce regułę: brak w feedzie = stan 0 lub draft. Inaczej Twój sklep będzie sprzedawał produkty, których fizycznie nie ma - i każde takie zamówienie skończy się reklamacją.
Narzędzia do integracji - trzy poziomy rozwiązań
W 2026 roku masz do wyboru trzy kategorie narzędzi. Każda ma inne zastosowanie i inny próg kosztowy.
Wtyczki WordPress (dla prostszych przypadków)
WP Desk Dropshipping XML to najpopularniejsza polska wtyczka do importu produktów z XML i CSV do WooCommerce. Pozwala mapować pola z feedu hurtowni na pola WooCommerce, ustawiać marże procentowe i kwotowe, konfigurować harmonogram cron i obsługiwać produkty wariantowe. Wtyczka działa dobrze do kilku tysięcy SKU od jednej lub dwóch hurtowni.
WP All Import to bardziej zaawansowana alternatywa, która obsługuje bardziej skomplikowane transformacje XML/CSV - przydatna, gdy struktura pliku hurtowni jest niestandardowa albo potrzebujesz zaawansowanego mapowania kategorii.
Oba rozwiązania działają w oparciu o WP-Cron lub systemowy cron serwera. Pamiętaj: WP-Cron odpala zadania tylko przy odwiedzeniu strony przez użytkownika, więc na małym ruchu synchronizacja może nie działać w zadanych godzinach. Zawsze konfiguruj zewnętrzny cron systemowy.
Platformy wielokanałowe (dla sklepów z Allegro, Empik, Amazon)
BaseLinker to rozwiązanie dla tych, którzy sprzedają nie tylko w sklepie, ale też na marketplace'ach. Integruje się z ponad 200 hurtowniami dropshippingowymi, w tym TIM, AB, BrandsDistribution, Megapol, Galaxy.com.pl i wieloma innymi. Po sparowaniu hurtowni stany i ceny aktualizują się automatycznie co 10 minut, a zamówienia są przekazywane do dostawcy bez ręcznej ingerencji.
BaseLinker ma też funkcję automatycznego wystawiania ofert na Allegro na podstawie danych z hurtowni - to duże ułatwienie przy skalowaniu. Koszt subskrypcji zaczyna się od ok. 59 zł/mies. i rośnie z liczbą zamówień. Setup z WooCommerce, Allegro i jedną hurtownią to koszt wdrożenia od 2 999 zł netto według cennika agencji na 2026 rok.
ShopSpider to middleware nastawiony na synchronizację wieloplatformową: obsługuje WooCommerce, Shoper, Selly, Magento i PrestaShop. Współpracuje z hurtowniami przez CSV, XML, XLS lub REST API i pozwala definiować reguły mapowania na poziomie platformy. Dobry wybór, gdy masz sklep na jednej platformie, ale planujesz ekspansję na inne.
Własna integracja przez API (dla dużych i niestandardowych projektów)
Jeśli hurtownia udostępnia REST API lub SOAP, a żadna gotowa wtyczka nie spełnia wymagań (niestandardowe atrybuty, specyficzne reguły cen, integracja z ERP), warto rozważyć własny skrypt. WooCommerce REST API pozwala tworzyć, aktualizować i usuwać produkty programatycznie przez endpointy /wp-json/wc/v3/products. Po stronie hurtowni potrzebujesz klucza API i dokumentacji ich endpointów.
Kosztowo: własna integracja to projekt od 10 000 do 30 000 zł netto, zależnie od złożoności. Ma sens od kilkudziesięciu tysięcy SKU lub gdy masz bardzo specyficzne wymagania biznesowe, których gotowe narzędzie nie obsłuży.
Porównanie narzędzi integracji z hurtownią
| Kryterium | WP Desk XML | BaseLinker | Własne API |
|---|---|---|---|
| Koszt wdrożenia | kilkaset zł/rok | od 2999 zł setup + subskrypcja | 10 000-30 000+ zł |
| Obsługa wielu hurtowni | tak (kilka feedów) | tak (200+ hurtowni) | tak (custom) |
| Integracja z marketplace | nie | tak (Allegro, Empik, Amazon) | custom |
| Harmonogram synchronizacji | WP-Cron lub systemowy | co 10 minut automatycznie | dowolny |
| Wymaga programisty | nie | nie (konfiguracja UI) | tak |
| Skalowalność (SKU) | do kilku tys. | do setek tys. | bez limitu |
| Przekazywanie zamówień | ręcznie lub przez hook | automatycznie | automatycznie |
Konfiguracja harmonogramu synchronizacji - jak nie przeciążyć serwera
Harmonogram to jeden z tych obszarów, gdzie "więcej" nie znaczy "lepiej". Zbyt częsta synchronizacja może przeciążyć Twój serwer i jednocześnie wywołać problemy po stronie hurtowni, która może mieć limity żądań (rate limiting).
Optymalna strategia na większości projektów wygląda tak:
- Stany magazynowe - co 15-30 minut, bo tu błąd (sprzedaż towaru bez stanu) boli natychmiast.
- Ceny - kilka razy dziennie (co 4-6 godzin), chyba że hurtownia zmienia ceny bardzo często.
- Opisy, zdjęcia, atrybuty - raz dziennie lub na żądanie, bo to dane rzadko się zmieniają i ich import jest ciężki.
- Pełny reimport - raz w nocy, najlepiej między 2:00 a 4:00, gdy ruch jest minimalny.
U klienta ze sklepem z elektroniką (ok. 4000 SKU z hurtowni AB i TIM) skonfigurowałem osobne harmonogramy: aktualizacja stanów co 20 minut przez cron systemowy, ceny dwa razy dziennie, pełny import raz na dobę z raportem mailowym. W pierwszym miesiącu skończyły się reklamacje za "zamówiliśmy, ale nie mamy" - wcześniej było ich kilkanaście miesięcznie.
Wyłącz WP-Cron w wp-config.php (define('DISABLE_WP_CRON', true);) i skonfiguruj zewnętrzny cron systemowy przez panel hostingowy lub SSH. Tylko tak masz pewność, że synchronizacja odpali o dokładnej godzinie, niezależnie od ruchu na stronie.
Ustawianie marży - schematów, który naprawdę działa
Najczęstszy błąd przy imporcie z hurtowni to ustawienie jednej flat marży dla całego asortymentu. Na produktach za 5 zł netto zarabiasz przy +30% tylko 1,50 zł - z czego musisz jeszcze pokryć koszt transakcji (Przelewy24/PayU/BLIK pobierają 1,4-1,9%), pakowanie i obsługę. To pułapka.
Skuteczniejszy schemat to progi cenowe z marżą malejącą:
- Produkty do 30 zł netto: +50% + 3 zł (bufor kosztów stałych)
- Produkty 30-100 zł netto: +35% + 5 zł
- Produkty 100-300 zł netto: +25% + 8 zł
- Produkty powyżej 300 zł netto: +18% + 15 zł
Do tego zaokrąglenie psychologiczne do .99 lub .90 i osobne reguły dla kategorii wrażliwych cenowo (np. elektronika, gdzie klienci porównują ceny na kilku sklepach).
Warto też ustawić alarm minimalnej marży. Jeśli hurtownia podniesie cenę bazową i Twoja marża spadnie poniżej np. 15%, wtyczka lub skrypt powinna wysłać alert - zamiast cicho sprzedawać poniżej progu rentowności.
Checklist przed uruchomieniem integracji z hurtownią
- Sprawdź kodowanie pliku XML (powinno być UTF-8)
- Zweryfikuj unikalny identyfikator produktu (SKU lub EAN)
- Ustal, jak hurtownia obsługuje brak stanu (usuwa z feedu czy zeruje)
- Skonfiguruj regułę: brak w feedzie = stan 0 lub draft
- Ustaw progi marżowe z buforem kosztów stałych
- Wyłącz WP-Cron i skonfiguruj cron systemowy
- Przetestuj import na 10-20 produktach przed pełnym uruchomieniem
- Sprawdź, czy zdjęcia importują się poprawnie (URL publiczny, nie za loginem)
- Skonfiguruj alert na niską marżę i błędy importu
- Zweryfikuj mapowanie kategorii hurtowni na kategorie sklepu
Automatyczne przekazywanie zamówień do hurtowni
Synchronizacja oferty to tylko połowa pracy. Drugą połową jest automatyczne przekazywanie zamówień od klientów do hurtowni - bo jeśli robisz to ręcznie, limit skalowalności masz już w nazwie stanowiska: "pracownik do przekazywania maili".
Badania BaseLinker LABS z marca 2025 pokazują, że pełna automatyzacja ścieżki zamówienia skraca czas obsługi z 9 minut do 40 sekund. Przy 300 zamówieniach miesięcznie to różnica 42 godzin pracy.
Są trzy mechanizmy przekazywania zamówień:
Webhook WooCommerce - po zmianie statusu zamówienia (np. na "processing" po potwierdzeniu płatności) WooCommerce wysyła POST z danymi JSON na skonfigurowany URL. Możesz tam podpiąć skrypt, który tworzy zamówienie po stronie hurtowni przez jej API.
Plik zamówień - część hurtowni akceptuje zamówienia przez plik CSV/XML generowany i uploadowany do ich systemu B2B. Można to częściowo zautomatyzować skryptem, choć jest mniej eleganckie niż API.
BaseLinker lub inna platforma - po sparowaniu hurtowni w BaseLinkerze zamówienie jest automatycznie przekazywane, a po wysyłce przez hurtownię numer tracking wraca do sklepu i trafia do e-maila do klienta.
U klienta z branży kosmetycznej (sklep na WooCommerce, hurtownia Hermis) wdrożyłem webhook na order.processing wysyłający zamówienie przez REST API hurtowni. Łączny czas wdrożenia: 3 dni robocze, oszczędność: 2 godziny dziennie, które właścicielka spędzała na kopiowaniu zamówień do panelu B2B.
Plusy
- Pełna automatyzacja eliminuje błędy ręcznego przepisywania zamówień
- Synchronizacja stanów co 15-30 minut chroni przed sprzedażą towaru bez stanu
- Skalowanie asortymentu bez proporcjonalnego wzrostu kosztów obsługi
- Gotowe wtyczki jak WP Desk nie wymagają programisty przy typowych hurtowniach
- BaseLinker integruje sklep z marketplace'ami i hurtownią w jednym miejscu
Minusy
- Zależność od jakości pliku XML hurtowni - błędy po ich stronie trafiają do Twojego sklepu
- WP-Cron bez systemowego crona jest zawodny na małym ruchu
- Własna integracja przez API to koszt 10 000-30 000+ zł netto
- Konflikty przy wielu hurtowniach (ten sam produkt, różna cena/stan) wymagają reguł priorytetów
- Synchronizacja dużych plików XML (10 000+ SKU) może obciążać serwer przy zbyt częstym odpytywaniu
Najczęstsze błędy, które blokują działającą integrację
Przez lata wdrożeń zebrałem listę błędów, które klienci popełniają najczęściej. Większość z nich da się uniknąć przed uruchomieniem.
Błąd kodowania to klasyk. Hurtownia oddaje plik w ISO-8859-2, wtyczka interpretuje go jako UTF-8 i wszystkie polskie znaki zamieniają się w krzaczki. Efekt: błędne nazwy produktów w sklepie. Rozwiązanie: konwersja przed importem lub prośba do hurtowni.
Brak unikalnego ID to drugi największy problem. Jeśli hurtownia nie ma stałego SKU dla produktu, a zmienia np. nazwę lub opis, wtyczka może potraktować zaktualizowany produkt jako nowy. Po kilku synchronizacjach masz duplikaty.
Zbyt duże pliki XML na słabym hostingu. Plik 50 MB z 15 000 produktów na współdzielonym hostingu może przekroczyć limit pamięci PHP (128 MB to za mało) lub limit czasu wykonania skryptu (30 sekund to za mało). Potrzebujesz minimum 256 MB RAM dla PHP i 120-180 sekund timeout. Sprawdź ustawienia przed wdrożeniem.
Brak mapowania kategorii - hurtownia ma kategorie w swoim systemie, Twój sklep ma inne. Bez jawnego mapowania produkty wylądują w kategorii "Uncategorized" lub w złym miejscu. Każda dobra wtyczka pozwala przypisać kategorie hurtowni do kategorii sklepu.
Zdjęcia za loginem - hurtownie B2B czasem serwują zdjęcia produktów tylko dla zalogowanych użytkowników. URL zdjęcia w pliku XML wygląda poprawnie, ale jest niedostępny publicznie. Import odbywa się bez zdjęć albo z błędem. Sprawdź dostępność URL-i zdjęć przed konfiguracją.
WooCommerce zapisuje logi błędów importu i synchronizacji w sekcji WooCommerce > Status > Logi. To pierwsze miejsce, które sprawdzam przy diagnozowaniu problemów z feedem hurtowni. Logi przechowują historię ostatnich kilku dni - warto przeglądać je raz w tygodniu przez pierwsze miesiące po uruchomieniu integracji.
Integracja z kilkoma hurtowniami - jak nie wpaść w pułapkę konfliktów
Jeśli obsługujesz kilka hurtowni, pojawia się problem priorytetów. Ten sam produkt (np. po EAN) może być dostępny w hurtowni A w cenie 45 zł netto i w hurtowni B w cenie 42 zł netto. Która wygrywa? Jaki stan pokazać klientowi - sumę z obu, tylko z tańszej, tylko z jednej?
Najlepsza praktyka to ustalenie hierarchii hurtowni i reguł scalania:
- Jeśli chcesz minimalizować cenę zakupu: wygrywa hurtownia z najniższą ceną, pod warunkiem że ma stan > 0.
- Jeśli zależy Ci na jednym, preferowanym dostawcy (np. szybsza wysyłka): hurtownia A ma priorytet, B jest fallbackiem.
- Stan możesz sumować z obu, ale wtedy musisz wiedzieć, z której hurtowni zostanie zrealizowane zamówienie.
BaseLinker ma wbudowane reguły priorytetów hurtowni. Przy wtyczkach WP Desk przy wielu feedach musisz to modelować własną logiką lub przez WooCommerce hooks.
Co jeszcze integracja powinna obejmować - krok dalej niż tylko import
W projekcie dla klienta z branży zabawkowej (sklep zbudowany na WooCommerce z asortymentem 3000 produktów od czterech hurtowni) doszliśmy do punktu, gdzie sama synchronizacja stanów i cen to za mało. Klient potrzebował też:
- Automatycznej aktualizacji opisów - gdy hurtownia poprawia opis lub dodaje parametry, sklep powinien je odzwierciedlić. Ale nie nadpisywać opisów, które właściciel poprawił ręcznie. To wymaga mechanizmu flagowania: "ten opis jest zedytowany przez właściciela - nie nadpisuj".
- Reguł SEO na importowanych nazwach - nazwy produktów w pliku hurtowni są często techniczne i nieprzyjazne dla użytkownika ani dla wyszukiwarek. Regex lub reguły transformacji przy imporcie mogą automatycznie poprawiać format nazwy.
- Powiadomień o nowych produktach - gdy hurtownia doda produkt do feedu, sklep powinien opublikować go od razu lub wysłać powiadomienie do właściciela do zatwierdzenia.
To są funkcje, których gotowe wtyczki nie zawsze obsługują z pudełka - i tu zaczyna się rola developera, który sklei kilka narzędzi w jeden spójny system.
Jeśli interesuje Cię szerszy kontekst - sprawdź kompletny przewodnik po WooCommerce 2026, a jeśli sprzedajesz też na marketplace'ach, artykuł o BaseLinkerze i zarządzaniu zamówieniami pokaże Ci, jak spinać to w jednym miejscu. Jeżeli korzystasz z programu magazynowego, zajrzyj też do artykułu o integracji z Subiektem GT i Wapro Magazyn.
Po wdrożeniu pełnej integracji możesz skupić się na tym, co rzeczywiście przynosi przychód: dobór asortymentu, SEO produktowe i doświadczenie użytkownika. A automatyzacja zajmuje się resztą. Jeśli chcesz porozmawiać o konkretnym projekcie, napisz do mnie - zbuduję Ci architekturę integracji dopasowaną do hurtowni, z którą pracujesz.
Stany magazynowe najlepiej synchronizować co 15-30 minut. Ceny wystarczy aktualizować kilka razy dziennie, bo rzadko zmieniają się z godziny na godzinę. Zbyt częsta synchronizacja - co minutę - potrafi przeciążyć serwer i hurtownię. Ustal priorytety: najpierw zero/dostępne, potem ceny, a pełny reimport danych na noc. Przy gotowej wtyczce jak WP Desk Dropshipping XML lub BaseLinker - nie. Wystarczy podstawowa znajomość WooCommerce i plik XML/CSV od hurtowni. Programista przyda się, gdy hurtownia udostępnia tylko SOAP API lub niestandardowy format, albo gdy masz własne reguły mapowania kategorii i atrybutów, których wtyczka nie obsłuży. W ustawieniach wtyczki importu ustaw regułę: jeśli produkt zniknie z feedu, automatycznie zmień stan na 0 lub przenieś do wersji roboczej. Nigdy nie zostawiaj domyślnego zachowania bez weryfikacji - inaczej klient może zamówić produkt, którego faktycznie nie ma w magazynie hurtowni, co generuje reklamację i kosztuje zaufanie. Najskuteczniejszy schemat to marża procentowa plus stała kwota bufora, z podziałem na progi cenowe. Na przykład: produkty do 50 zł netto +40%, produkty 50-200 zł +30%, powyżej 200 zł +20% plus 15 zł. Dodaj też zaokrąglenie psychologiczne do .99 lub .90. Każda kategoria może mieć osobne reguły, bo marże w elektronice i w odzieży są zupełnie inne. Tak, ale to znacznie komplikuje zarządzanie. Przy BaseLinkerze lub ShopSpiderze obsługa wielu dostawców jest wbudowana. Przy wtyczce WP Desk możesz dodać kilka feedów XML. Kluczowy problem to konflikty - ten sam produkt może mieć różną cenę i stan u dwóch hurtowni. Musisz ustalić priorytety: która hurtownia wygrywa w przypadku konfliktu stanów. Wtyczka WP Desk Dropshipping XML to koszt w granicach kilkuset złotych rocznie za licencję. BaseLinker to subskrypcja miesięczna uzależniona od liczby zamówień (od ok. 59 zł/mies.). Wdrożenie przez agencję lub freelancera - setup podstawowy od 2 999 zł netto, a z integracją ERP i wieloma hurtowniami nawet 15 000 zł netto. Własne API custom to projekt na 10 000-30 000 zł netto i więcej. WP-Cron to wbudowany w WordPress mechanizm zadań cyklicznych. Problem polega na tym, że uruchamia się dopiero przy odwiedzeniu strony przez użytkownika - na małym ruchu synchronizacja może nie działać w zadanych odstępach. Przy integracji z hurtownią zaleca się wyłączenie WP-Cron i zastąpienie go systemowym cronem serwera, który odpali zadanie o dokładnej godzinie niezależnie od ruchu. Najprostszy sposób to webhook WooCommerce skonfigurowany na zdarzenie order.completed lub order.processing - system wyśle dane zamówienia POST-em na URL hurtowni lub do skryptu pośredniczącego. BaseLinker robi to automatycznie po sparowaniu z hurtownią. Ręczne przekazywanie maila działa tylko do kilkudziesięciu zamówień miesięcznie - przy większej skali to ślepa uliczka.Najczęstsze pytania
Jak często powinna odbywać się synchronizacja stanów magazynowych z hurtownią?
Czy do integracji z hurtownią potrzebuję programisty?
Co zrobić, gdy hurtownia usuwa produkt z pliku XML zamiast zerować stan?
Jak ustalić marżę przy imporcie z hurtowni XML?
Czy mogę integrować WooCommerce z kilkoma hurtowniami jednocześnie?
Ile kosztuje wdrożenie integracji sklepu z hurtownią?
Co to jest WP-Cron i dlaczego ma znaczenie przy synchronizacji?
Jak automatycznie przekazywać zamówienia do hurtowni?
Potrzebujesz pomocy z projektem?
Robię strony WordPress i sklepy Shoper od 2500 zł. Partner Shoper, 120+ projektów.
- Odpowiedź w 24h
- Certyfikowany Partner Shoper
- 120+ zrealizowanych projektów
- Zgodność z RODO, pełna ochrona danych