Logistyka w branży spożywczej - wymagania procesu
Towar spożywczy ma termin końca przydatności zapisany na opakowaniu, a każdy dzień w magazynie i w drodze skraca czas, który zostanie sklepowi i konsumentowi. Logistyka w branży spożywczej musi więc pilnować dat w każdym ogniwie łańcucha FMCG. Magazyn odpowiada za rotację partii, a transport za czas dojazdu i temperaturę.
Systemy dzielą się według tego, co przechowują. WMS zna partię z terminem przydatności oraz jej lokalizację, a TMS zna zlecenie i okno dostawy. Odczyty temperatury z naczepy pochodzą z telematyki i trafiają do TMS jako dane dodatkowe. Wymiana informacji między tymi warstwami decyduje o tym, czy dyspozytor widzi, że towar jest gotowy, i czy magazyn zna plan załadunków.
| Obszar | Główny system | Rekord | Wymaganie procesu |
|---|---|---|---|
| Magazyn | WMS | partia, termin przydatności, lokalizacja | rotacja FEFO, brak mieszania partii |
| Rampa | YMS | awizacja z oknem czasowym | krótki czas ekspozycji towaru na rampie |
| Transport | TMS | zlecenie, trasa, ETA | dotrzymanie okna dostawy |
| Pojazd | telematyka | pozycje, odczyty czujników | zapis temperatury w trasie |
Poniższe sekcje opisują wymagania jako mechanizmy procesu, a nie jako gotową specyfikację. Wymogi prawne i sanitarne zależą od kategorii towaru, dlatego przed wdrożeniem zestawia się je z zakładowym systemem kontroli jakości. Ogólny obraz zarządzania magazynem w tej branży przedstawia artykuł o zarządzaniu magazynem w branży FMCG.

Reguła: system zapisuje i ostrzega, a temperaturę utrzymuje agregat, więc dane z czujników nie zastępują sprawnego chłodzenia.
Daty ważności i rotacja FEFO w magazynie
Rotacja FIFO wydaje najpierw towar, który wszedł do magazynu najwcześniej. Sprawdza się przy towarach bez terminu, ale zawodzi wtedy, gdy późniejsza dostawa ma krótszy termin niż wcześniejsza. FEFO, czyli First Expired First Out, sortuje po terminie przydatności, niezależnie od kolejności przyjęcia.
| Strategia | Kryterium wydania | Kiedy stosuje się |
|---|---|---|
| FIFO | najwcześniejsza data przyjęcia | towary bez terminu lub z bardzo długim terminem |
| FEFO | najkrótszy termin przydatności | żywność świeża i o krótkim terminie |
| LEFO | najdłuższy termin przydatności | odbiorcy wymagający minimalnego pozostałego okresu przydatności |
Odbiorca sieciowy zwykle określa minimalny pozostały okres przydatności w chwili dostawy. Magazyn nie może więc wydać partii, która formalnie jest jeszcze ważna, ale przy dojeździe do sklepu spadnie poniżej wymaganej wartości. Wybór partii uwzględnia zarówno FEFO, jak i tę granicę.
Wybór partii do kompletacji w T-SQL
Poniższe zapytanie pokazuje mechanizm doboru partii. Wyklucza partie zablokowane, na przykład skierowane do kwarantanny albo objęte reklamacją, oraz partie, które nie spełniają minimalnego pozostałego okresu. Nazwy tabel są przykładowe, a blokada READPAST sprawia, że dwóch kompletujących nie dostanie tego samego wiersza.
DECLARE @ItemId int = 1001, @MinRemainingDays int = 20;
SELECT TOP (1) s.StockId, l.LocationCode, b.BatchNo, b.ExpiryDate, s.Qty
FROM dbo.Stock AS s WITH (UPDLOCK, READPAST, ROWLOCK)
JOIN dbo.Batch AS b ON b.BatchId = s.BatchId
JOIN dbo.Location AS l ON l.LocationId = s.LocationId
WHERE s.ItemId = @ItemId
AND s.Qty > 0
AND s.Blocked = 0
AND b.ExpiryDate >= DATEADD(DAY, @MinRemainingDays, CAST(GETDATE() AS date))
ORDER BY b.ExpiryDate ASC, s.Qty ASC;
Sortowanie po dacie ważności, a w drugiej kolejności po ilości, sprzyja opróżnianiu niepełnych opakowań przed otwarciem pełnych. Zapytanie działa szybko tylko przy indeksie po kolumnie pozycji, a bez niego kompletacja każdego towaru przeglądałaby cały stan magazynu.
Opis ewidencji partii w systemie magazynowym zawiera artykuł o partiach produkcyjnych i datach ważności. Warto też pamiętać, że data przechodzi przez kilka etapów, a jej pomyłka przy przyjęciu psuje całą dalszą rotację.
Lista partii zagrożonych przeterminowaniem
Rotacja FEFO ogranicza straty, ale nie eliminuje towaru, który nie znalazł odbiorcy. Dlatego magazyn prowadzi listę partii zbliżających się do terminu, dostępną dla handlu i planowania. Handel może wtedy zaproponować promocję albo przekierować partię do odbiorcy o mniejszych wymaganiach, zanim towar trafi do utylizacji.
DECLARE @WarnDays int = 14;
SELECT b.BatchNo, b.ExpiryDate, SUM(s.Qty) AS Qty,
DATEDIFF(DAY, CAST(GETDATE() AS date), b.ExpiryDate) AS DaysLeft
FROM dbo.Stock AS s
JOIN dbo.Batch AS b ON b.BatchId = s.BatchId
WHERE b.ExpiryDate <= DATEADD(DAY, @WarnDays, CAST(GETDATE() AS date))
GROUP BY b.BatchNo, b.ExpiryDate
ORDER BY b.ExpiryDate;
Próg ostrzeżenia zależy od rotacji towaru i czasu potrzebnego na znalezienie odbiorcy. Dla szybko rotujących produktów wystarczy kilka dni, a dla towarów o wolnym obrocie próg ustawia się na kilka tygodni. Wartość zapisuje się w parametrach, a nie w treści zapytania.
Ta lista jest też punktem wyjścia do inwentaryzacji cyklicznej. Partie o krótkim terminie sprawdza się częściej niż pozostałe, bo pomyłka w ilości albo lokalizacji kosztuje tu więcej.
Identyfikowalność partii od przyjęcia do wydania
Identyfikowalność oznacza, że dla każdej partii da się wskazać dostawcę oraz miejsce składowania, a także odbiorców. Wymaga to zapisania numeru partii przy przyjęciu, a nie przy wydaniu. Jeśli numer partii pojawia się dopiero na dokumencie sprzedaży, to nie ma już czego łączyć z dostawcą.
Numer partii i termin przydatności przenosi się na etykiecie palety w standardzie GS1. Etykieta logistyczna zawiera numer SSCC jednostki, a obok niego identyfikatory aplikacyjne z danymi towaru. Format SSCC i etykiety opisuje strona GS1 Polska o SSCC, a układ pól omawia artykuł o etykietach logistycznych GS1.
| Identyfikator | Znaczenie | Zastosowanie w magazynie |
|---|---|---|
| (00) | numer SSCC | identyfikacja jednostki logistycznej, na przykład palety |
| (01) | numer GTIN | identyfikacja towaru |
| (10) | numer partii | łączenie palety z partią produkcyjną |
| (15) | data minimalnej trwałości | rotacja i sprawdzanie minimalnego okresu |
| (17) | termin przydatności | rotacja FEFO i blokada po upływie terminu |

Skanowanie etykiety na terminalu zapisuje partię i datę bez ręcznego wpisywania. Terminal Android odczytuje kod, a system porównuje go z awizacją dostawy, więc niezgodna data zatrzymuje przyjęcie zanim towar trafi na regał. Sposób oznaczania nośników i SSCC w awizacji opisuje tekst o awizie dostawy palet.
Partia z niezgodnym terminem albo bez pełnej etykiety dostaje status kwarantanny. Towar leży w wydzielonej lokalizacji, a wykluczenie go z kompletacji wynika ze statusu, a nie z tego, że magazynier pamięta o zakazie. Decyzję o zwolnieniu lub zwrocie do dostawcy podejmuje dział jakości i zapisuje w systemie z datą oraz nazwiskiem.
Śledzenie partii w przód i wstecz
Pytanie o partię ma dwie postacie. Śledzenie wstecz wskazuje dostawcę i dokument przyjęcia, a śledzenie w przód wskazuje odbiorców, do których partia trafiła. Druga postać jest pilna przy wycofaniu, bo od czasu odpowiedzi zależy liczba sklepów, z których trzeba zdjąć towar.
SELECT d.DocNo, d.DocDate, d.CustomerId, l.Qty
FROM dbo.DocLine AS l
JOIN dbo.Doc AS d ON d.DocId = l.DocId
WHERE l.BatchId = @BatchId
AND d.DocType = 'WZ'
ORDER BY d.DocDate;
Zapytanie korzysta z indeksu po numerze partii w tabeli pozycji dokumentów. Bez niego odpowiedź wymaga przejrzenia wszystkich dokumentów wydania, co przy kilku latach danych trwa minuty, a nie sekundy. Indeks z dołączonymi kolumnami ilości i dokumentu pozwala obsłużyć zapytanie bez dostępu do tabeli bazowej.
Łańcuch chłodniczy - temperatura i czas ekspozycji
W magazynie strefy temperatur są atrybutem lokalizacji. Chłodnia i mroźnia to osobne grupy miejsc obok strefy zwykłej, a system nie proponuje odłożenia towaru chłodniczego do lokalizacji spoza jego strefy. Największe ryzyko dotyczy jednak czasu na rampie, bo paleta wyjęta z chłodni i czekająca na załadunek nagrzewa się szybciej, niż zakłada plan.
W transporcie odczyty z czujników w naczepie trafiają przez telematykę do TMS, o ile pojazd ma takie czujniki i integrację. System zapisuje temperaturę wraz z czasem i pokazuje przekroczenia. Dyspozytor dostaje alert, może zadzwonić do kierowcy i poprosić o sprawdzenie agregatu, a odbiorca dostaje historię przejazdu razem z dowodem dostawy.
| Etap | Mierzony parametr | Źródło danych | Reakcja przy przekroczeniu |
|---|---|---|---|
| Składowanie | strefa lokalizacji | atrybut miejsca w WMS | blokada odłożenia w niewłaściwej strefie |
| Rampa | czas od wyjęcia z chłodni do załadunku | znaczniki czasu w WMS i YMS | zmiana kolejności załadunku |
| Trasa | temperatura w naczepie | czujnik, telematyka, TMS | alert do dyspozytora |
| Rozładunek | temperatura przy przyjęciu | pomiar odbiorcy lub zapis z trasy | przyjęcie warunkowe lub reklamacja |
Czas powyżej progu temperatury
Jednorazowy odczyt powyżej progu bywa błędem czujnika albo skutkiem otwarcia drzwi. Istotny jest łączny czas powyżej progu, dlatego zapytanie zamienia kolejne odczyty na przedziały. Przykład zakłada, że każdy odczyt obowiązuje od poprzedniego, co jest przybliżeniem przy gęstych pomiarach.
SELECT ShipmentId,
SUM(CASE WHEN TempC > @MaxTempC
THEN DATEDIFF(SECOND, PrevTime, ReadTime) ELSE 0 END) / 60 AS MinutesAbove
FROM (SELECT ShipmentId, ReadTime, TempC,
LAG(ReadTime) OVER (PARTITION BY ShipmentId ORDER BY ReadTime) AS PrevTime
FROM dbo.TempReading) AS t
WHERE PrevTime IS NOT NULL
GROUP BY ShipmentId;
Wynik stanowi podstawę oceny partii przy odbiorze. Reguła oceny, czyli ile minut powyżej progu jest dopuszczalne dla danej grupy towarów, pochodzi od działu jakości, a nie z systemu. Transport spożywczy w ujęciu TMS omawia artykuł o programie TMS w transporcie spożywczym.
Okna dostaw do odbiorców i terminowość tras
Centra dystrybucyjne sieci handlowych przyjmują dostawy w wąskich oknach. Pojazd spóźniony poza okno czeka w kolejce albo dostaje odmowę, a towar o krótkim terminie traci kolejny dzień. TMS przelicza ETA po każdej nowej pozycji i porównuje je z oknem, a alert trafia do dyspozytora z wyprzedzeniem pozwalającym uprzedzić odbiorcę.
Po stronie magazynu wysyłkowego znaczenie ma gotowość ładunku. WMS przekazuje do TMS informację, że komplet palet jest skompletowany, więc pojazd podjeżdża dopiero wtedy, gdy towar czeka przy rampie. Skraca to kolejki i czas postoju naczepy z pracującym agregatem.
| Sygnał | Nadawca | Odbiorca | Skutek |
|---|---|---|---|
| Komplet palet gotowy | WMS | TMS | zlecenie gotowe do załadunku |
| Zmiana ETA | TMS | YMS, odbiorca | aktualizacja okna na rampie |
| Wjazd na plac | telematyka | YMS | status pojazdu na placu |
| Potwierdzenie dostawy (POD) | kierowca | TMS | zamknięcie zlecenia i rozliczenie |
Zasady doboru okien opisuje artykuł o oknach czasowych, a przebieg awizacji do magazynu przedstawia tekst o awizacji dostaw. Pilnowanie terminów w zakładzie produkcyjnym, czyli odwrotny kierunek przepływu towaru, omawia strona o monitoringu transportu dla produkcji, a planowanie tras w ujęciu TMS opisuje artykuł o planowaniu transportu.
Integracja TMS z WMS i reklamacje jakościowe
Połączenie obu systemów opiera się na kilku komunikatach. Zlecenie wydania z WMS tworzy w TMS zlecenie transportowe, a potwierdzenie dostawy wraca do WMS i zamyka dokument. Każdy komunikat ma identyfikator dokumentu źródłowego, żeby ponowna wysyłka nie tworzyła duplikatu. Techniczne podstawy takiej wymiany opisuje artykuł o integracji WMS z ERP, a produktowy opis systemu magazynowego zawiera serwis magazyn.softwarestudio.com.pl.
Reklamacja jakościowa, na przykład zgłoszenie przekroczonej temperatury albo skróconego terminu, potrzebuje danych z obu systemów. Numer partii i lokalizacja pochodzą z WMS, a historia przejazdu z TMS. Gdy oba zapisy są dostępne od razu, rozpatrzenie reklamacji nie zaczyna się od wyszukiwania dokumentów. Obieg reklamacji opisuje artykuł o zarządzaniu reklamacjami a jakością produktów, a moduł zleceń transportowych przedstawia strona linkway.TMS.
Dokumenty przewozowe i potwierdzenia dostaw przechowuje się przy zleceniu w postaci elektronicznej. Elektroniczny POD i zdjęcia z rozładunku trafiają do systemu w chwili dostawy, a w transporcie międzynarodowym dokumentem przewozowym jest list CMR. Dzięki temu rozliczenie i reklamacja korzystają z tego samego kompletu dokumentów, a nie z wiadomości poszukiwanych w skrzynkach pocztowych.
Pilotaż i wskaźniki wdrożenia
Wdrożenie zaczyna się od mapy procesów i źródeł danych, a następnie od pilotażu w jednym regionie lub w jednej grupie asortymentu wrażliwej na temperaturę. Po kilku tygodniach porównuje się cztery wskaźniki z okresem sprzed wdrożenia.
- Czas cyklu zlecenia - od przyjęcia zamówienia do wydania towaru.
- Błędy kompletacji - zgodność wydanych pozycji z zamówieniem.
- Terminowość dostaw - porównanie ETA z faktycznym przyjazdem.
- Koszt na kilometr - miara wykorzystania floty.
Wyniki pilotażu wskazują, czy konfiguracja stref temperatur i reguł FEFO odpowiada rzeczywistemu asortymentowi. Dopiero wtedy zakres rozszerza się na kolejne magazyny.



