Integracja z fulfillmentem 3PL - przepływ zamówień i stanów między sklepem a magazynem

Łukasz Palej
Łukasz Palej
Technical Implementation Expert
Integracja z fulfillmentem 3PL - przepływ zamówień i stanów między sklepem a magazynem
Integracja z fulfillmentem 3PL to stałe połączenie sklepu i kanałów sprzedaży z systemem zewnętrznego magazynu, przez które zamówienia same trafiają do operatora, a do sklepu wracają statusy, numery przesyłek i aktualne stany. Dobrze zbudowana integracja obejmuje też dane produktów, awizacje dostaw i zwroty, a nie tylko wysyłanie zamówień. Bez tych elementów sklep szybko traci kontrolę nad tym, co faktycznie leży na półkach operatora.
W tym wpisie rozpisujemy przepływ danych między sklepem a magazynem 3PL od strony technicznej: jakie komunikaty trzeba wymieniać, w jakiej kolejności, gdzie najczęściej powstają rozbieżności stanów i jak przygotować przejście z własnej wysyłki do operatora. Tekst jest dla właścicieli sklepów, którzy wybierają fulfillment albo już z niego korzystają i mają problem z danymi.
[#wazne] W skrócie: integracja z fulfillmentem 3PL to pięć przepływów - kartoteka produktów, awizacje dostaw, zamówienia, statusy z numerami przesyłek oraz stany i zwroty. Każdy z nich musi mieć jasny kierunek i właściciela danych, a stany operatora trzeba regularnie porównywać ze stanami w sklepie. Połączenie można zbudować bezpośrednio przez API operatora albo przez integrator, np. Base. Programiści Vinson projektują takie przepływy i budują brakujące połączenia między sklepem, marketplace'ami i magazynem.
Czym jest fulfillment 3PL i co oznacza integracja z magazynem
Fulfillment 3PL (od ang. third-party logistics) to model, w którym magazynowanie, kompletację, pakowanie i nadawanie paczek wykonuje zewnętrzna firma logistyczna. Sklep sprzedaje i obsługuje klientów, a operator fizycznie realizuje zamówienia ze swojego magazynu. Integracja to warstwa danych, która sprawia, że operator wie, co ma wysłać, a sklep wie, co zostało wysłane i ile towaru zostało.
Różnica w porównaniu z własnym magazynem z systemem WMS jest istotna. Przy własnym WMS kontrolujesz system, jego konfigurację i harmonogram zmian. Przy 3PL system magazynowy należy do operatora, a Ty dostajesz tylko interfejs: API, pliki wymieniane przez SFTP, panel klienta albo gotowe wtyczki do popularnych platform. To operator decyduje, jakie pola przyjmuje, jak nazywa statusy i jak często publikuje stany. Integracja musi się do tego dopasować, a nie odwrotnie. Ogólne zasady planowania przepływu zamówień z magazynem opisaliśmy we wpisie integracja WMS ze sklepem i marketplace, tutaj skupiamy się na tym, co specyficzne dla operatora zewnętrznego.
Jak wygląda przepływ zamówień w integracji z fulfillmentem 3PL
Zamówienie przechodzi przez kilka systemów, zanim paczka wyjedzie z magazynu. Każde przejście to osobny komunikat, który może się nie udać, więc każdy krok powinien zostawiać ślad w logu i zmieniać status zamówienia w sklepie. Poniżej typowa ścieżka zamówienia od kanału sprzedaży do operatora i z powrotem.
[#chart:wpr69a]
Najważniejsze decyzje zapadają na początku tej ścieżki. Po pierwsze, kiedy zamówienie jest gotowe do przekazania: zwykle po opłaceniu albo od razu, jeśli to pobranie. Po drugie, czy przekazujesz je natychmiast, czy z krótkim opóźnieniem. Kilkanaście minut zwłoki daje klientowi czas na anulację lub zmianę adresu bez angażowania magazynu. Jeśli przekazujesz zamówienia od razu, musisz mieć działający kanał anulowania u operatora - a ten bywa ograniczony, gdy zamówienie jest już w kompletacji.
Kto tworzy przesyłkę i etykietę
W fulfillmencie przesyłki zwykle tworzy operator: na swoich umowach z przewoźnikami albo na Twoich, jeśli przekażesz mu dostęp. Wyjątkiem są zamówienia z marketplace'ów, gdzie przesyłka musi powstać na warunkach platformy, np. w programie Wysyłam z Allegro. Wtedy integracja przekazuje operatorowi gotową etykietę albo dane potrzebne do jej utworzenia. Trzeba to ustalić przed startem, bo od tego zależy, które pola zamówienia operator musi dostać, w tym kod punktu odbioru i kwota pobrania.
Jakie dane wymienia sklep z magazynem 3PL
Zamówienia to tylko jeden z przepływów. Integracja z fulfillmentem działa stabilnie dopiero wtedy, gdy operator ma poprawną kartotekę produktów i wie z wyprzedzeniem, jaki towar do niego jedzie. Poniższa tabela zbiera komunikaty, które warto uwzględnić w projekcie.
| Przepływ | Kierunek | Co zawiera | Co się psuje, gdy go brakuje |
|---|---|---|---|
| Kartoteka produktów | Sklep lub ERP do 3PL | SKU, EAN, nazwa, wymiary, waga, zestawy, partie | Magazyn nie przyjmie towaru albo pomyli warianty |
| Awizacja dostawy (ASN) | Sklep lub ERP do 3PL | Lista towaru i ilości w dostawie, termin | Przyjęcie trwa dłużej, różnice wychodzą po fakcie |
| Zamówienia | Kanały do 3PL | Pozycje, adres, metoda dostawy, punkt odbioru, pobranie | Zamówienia czekają ręcznie lub wychodzą z błędem |
| Statusy i przesyłki | 3PL do sklepu i kanałów | Status realizacji, numer przesyłki, przewoźnik | Klient i marketplace nie widzą wysyłki |
| Stany magazynowe | 3PL do sklepu i kanałów | Dostępna ilość per SKU, rezerwacje | Sprzedaż towaru, którego nie ma |
| Zwroty | 3PL do sklepu | Przyjęte pozycje, stan towaru, uwagi | Zwrot pieniędzy bez potwierdzenia przyjęcia |
Kartoteka produktów to element, który najczęściej się pomija, bo w sklepie „wszystko jest”. Tymczasem operator potrzebuje danych, których sklep nie musi mieć: wymiarów i wagi pojedynczej sztuki, kodu kreskowego na opakowaniu, informacji o zestawach i o tym, czy produkt ma partie lub daty ważności. Jeśli te dane są niepełne, magazyn uzupełnia je ręcznie przy przyjęciu albo nalicza dopłaty za nietypową obsługę.
Integracja z fulfillmentem 3PL to stałe połączenie sklepu i kanałów sprzedaży z systemem zewnętrznego magazynu, przez które zamówienia same trafiają do operatora, a do sklepu wracają statusy, numery przesyłek i aktualne stany. Dobrze zbudowana integracja obejmuje też dane produktów, awizacje dostaw i zwroty, a nie tylko wysyłanie zamówień. Bez tych elementów sklep szybko traci kontrolę nad tym, co faktycznie leży na półkach operatora.
W tym wpisie rozpisujemy przepływ danych między sklepem a magazynem 3PL od strony technicznej: jakie komunikaty trzeba wymieniać, w jakiej kolejności, gdzie najczęściej powstają rozbieżności stanów i jak przygotować przejście z własnej wysyłki do operatora. Tekst jest dla właścicieli sklepów, którzy wybierają fulfillment albo już z niego korzystają i mają problem z danymi.
[#wazne] W skrócie: integracja z fulfillmentem 3PL to pięć przepływów - kartoteka produktów, awizacje dostaw, zamówienia, statusy z numerami przesyłek oraz stany i zwroty. Każdy z nich musi mieć jasny kierunek i właściciela danych, a stany operatora trzeba regularnie porównywać ze stanami w sklepie. Połączenie można zbudować bezpośrednio przez API operatora albo przez integrator, np. Base. Programiści Vinson projektują takie przepływy i budują brakujące połączenia między sklepem, marketplace'ami i magazynem.
Czym jest fulfillment 3PL i co oznacza integracja z magazynem
Fulfillment 3PL (od ang. third-party logistics) to model, w którym magazynowanie, kompletację, pakowanie i nadawanie paczek wykonuje zewnętrzna firma logistyczna. Sklep sprzedaje i obsługuje klientów, a operator fizycznie realizuje zamówienia ze swojego magazynu. Integracja to warstwa danych, która sprawia, że operator wie, co ma wysłać, a sklep wie, co zostało wysłane i ile towaru zostało.
Różnica w porównaniu z własnym magazynem z systemem WMS jest istotna. Przy własnym WMS kontrolujesz system, jego konfigurację i harmonogram zmian. Przy 3PL system magazynowy należy do operatora, a Ty dostajesz tylko interfejs: API, pliki wymieniane przez SFTP, panel klienta albo gotowe wtyczki do popularnych platform. To operator decyduje, jakie pola przyjmuje, jak nazywa statusy i jak często publikuje stany. Integracja musi się do tego dopasować, a nie odwrotnie. Ogólne zasady planowania przepływu zamówień z magazynem opisaliśmy we wpisie integracja WMS ze sklepem i marketplace, tutaj skupiamy się na tym, co specyficzne dla operatora zewnętrznego.
Jak wygląda przepływ zamówień w integracji z fulfillmentem 3PL
Zamówienie przechodzi przez kilka systemów, zanim paczka wyjedzie z magazynu. Każde przejście to osobny komunikat, który może się nie udać, więc każdy krok powinien zostawiać ślad w logu i zmieniać status zamówienia w sklepie. Poniżej typowa ścieżka zamówienia od kanału sprzedaży do operatora i z powrotem.
[#chart:wpr69a]
Najważniejsze decyzje zapadają na początku tej ścieżki. Po pierwsze, kiedy zamówienie jest gotowe do przekazania: zwykle po opłaceniu albo od razu, jeśli to pobranie. Po drugie, czy przekazujesz je natychmiast, czy z krótkim opóźnieniem. Kilkanaście minut zwłoki daje klientowi czas na anulację lub zmianę adresu bez angażowania magazynu. Jeśli przekazujesz zamówienia od razu, musisz mieć działający kanał anulowania u operatora - a ten bywa ograniczony, gdy zamówienie jest już w kompletacji.
Kto tworzy przesyłkę i etykietę
W fulfillmencie przesyłki zwykle tworzy operator: na swoich umowach z przewoźnikami albo na Twoich, jeśli przekażesz mu dostęp. Wyjątkiem są zamówienia z marketplace'ów, gdzie przesyłka musi powstać na warunkach platformy, np. w programie Wysyłam z Allegro. Wtedy integracja przekazuje operatorowi gotową etykietę albo dane potrzebne do jej utworzenia. Trzeba to ustalić przed startem, bo od tego zależy, które pola zamówienia operator musi dostać, w tym kod punktu odbioru i kwota pobrania.
Jakie dane wymienia sklep z magazynem 3PL
Zamówienia to tylko jeden z przepływów. Integracja z fulfillmentem działa stabilnie dopiero wtedy, gdy operator ma poprawną kartotekę produktów i wie z wyprzedzeniem, jaki towar do niego jedzie. Poniższa tabela zbiera komunikaty, które warto uwzględnić w projekcie.
| Przepływ | Kierunek | Co zawiera | Co się psuje, gdy go brakuje |
|---|---|---|---|
| Kartoteka produktów | Sklep lub ERP do 3PL | SKU, EAN, nazwa, wymiary, waga, zestawy, partie | Magazyn nie przyjmie towaru albo pomyli warianty |
| Awizacja dostawy (ASN) | Sklep lub ERP do 3PL | Lista towaru i ilości w dostawie, termin | Przyjęcie trwa dłużej, różnice wychodzą po fakcie |
| Zamówienia | Kanały do 3PL | Pozycje, adres, metoda dostawy, punkt odbioru, pobranie | Zamówienia czekają ręcznie lub wychodzą z błędem |
| Statusy i przesyłki | 3PL do sklepu i kanałów | Status realizacji, numer przesyłki, przewoźnik | Klient i marketplace nie widzą wysyłki |
| Stany magazynowe | 3PL do sklepu i kanałów | Dostępna ilość per SKU, rezerwacje | Sprzedaż towaru, którego nie ma |
| Zwroty | 3PL do sklepu | Przyjęte pozycje, stan towaru, uwagi | Zwrot pieniędzy bez potwierdzenia przyjęcia |
Kartoteka produktów to element, który najczęściej się pomija, bo w sklepie „wszystko jest”. Tymczasem operator potrzebuje danych, których sklep nie musi mieć: wymiarów i wagi pojedynczej sztuki, kodu kreskowego na opakowaniu, informacji o zestawach i o tym, czy produkt ma partie lub daty ważności. Jeśli te dane są niepełne, magazyn uzupełnia je ręcznie przy przyjęciu albo nalicza dopłaty za nietypową obsługę.
- Wycena zadania w 24 h w dni robocze
- Integracje, API, feedy i poprawki w sklepie
- Rozliczenie godzinowe albo za projekt
Konsultację poprowadzi Łukasz Palej, Technical Implementation ExpertStany magazynowe przy fulfillmencie 3PL - kto jest źródłem prawdy
Przy fulfillmencie źródłem prawdy dla stanu fizycznego jest operator, bo to on liczy towar na półkach. Sklep albo integrator powinien przyjmować jego stany i rozsyłać je do kanałów sprzedaży, uwzględniając zamówienia, które zostały złożone, ale jeszcze nie dotarły do magazynu. To właśnie ta luka czasowa jest głównym źródłem sprzedaży towaru, którego nie ma: operator pokazuje 5 sztuk, a w kolejce do przekazania czekają już 3 zamówienia.
Dlatego dostępna ilość w kanałach to zwykle stan operatora minus zamówienia nieprzekazane i minus ewentualny bufor bezpieczeństwa. Jak liczyć i rozsyłać takie stany do sklepu i marketplace'ów, opisujemy szerzej w artykule synchronizacja stanów magazynowych między sklepem a marketplace. Przy 3PL dochodzą do tego trzy rzeczy specyficzne dla operatora:
Częstotliwość publikacji stanów - część operatorów udostępnia stany na bieżąco przez API, inni raz na kilka godzin w pliku. Przy rzadkiej aktualizacji bufor musi być większy.
Towar zablokowany - uszkodzony, w kwarantannie po zwrocie albo przypisany do kompletowanych zamówień. Trzeba ustalić, którą wartość operator podaje jako dostępną.
Uzgadnianie stanów - raz dziennie warto porównać stany operatora z oczekiwanymi i raportować różnice powyżej progu, zamiast odkrywać je przy inwentaryzacji.
[#tip] Ustal z operatorem, w jakiej jednostce podaje stany zestawów i produktów sprzedawanych w opakowaniach zbiorczych. Jeśli sklep sprzedaje karton 6 sztuk jako jeden produkt, a magazyn liczy pojedyncze sztuki, integracja musi przeliczać ilości w obu kierunkach, inaczej stany rozjadą się po pierwszej dostawie.
Bezpośrednie API operatora czy integrator - jak połączyć 3PL
Są trzy typowe sposoby technicznego połączenia sklepu z fulfillmentem. Gotowa wtyczka operatora do platformy sklepu jest najszybsza, ale obsługuje tylko ten jeden sklep. Integrator sprzedaży, taki jak Base, zbiera zamówienia ze sklepu i marketplace'ów w jednym miejscu i przekazuje je operatorowi, jeśli ma z nim integrację. Własne połączenie z API operatora daje pełną kontrolę nad logiką, np. nad opóźnieniem przekazania, regułami podziału zamówień czy obsługą przedsprzedaży.
Część platform ma też własny model współpracy z magazynami. Shopify w dokumentacji dla deweloperów opisuje aplikacje typu fulfillment service: operator ma w sklepie własną lokalizację, dostaje prośby o realizację zleceń (fulfillment requests), które może przyjąć lub odrzucić, a po wysyłce tworzy realizację z numerem przesyłki. Sklep może też poprosić o anulowanie zlecenia przed wysyłką, a operator tę prośbę przyjmuje lub odrzuca. To dobry wzorzec także dla innych platform: zamówienie przekazane do magazynu nie jest już w pełni pod kontrolą sklepu.
[#chart:wpr69b]
Jedna zasada obowiązuje w każdym wariancie: zamówienia z danego kanału trafiają do operatora tylko jedną drogą. Jeśli to samo konto marketplace jest podłączone i do integratora, i bezpośrednio do operatora, prędzej czy później pojawią się zdublowane zamówienia i dwie paczki do jednego klienta.
Najczęstsze problemy w integracji z fulfillmentem 3PL
Większość awarii nie wynika z samego API, tylko z rozjazdu ustaleń między sklepem a operatorem. Oto problemy, które pojawiają się najczęściej przy przeglądach takich integracji:
Nowy produkt bez kartoteki - sklep zaczyna sprzedawać produkt, którego operator nie zna. Zamówienie trafia do magazynu i zostaje odrzucone albo utknie w statusie błędu.
Zmiana adresu po przekazaniu - klient prosi o zmianę, obsługa poprawia adres w sklepie, ale operator wysyła na stary, bo integracja nie przesyła aktualizacji.
Niezmapowana metoda dostawy - nowa metoda w koszyku nie ma odpowiednika u operatora, więc zamówienie czeka na ręczną decyzję.
Brak numeru przesyłki w kanale - operator wysłał paczkę, ale status z numerem nie wrócił do marketplace'u, przez co rośnie odsetek zamówień bez śledzenia.
Zwroty bez informacji zwrotnej - magazyn przyjmuje zwrot, ale sklep nie wie, w jakim stanie jest towar, więc zwrot pieniędzy jest wstrzymany albo wykonany bez kontroli.
[#chart:wpr69c]
Jeśli operator udostępnia powiadomienia o zmianie statusu, warto je wykorzystać zamiast odpytywać API co kilka minut. Trzeba jednak pamiętać, że powiadomienia mogą przyjść podwójnie albo wcale, więc integracja powinna rozpoznawać duplikaty i okresowo sprawdzać, czy nic nie zginęło. Sposób potwierdzania odbioru i ponawiania komunikatów warto uzgodnić z operatorem jeszcze przed startem.
Braki przy kompletacji i zamówienia częściowe
Osobny scenariusz to sytuacja, w której stan w systemie operatora się zgadzał, ale przy kompletacji brakuje towaru: produkt jest uszkodzony albo leży w złym miejscu. Integracja musi wiedzieć, co wtedy robi operator. Jedni wstrzymują całe zamówienie i czekają na decyzję sklepu, inni wysyłają dostępne pozycje i zgłaszają brak. W drugim przypadku sklep dostaje informację o wysyłce częściowej i musi sam zdecydować o dosłaniu brakującego produktu albo o częściowym zwrocie pieniędzy. Jeśli integracja nie obsługuje takiego komunikatu, zamówienie w sklepie wygląda na zrealizowane w całości, a klient dowiaduje się o braku dopiero po otwarciu paczki. Dlatego scenariusz braku warto opisać w umowie z operatorem i przetestować przed startem tak samo jak zwykłe zamówienie.
Przejście na fulfillment 3PL - jak zaplanować start integracji
Przeniesienie wysyłek do operatora to projekt z datą graniczną: do pewnego dnia pakujesz sam, od następnego wysyła magazyn. Najwięcej problemów powstaje właśnie w tym przejściu, gdy część towaru jest jeszcze u Ciebie, a część już u operatora. Dlatego plan warto rozpisać na etapy:
uzupełnienie kartoteki produktów i przesłanie jej do operatora z wyprzedzeniem,
awizacja pierwszej dostawy i porównanie przyjętych ilości z wysłanymi,
testy na środowisku testowym operatora: zamówienie zwykłe, z pobraniem, do punktu odbioru, anulowane, zmienione,
przełączenie stanów w kanałach na stany operatora dopiero po przyjęciu towaru,
kilka dni podwójnej kontroli: codzienny raport zamówień przekazanych, wysłanych i bez numeru przesyłki.
[#checklista] Przed uruchomieniem integracji z 3PL ustal: kto jest źródłem prawdy dla stanów i jak często operator je publikuje; jak przekazywane są anulacje i zmiany adresu; kto tworzy przesyłki dla zamówień z marketplace'ów; jakie metody dostawy obsługuje operator; jak raportowane są zwroty i towar uszkodzony; jakie raporty usług operator udostępnia do weryfikacji faktury; kto po Twojej stronie reaguje na błędy integracji.
Ostatni punkt dotyczy pieniędzy. Operator fakturuje zwykle za usługi magazynowe i za każde zamówienie, a dane do faktury pochodzą z jego systemu. Jeśli integracja zapisuje w sklepie, kiedy zamówienie zostało przekazane, wysłane i ile miało pozycji, możesz porównać fakturę z własnymi danymi zamiast przyjmować ją na wiarę.
Jak Vinson pomaga w integracji z fulfillmentem 3PL
Programiści Vinson projektują i wdrażają przepływy danych między sklepem, marketplace'ami a magazynami zewnętrznymi. Pomagamy wybrać sposób połączenia - wtyczkę operatora, integrator taki jak Base albo własną integrację z API - przygotowujemy mapowanie produktów, metod dostawy i statusów, budujemy raporty uzgadniania stanów i monitoring błędów. Przejmujemy też istniejące integracje z 3PL, które gubią zamówienia albo rozjeżdżają stany. Szczegóły znajdziesz na stronie Wsparcie programistyczne dla e-commerce.
Najczęściej zadawane pytania
Co to jest integracja z fulfillmentem 3PL?
To połączenie sklepu i kanałów sprzedaży z systemem zewnętrznego magazynu, który kompletuje i wysyła zamówienia. Integracja przekazuje operatorowi zamówienia, kartotekę produktów i awizacje dostaw, a do sklepu odsyła statusy, numery przesyłek, stany i informacje o zwrotach.
Czy fulfillment 3PL można połączyć z Allegro i sklepem jednocześnie?
Tak, najczęściej przez integrator sprzedaży, który zbiera zamówienia ze wszystkich kanałów i przekazuje je operatorowi. Ważne, żeby każdy kanał był połączony z magazynem tylko jedną drogą. Przy zamówieniach z Allegro trzeba też ustalić, kto tworzy przesyłki w ramach programu Wysyłam z Allegro.
Skąd brać stany magazynowe przy fulfillmencie?
Źródłem stanu fizycznego jest operator, bo to on liczy towar. Do kanałów sprzedaży warto jednak wysyłać stan pomniejszony o zamówienia, które jeszcze nie dotarły do magazynu, i o bufor bezpieczeństwa. Raz dziennie dobrze jest porównać stany operatora z oczekiwanymi.
Jak obsłużyć anulowanie zamówienia przekazanego do 3PL?
Integracja powinna wysłać do operatora prośbę o anulowanie i czekać na potwierdzenie, bo zamówienie może być już w kompletacji. Jeśli operator odmówi, paczka wyjdzie i trzeba ją obsłużyć jak zwrot. Krótkie opóźnienie przekazania zamówień zmniejsza liczbę takich sytuacji.
Ile trwa wdrożenie integracji z magazynem 3PL?
To zależy od tego, czy operator ma gotową integrację z Twoją platformą lub integratorem, i od liczby kanałów sprzedaży. Najwięcej czasu zajmuje zwykle uporządkowanie kartoteki produktów, mapowanie metod dostawy i testy scenariuszy wyjątkowych, a nie samo połączenie z API.
Integracja z fulfillmentem 3PL działa dobrze wtedy, gdy każdy przepływ danych ma właściciela, a rozbieżności są wykrywane codziennie, a nie przy inwentaryzacji. Jeśli planujesz przejście do operatora albo chcesz naprawić istniejące połączenie, zobacz, jak działa wsparcie programistyczne Vinson. O bezpiecznym odbiorze powiadomień o statusach przeczytasz we wpisie webhooki w e-commerce - do czego służą.
Stany magazynowe przy fulfillmencie 3PL - kto jest źródłem prawdy
Przy fulfillmencie źródłem prawdy dla stanu fizycznego jest operator, bo to on liczy towar na półkach. Sklep albo integrator powinien przyjmować jego stany i rozsyłać je do kanałów sprzedaży, uwzględniając zamówienia, które zostały złożone, ale jeszcze nie dotarły do magazynu. To właśnie ta luka czasowa jest głównym źródłem sprzedaży towaru, którego nie ma: operator pokazuje 5 sztuk, a w kolejce do przekazania czekają już 3 zamówienia.
Dlatego dostępna ilość w kanałach to zwykle stan operatora minus zamówienia nieprzekazane i minus ewentualny bufor bezpieczeństwa. Jak liczyć i rozsyłać takie stany do sklepu i marketplace'ów, opisujemy szerzej w artykule synchronizacja stanów magazynowych między sklepem a marketplace. Przy 3PL dochodzą do tego trzy rzeczy specyficzne dla operatora:
Częstotliwość publikacji stanów - część operatorów udostępnia stany na bieżąco przez API, inni raz na kilka godzin w pliku. Przy rzadkiej aktualizacji bufor musi być większy.
Towar zablokowany - uszkodzony, w kwarantannie po zwrocie albo przypisany do kompletowanych zamówień. Trzeba ustalić, którą wartość operator podaje jako dostępną.
Uzgadnianie stanów - raz dziennie warto porównać stany operatora z oczekiwanymi i raportować różnice powyżej progu, zamiast odkrywać je przy inwentaryzacji.
[#tip] Ustal z operatorem, w jakiej jednostce podaje stany zestawów i produktów sprzedawanych w opakowaniach zbiorczych. Jeśli sklep sprzedaje karton 6 sztuk jako jeden produkt, a magazyn liczy pojedyncze sztuki, integracja musi przeliczać ilości w obu kierunkach, inaczej stany rozjadą się po pierwszej dostawie.
Bezpośrednie API operatora czy integrator - jak połączyć 3PL
Są trzy typowe sposoby technicznego połączenia sklepu z fulfillmentem. Gotowa wtyczka operatora do platformy sklepu jest najszybsza, ale obsługuje tylko ten jeden sklep. Integrator sprzedaży, taki jak Base, zbiera zamówienia ze sklepu i marketplace'ów w jednym miejscu i przekazuje je operatorowi, jeśli ma z nim integrację. Własne połączenie z API operatora daje pełną kontrolę nad logiką, np. nad opóźnieniem przekazania, regułami podziału zamówień czy obsługą przedsprzedaży.
Część platform ma też własny model współpracy z magazynami. Shopify w dokumentacji dla deweloperów opisuje aplikacje typu fulfillment service: operator ma w sklepie własną lokalizację, dostaje prośby o realizację zleceń (fulfillment requests), które może przyjąć lub odrzucić, a po wysyłce tworzy realizację z numerem przesyłki. Sklep może też poprosić o anulowanie zlecenia przed wysyłką, a operator tę prośbę przyjmuje lub odrzuca. To dobry wzorzec także dla innych platform: zamówienie przekazane do magazynu nie jest już w pełni pod kontrolą sklepu.
[#chart:wpr69b]
Jedna zasada obowiązuje w każdym wariancie: zamówienia z danego kanału trafiają do operatora tylko jedną drogą. Jeśli to samo konto marketplace jest podłączone i do integratora, i bezpośrednio do operatora, prędzej czy później pojawią się zdublowane zamówienia i dwie paczki do jednego klienta.
Najczęstsze problemy w integracji z fulfillmentem 3PL
Większość awarii nie wynika z samego API, tylko z rozjazdu ustaleń między sklepem a operatorem. Oto problemy, które pojawiają się najczęściej przy przeglądach takich integracji:
Nowy produkt bez kartoteki - sklep zaczyna sprzedawać produkt, którego operator nie zna. Zamówienie trafia do magazynu i zostaje odrzucone albo utknie w statusie błędu.
Zmiana adresu po przekazaniu - klient prosi o zmianę, obsługa poprawia adres w sklepie, ale operator wysyła na stary, bo integracja nie przesyła aktualizacji.
Niezmapowana metoda dostawy - nowa metoda w koszyku nie ma odpowiednika u operatora, więc zamówienie czeka na ręczną decyzję.
Brak numeru przesyłki w kanale - operator wysłał paczkę, ale status z numerem nie wrócił do marketplace'u, przez co rośnie odsetek zamówień bez śledzenia.
Zwroty bez informacji zwrotnej - magazyn przyjmuje zwrot, ale sklep nie wie, w jakim stanie jest towar, więc zwrot pieniędzy jest wstrzymany albo wykonany bez kontroli.
[#chart:wpr69c]
Jeśli operator udostępnia powiadomienia o zmianie statusu, warto je wykorzystać zamiast odpytywać API co kilka minut. Trzeba jednak pamiętać, że powiadomienia mogą przyjść podwójnie albo wcale, więc integracja powinna rozpoznawać duplikaty i okresowo sprawdzać, czy nic nie zginęło. Sposób potwierdzania odbioru i ponawiania komunikatów warto uzgodnić z operatorem jeszcze przed startem.
Braki przy kompletacji i zamówienia częściowe
Osobny scenariusz to sytuacja, w której stan w systemie operatora się zgadzał, ale przy kompletacji brakuje towaru: produkt jest uszkodzony albo leży w złym miejscu. Integracja musi wiedzieć, co wtedy robi operator. Jedni wstrzymują całe zamówienie i czekają na decyzję sklepu, inni wysyłają dostępne pozycje i zgłaszają brak. W drugim przypadku sklep dostaje informację o wysyłce częściowej i musi sam zdecydować o dosłaniu brakującego produktu albo o częściowym zwrocie pieniędzy. Jeśli integracja nie obsługuje takiego komunikatu, zamówienie w sklepie wygląda na zrealizowane w całości, a klient dowiaduje się o braku dopiero po otwarciu paczki. Dlatego scenariusz braku warto opisać w umowie z operatorem i przetestować przed startem tak samo jak zwykłe zamówienie.
Przejście na fulfillment 3PL - jak zaplanować start integracji
Przeniesienie wysyłek do operatora to projekt z datą graniczną: do pewnego dnia pakujesz sam, od następnego wysyła magazyn. Najwięcej problemów powstaje właśnie w tym przejściu, gdy część towaru jest jeszcze u Ciebie, a część już u operatora. Dlatego plan warto rozpisać na etapy:
uzupełnienie kartoteki produktów i przesłanie jej do operatora z wyprzedzeniem,
awizacja pierwszej dostawy i porównanie przyjętych ilości z wysłanymi,
testy na środowisku testowym operatora: zamówienie zwykłe, z pobraniem, do punktu odbioru, anulowane, zmienione,
przełączenie stanów w kanałach na stany operatora dopiero po przyjęciu towaru,
kilka dni podwójnej kontroli: codzienny raport zamówień przekazanych, wysłanych i bez numeru przesyłki.
[#checklista] Przed uruchomieniem integracji z 3PL ustal: kto jest źródłem prawdy dla stanów i jak często operator je publikuje; jak przekazywane są anulacje i zmiany adresu; kto tworzy przesyłki dla zamówień z marketplace'ów; jakie metody dostawy obsługuje operator; jak raportowane są zwroty i towar uszkodzony; jakie raporty usług operator udostępnia do weryfikacji faktury; kto po Twojej stronie reaguje na błędy integracji.
Ostatni punkt dotyczy pieniędzy. Operator fakturuje zwykle za usługi magazynowe i za każde zamówienie, a dane do faktury pochodzą z jego systemu. Jeśli integracja zapisuje w sklepie, kiedy zamówienie zostało przekazane, wysłane i ile miało pozycji, możesz porównać fakturę z własnymi danymi zamiast przyjmować ją na wiarę.
Jak Vinson pomaga w integracji z fulfillmentem 3PL
Programiści Vinson projektują i wdrażają przepływy danych między sklepem, marketplace'ami a magazynami zewnętrznymi. Pomagamy wybrać sposób połączenia - wtyczkę operatora, integrator taki jak Base albo własną integrację z API - przygotowujemy mapowanie produktów, metod dostawy i statusów, budujemy raporty uzgadniania stanów i monitoring błędów. Przejmujemy też istniejące integracje z 3PL, które gubią zamówienia albo rozjeżdżają stany. Szczegóły znajdziesz na stronie Wsparcie programistyczne dla e-commerce.
Najczęściej zadawane pytania
Co to jest integracja z fulfillmentem 3PL?
To połączenie sklepu i kanałów sprzedaży z systemem zewnętrznego magazynu, który kompletuje i wysyła zamówienia. Integracja przekazuje operatorowi zamówienia, kartotekę produktów i awizacje dostaw, a do sklepu odsyła statusy, numery przesyłek, stany i informacje o zwrotach.
Czy fulfillment 3PL można połączyć z Allegro i sklepem jednocześnie?
Tak, najczęściej przez integrator sprzedaży, który zbiera zamówienia ze wszystkich kanałów i przekazuje je operatorowi. Ważne, żeby każdy kanał był połączony z magazynem tylko jedną drogą. Przy zamówieniach z Allegro trzeba też ustalić, kto tworzy przesyłki w ramach programu Wysyłam z Allegro.
Skąd brać stany magazynowe przy fulfillmencie?
Źródłem stanu fizycznego jest operator, bo to on liczy towar. Do kanałów sprzedaży warto jednak wysyłać stan pomniejszony o zamówienia, które jeszcze nie dotarły do magazynu, i o bufor bezpieczeństwa. Raz dziennie dobrze jest porównać stany operatora z oczekiwanymi.
Jak obsłużyć anulowanie zamówienia przekazanego do 3PL?
Integracja powinna wysłać do operatora prośbę o anulowanie i czekać na potwierdzenie, bo zamówienie może być już w kompletacji. Jeśli operator odmówi, paczka wyjdzie i trzeba ją obsłużyć jak zwrot. Krótkie opóźnienie przekazania zamówień zmniejsza liczbę takich sytuacji.
Ile trwa wdrożenie integracji z magazynem 3PL?
To zależy od tego, czy operator ma gotową integrację z Twoją platformą lub integratorem, i od liczby kanałów sprzedaży. Najwięcej czasu zajmuje zwykle uporządkowanie kartoteki produktów, mapowanie metod dostawy i testy scenariuszy wyjątkowych, a nie samo połączenie z API.
Integracja z fulfillmentem 3PL działa dobrze wtedy, gdy każdy przepływ danych ma właściciela, a rozbieżności są wykrywane codziennie, a nie przy inwentaryzacji. Jeśli planujesz przejście do operatora albo chcesz naprawić istniejące połączenie, zobacz, jak działa wsparcie programistyczne Vinson. O bezpiecznym odbiorze powiadomień o statusach przeczytasz we wpisie webhooki w e-commerce - do czego służą.


Łukasz Palej
Technical Implementation Expert
Wdraża integracje i rozwiązania IT dla e-commerce: sklepy, feedy produktowe, przepływ danych między systemami.
Wdraża integracje i rozwiązania IT dla e-commerce: sklepy, feedy produktowe, przepływ danych między systemami.
Wsparcie programistyczne dla e-commerce
Łukasz i nasz zespół pomogą Ci wdrożyć to na Twoim koncie - bez zobowiązań.
- Analiza Twojego konta i obecnych działań
- Konkretny plan poprawek do wdrożenia
- Bezpłatna konsultacja – bez zobowiązań

Przeczytaj także
Więcej porad z naszej bazy wiedzy - przesuń, aby zobaczyć kolejne artykuły.
Masz pytania? Chętnie porozmawiamy!
Masz pytania? Chętnie porozmawiamy!
Odpowiadamy w ciągu 24 godzin w dni robocze. Pierwsza rozmowa jest bezpłatna i do niczego nie zobowiązuje.
Masz pytania? Chętnie porozmawiamy!
Odpowiadamy w ciągu 24 godzin w dni robocze. Pierwsza rozmowa jest bezpłatna i do niczego nie zobowiązuje.

Bartłomiej Stokłosa
CEO & Founder
"Jeżeli czegoś nie da się zrobić, potrzebny jest ktoś, kto o tym nie wie - przyjdzie i to zrobi."

Bartłomiej Stokłosa
CEO & Founder
"Jeżeli czegoś nie da się zrobić, potrzebny jest ktoś, kto o tym nie wie - przyjdzie i to zrobi."
Wybierz dogodny termin w kalendarzu - bez wymiany maili w tę i z powrotem.
Napisz do nas
Opisz krótko, czego potrzebujesz - oddzwonimy lub odpiszemy w ciągu 24 godzin w dni robocze.
Na zapytanie odpowie Łukasz Palej, Technical Implementation ExpertNapisz do nas
Opisz krótko, czego potrzebujesz - oddzwonimy lub odpiszemy w ciągu 24 godzin w dni robocze.
Na zapytanie odpowie Łukasz Palej, Technical Implementation Expert