Zarządzanie procesami magazynowania sprowadza się do dwóch pytań: kto odpowiada za każdy proces i po czym poznać, że proces działa dobrze. Pierwsze porządkuje mapa procesów, drugie wskaźniki procesowe. Między jednym a drugim mieści się automatyzacja tych operacji, które da się opisać regułą.
Ten artykuł traktuje magazyn jako zestaw procesów, z których każdy ma wejście i wynik oraz właściciela, a nie jako listę funkcji programu. Codzienną kolejność pracy zmiany opisuje osobno tekst o obsłudze magazynu, a katalog raportów w systemie - artykuł o raportowaniu w systemie WMS. Tutaj chodzi o to, jak procesy zdefiniować i zmierzyć.
Zarządzanie procesami magazynowania zaczyna się od mapy
Mapa procesów spisuje, co wchodzi do procesu, co z niego wychodzi, kto go prowadzi i jakim dokumentem się potwierdza. Bez takiej mapy każdy dział opisuje magazyn po swojemu, a rozbieżności wychodzą dopiero przy pierwszym błędzie stanu. Poniższa tabela pokazuje przykładową mapę dla magazynu z kompletacją zamówień.
| Proces | Wejście | Wynik | Właściciel | Dokument |
|---|---|---|---|---|
| Przyjęcie | Dostawa i zamówienie zakupu | Towar na stanie i w lokalizacji | Kierownik przyjęć | PZ |
| Uzupełnianie | Stan lokalizacji poniżej minimum | Towar w strefie kompletacji | Brygadzista zmiany | Zl |
| Kompletacja | Zlecenie wydania | Zebrane pozycje zamówienia | Brygadzista zmiany | Zlecenie kompletacji |
| Wydanie | Skompletowana przesyłka | Towar u przewoźnika | Kierownik wydań | WZ |
| Inwentaryzacja | Harmonogram liczenia | Zgodność stanu z regałami | Kierownik magazynu | Dokument różnic |
Mapa rozjeżdża się z rzeczywistością najczęściej w miejscach, których nikt nie uznał za proces. Przeładunek między bramami czy konfekcjonowanie, a także przepakowanie zwrotów i obsługa palet zwrotnych zwykle odbywają się nieformalnie, więc nie mają ani zdarzeń, ani właściciela. Ich koszt widać dopiero w raporcie różnic inwentaryzacyjnych. Dlatego pierwszym zadaniem przy tworzeniu mapy jest obejście magazynu z listą i dopisanie procesów, o których nie wspomina żaden dokument.
Reguła: każdy proces ma jednego właściciela oraz jedno zdarzenie startu i jedno zdarzenie końca. Proces, którego koniec nie ma zapisu w systemie, nie da się zmierzyć.
Poziomy szczegółowości mapy
Mapę opisuje się na trzech poziomach, a każdy służy do czegoś innego. Poziom pierwszy obejmuje cały proces (na przykład kompletację) z właścicielem i wskaźnikiem wynikowym. Poziom drugi to zadania w procesie: pobranie pozycji i weryfikacja oraz zamknięcie zlecenia, każde ze statusem. Poziom trzeci to instrukcja pojedynczego kroku, na przykład skanowanie etykiety lokalizacji przed etykietą towaru. Kierownik potrzebuje pierwszego poziomu, brygadzista drugiego, a nowy pracownik trzeciego. Mieszanie poziomów w jednym dokumencie kończy się mapą, której nikt nie czyta.
Zdarzenia jako granice procesu
Zdarzenie zapisane w chwili wykonania operacji jest źródłem każdego późniejszego wskaźnika. Zdarzeniami są rozpoczęcie rozładunku i odłożenie palety oraz pobranie i zakończenie zadania. Z nich liczy się czasy cykli. Dobrą praktyką jest osobny dziennik zdarzeń procesu, odporny na poprawki: błąd koryguje się nowym wpisem, a nie edycją starego. Poniższa tabela jest przykładowa i pokazuje sam mechanizm.
-- przykładowy dziennik zdarzeń procesu (nie jest schematem żadnego produktu)
CREATE TABLE dbo.ZdarzenieProcesu (
IdZdarzenia bigint IDENTITY(1,1) PRIMARY KEY,
Proces varchar(20) NOT NULL, -- PRZYJECIE, KOMPLETACJA, WYDANIE
IdObiektu int NOT NULL, -- numer dostawy albo zadania
Etap varchar(20) NOT NULL, -- np. ROZLADUNEK, ODLOZONO
Czas datetime2(3) NOT NULL DEFAULT SYSDATETIME(),
IdOperatora int NULL
);
CREATE INDEX IX_ZdarzenieProcesu_Obiekt
ON dbo.ZdarzenieProcesu (Proces, IdObiektu, Czas);
Wskaźniki procesowe i sposób ich liczenia
Wskaźnik procesowy ma definicję i wzór oraz źródło danych. Bez nich liczby z różnych raportów nie dają się porównać. Zestawienie poniżej obejmuje wskaźniki, które da się policzyć z samych zdarzeń i dokumentów magazynowych, bez dodatkowych urządzeń.
| Wskaźnik | Wzór | Co pokazuje |
|---|---|---|
| Czas cyklu przyjęcia | Czas od rozpoczęcia rozładunku do odłożenia ostatniej palety | Sprawność przyjęcia i odkładu |
| Produktywność ilościowa | Liczba jednostek obsłużonych podzielona przez roboczogodziny | Wykorzystanie pracy ludzi |
| Produktywność wartościowa | Wartość obsłużonego towaru podzielona przez koszt pracy | Opłacalność obsługi w ujęciu finansowym |
| Dokładność lokalizacji | Lokalizacje bez różnic podzielone przez policzone | Jakość ewidencji stanu |
| Terminowość wydań | Odjazdy zrealizowane w terminie podzielone przez wszystkie | Skuteczność planu wysyłek |
| Odsetek linii z reklamacją | Linie zamówień z reklamacją podzielone przez wszystkie wysłane | Jakość kompletacji i weryfikacji |
Produktywność magazynowania występuje w dwóch odmianach: ilościowej, liczonej w jednostkach na roboczogodzinę, i wartościowej, liczonej w złotych obsłużonego towaru na koszt pracy. Pierwsza dobrze porównuje zmiany, druga pozwala ocenić, czy wzrost obsługi jest opłacalny. Żadna z nich nie ma jednej normy dla wszystkich magazynów, bo zależą od asortymentu i gabarytów oraz od układu hali.
Sama średnia bywa myląca. Jedna dostawa z opóźnionym rozładunkiem, na przykład z powodu awarii wózka, podnosi ją bardziej niż dziesięć dostaw przyjętych sprawnie, dlatego obok średniej warto podawać medianę i wartość dla dziewiątego decyla. Osobno liczy się dostawy specjalne, na przykład pełne naczepy, bo mieszanie ich z drobnymi przesyłkami zaciera obraz. Wartości porównuje się w tych samych okresach roku, ponieważ sezon sprzedaży zmienia zarówno wolumen, jak i strukturę zamówień.
Dokładność lokalizacji
Ten wskaźnik wymaga zapisu wyników liczenia. Przy inwentaryzacji ciągłej system zapisuje dla każdej policzonej lokalizacji różnicę między stanem systemowym a fizycznym, a dokładność jest odsetkiem lokalizacji z różnicą zerową w wybranym okresie. Poniższe zapytanie liczy ją dla ostatniego miesiąca, a tabela liczeń jest przykładowa.
-- odsetek lokalizacji bez różnicy w ostatnim miesiącu
SELECT CAST(100.0 * SUM(CASE WHEN Roznica = 0 THEN 1 ELSE 0 END) / COUNT(*) AS decimal(5,1)) AS DokladnoscProc
FROM dbo.PoliczenieLokalizacji
WHERE DataLiczenia >= DATEADD(MONTH, -1, SYSDATETIME());
Czas cyklu przyjęcia z dziennika zdarzeń
Czas cyklu liczy się jako różnicę między najwcześniejszym zdarzeniem rozładunku a najpóźniejszym zdarzeniem odłożenia dla tej samej dostawy. Zapytanie grupuje zdarzenia po identyfikatorze dostawy i odrzuca dostawy, w których nie odłożono jeszcze żadnej palety, żeby nie zaniżać średniej.
-- czas cyklu przyjęcia: od rozpoczęcia rozładunku do odłożenia ostatniej palety
SELECT IdObiektu AS IdDostawy,
DATEDIFF(MINUTE,
MIN(CASE WHEN Etap = 'ROZLADUNEK' THEN Czas END),
MAX(CASE WHEN Etap = 'ODLOZONO' THEN Czas END)) AS MinutyCyklu
FROM dbo.ZdarzenieProcesu
WHERE Proces = 'PRZYJECIE'
GROUP BY IdObiektu
HAVING MAX(CASE WHEN Etap = 'ODLOZONO' THEN Czas END) IS NOT NULL;
Wyniki prezentuje się w raportach opracowanych w Report Builderze lub w tabelach przestawnych. Opis tworzenia takich zestawień znajduje się w artykule o SQL Report Builder, a składnię i możliwości narzędzia omawia dokumentacja Report Buildera w Microsoft Learn.

Automatyzacja przyjęć i wydań
Automatyzuje się te kroki, w których człowiek tylko przepisuje dane albo szuka informacji. Nie automatyzuje się decyzji, które wymagają oceny: czy uszkodzoną paletę przyjąć częściowo, czy wstrzymany towar zwolnić po badaniu. System może takie decyzje przygotować i zapisać, ale podejmuje je osoba z odpowiednim uprawnieniem. Przy przyjęciach skraca czas dostawa awizowana wcześniej, bo dokument oczekiwany w systemie powstaje przed przyjazdem pojazdu, a magazynier weryfikuje go skanerem zamiast tworzyć od zera. Przy wydaniach robi to polecenie wydania, które przychodzi z systemu sprzedaży i od razu tworzy zadania kompletacji. Ograniczenie błędów zapewnia jednoznaczna identyfikacja towaru na każdym etapie, czyli skan etykiety zamiast wpisywania indeksu z ręki.
| Etap | Bez automatyzacji | Z automatyzacją |
|---|---|---|
| Zapowiedź dostawy | Telefon lub e-mail od dostawcy | Awizacja z listą pozycji zapisana w systemie |
| Dokument przyjęcia | Ręczne przepisywanie z dokumentu dostawcy | Dokument utworzony z awizacji i zamówienia, do weryfikacji |
| Zlecenie wydania | Ręczne zlecenie z ERP lub e-maila | Polecenie wydania przekazane interfejsem z ERP |
| Zadania kompletacji | Lista papierowa i szukanie towaru | Zadania w terminalu z adresem i kolejnością |
| Dokument wydania | Wystawiany po fakcie na podstawie notatek | WZ po weryfikacji skanerem |
Przyjęcia z awizacji
Awizacja dostawy przechodzi do magazynu jako dokument oczekiwany, który ma dostawcę i listę pozycji oraz okno czasowe. Sposób jej tworzenia i przyjęcia po stronie WMS opisuje artykuł o awizacjach dostaw do magazynu, a połączenie systemu awizacji z WMS i ERP - tekst o integracji VSS z WMS i ERP przy przyjęciach.
Wydania z poleceń i interfejsów
W sensie procesowym polecenie wydania jest zleceniem przekazanym z systemu sprzedaży lub ERP przez interfejs. Wymiana odbywa się zwykle przez usługę REST albo kolejkę komunikatów, co omawia strona o integracji WMS z ERP. Po stronie magazynu zlecenie staje się zadaniem kompletacji, a po weryfikacji dokumentem wydania. Zasady ewidencji i kolejność dokumentów opisuje artykuł o wydaniu z magazynu, a dobór odjazdu i przewoźnika - tekst o planowaniu wysyłek z magazynu.

Reguły procesowe i wyjątki
Automatyzacja działa dopóki proces przebiega zgodnie z regułą. Praca w magazynie składa się jednak w dużej części z wyjątków, więc mapa procesu powinna je wymieniać i wskazywać, kto reaguje. Wyjątek zapisany jako zadanie z właścicielem nie zostaje w pamięci jednej osoby. Dodatkowo warto ustalić czas, po którym nierozwiązany wyjątek trafia wyżej: zadanie otwarte dłużej, niż przewiduje proces, przechodzi do kierownika zmiany razem z opisem przyczyny. Cztery grupy wyjątków pojawiają się najczęściej:
- Brak towaru - lokalizacja pusta mimo dodatniego stanu, co uruchamia zadanie sprawdzenia i ewentualną korektę.
- Rozbieżność ilościowa - różnica przy przyjęciu lub wydaniu, zapisywana od razu i dokumentowana.
- Blokada jakościowa - towar wyłączony z obrotu do czasu decyzji, bez możliwości kompletacji.
- Uszkodzenie - część dostawy lub wysyłki wymagająca osobnego dokumentu i zdjęcia.
Statusy i blokady towaru, dzięki którym system odróżnia zapas dostępny od wstrzymanego, opisuje artykuł o kontroli nad towarami. Wskaźnik liczby wyjątków na tysiąc linii pokazuje, gdzie proces wymaga poprawy, a nie tylko szybszej pracy. Jeśli w jednej strefie wyjątki brakującego towaru powtarzają się co tydzień, przyczyną zwykle jest nieaktualny stan lokalizacji lub źle ustawione minimum uzupełniania, a nie niedbałość operatorów. Tę różnicę widać dopiero wtedy, gdy wyjątki są zapisywane z lokalizacją i indeksem oraz przyczyną, a nie tylko jako liczba w podsumowaniu zmiany. Wtedy raport tygodniowy zamienia się z listy skarg w listę konkretnych lokalizacji do sprawdzenia, z których każda ma właściciela i termin.
Rola operatora logistycznego w procesach magazynowania
Część firm powierza prowadzenie procesów magazynowych operatorowi logistycznemu. W takim modelu operator odpowiada za przyjęcia i składowanie oraz za kompletację i wydania, a zleceniodawca za dane zamówień i za jasny opis wskaźników, według których ocenia usługę. Mapa procesów staje się wtedy elementem umowy, a wskaźniki procesowe - podstawą rozliczenia i umów o poziomie usługi (SLA).
Podział odpowiedzialności należy zapisać na poziomie zdarzeń. Operator odpowiada za czas od rozładunku do odłożenia, ale za opóźnienie awizacji odpowiada zleceniodawca, więc zdarzenia muszą pokazywać, po której stronie zatrzymał się proces. Bez takiego podziału rozliczenie usługi kończy się sporem o liczby, które każda ze stron czyta inaczej.
Dla operatora ważne jest, żeby te same procesy dały się prowadzić dla wielu klientów w jednej bazie, z odrębnymi regułami dla każdego z nich. Ten wątek rozwija artykuł o WMS dla operatora 3PL, a zleceniodawcom pomagają w nim wskaźniki liczone z takich samych zdarzeń jak w magazynie własnym.
Doskonalenie procesów na podstawie danych
Wskaźniki mają sens dopiero wtedy, gdy prowadzą do decyzji. Regularny przegląd, na przykład raz w miesiącu, porównuje wartości z poprzednim okresem i wskazuje odchylenia. Odpowiedzialność za wskaźnik ma właściciel procesu, a nie dział informatyczny, bo tylko właściciel może zmienić sposób pracy. Zmianę wprowadza się w jednym procesie naraz, żeby dało się ocenić jej skutek, a po kilku tygodniach sprawdza się wskaźnik ponownie. Redukcję marnotrawstwa w ruchu i w zapasach omawia artykuł o lean management w magazynie.
Warto zacząć od procesu, w którym błędy są najdroższe, a pomiar najprostszy: zwykle jest to przyjęcie albo weryfikacja przy wydaniu. Sposób prezentacji tych zdarzeń w systemie WMS można obejrzeć w wersji demonstracyjnej online, a opis funkcji znajduje się w serwisie produktowym Studio WMS.net.




