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.

ObszarGłówny systemRekordWymaganie procesu
MagazynWMSpartia, termin przydatności, lokalizacjarotacja FEFO, brak mieszania partii
RampaYMSawizacja z oknem czasowymkrótki czas ekspozycji towaru na rampie
TransportTMSzlecenie, trasa, ETAdotrzymanie okna dostawy
Pojazdtelematykapozycje, odczyty czujnikówzapis 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.

Magazynier w niebieskiej kurtce odblaskowej z tabletem w dłoni stoi w alei magazynowej obok wózka widłowego z paletą towaru
Kompletacja z tabletem w alei magazynowej - system wskazuje partię z najkrótszym terminem przydatności

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.

StrategiaKryterium wydaniaKiedy stosuje się
FIFOnajwcześniejsza data przyjęciatowary bez terminu lub z bardzo długim terminem
FEFOnajkrótszy termin przydatnościżywność świeża i o krótkim terminie
LEFOnajdłuższy termin przydatnościodbiorcy 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.

IdentyfikatorZnaczenieZastosowanie w magazynie
(00)numer SSCCidentyfikacja jednostki logistycznej, na przykład palety
(01)numer GTINidentyfikacja towaru
(10)numer partiiłączenie palety z partią produkcyjną
(15)data minimalnej trwałościrotacja i sprawdzanie minimalnego okresu
(17)termin przydatnościrotacja FEFO i blokada po upływie terminu
Karton z dużym kodem QR i etykietą transportową na tle regałów magazynowych z paletami
Etykieta z kodem na opakowaniu - nośnik numeru partii i terminu przydatności odczytywany na terminalu przy przyjęciu

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.

EtapMierzony parametrŹródło danychReakcja przy przekroczeniu
Składowaniestrefa lokalizacjiatrybut miejsca w WMSblokada odłożenia w niewłaściwej strefie
Rampaczas od wyjęcia z chłodni do załadunkuznaczniki czasu w WMS i YMSzmiana kolejności załadunku
Trasatemperatura w naczepieczujnik, telematyka, TMSalert do dyspozytora
Rozładunektemperatura przy przyjęciupomiar odbiorcy lub zapis z trasyprzyję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łNadawcaOdbiorcaSkutek
Komplet palet gotowyWMSTMSzlecenie gotowe do załadunku
Zmiana ETATMSYMS, odbiorcaaktualizacja okna na rampie
Wjazd na plactelematykaYMSstatus pojazdu na placu
Potwierdzenie dostawy (POD)kierowcaTMSzamknię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.