Spis generalny zatrzymuje magazyn na godziny albo na całą dobę. Inwentaryzacja w systemie WMS rozbija ten postój na małe zadania, które operatorzy wykonują w trakcie normalnej pracy hali. System dobiera lokalizacje do liczenia, przyjmuje skany z terminali i od razu zestawia wynik ze stanem ewidencyjnym.
Spis treści
- Inwentaryzacja ciągła zamiast spisu generalnego
- Zadania spisowe na terminalach z systemem Android
- Kolejka zadań i ponowne liczenie
- Spójny odczyt stanów podczas pracy hali
- Liczenie w magazynie wysokiego składowania
- Wskaźniki jakości liczenia
- Różnice, środki trwałe i integracja z ERP
- Pytania i odpowiedzi dotyczące inwentaryzacji w WMS
- Glosariusz pojęć związanych z inwentaryzacją ciągłą
Inwentaryzacja ciągła zamiast spisu generalnego
Pełny spis zakłada jedną chwilę, w której cały towar stoi w miejscu. W magazynie wysokiego składowania taka chwila oznacza zablokowane alejki i wózki bez zadań. Wydania przesuwają się na następny dzień. Metoda ciągła zamienia ją na serię krótkich kontroli wybranych lokalizacji lub grup towarowych.
W systemach klasy WMS reguły wyznaczają, co liczyć w danej chwili. Typowym wyzwalaczem jest opróżnienie lokalizacji, bo pusty regał liczy się najszybciej i najpewniej. Drugim wyzwalaczem jest przekroczenie progu rotacji danego indeksu, ponieważ towar o dużym obrocie najszybciej gromadzi błędy.
| Metoda | Zakres | Wpływ na pracę magazynu | Kiedy się sprawdza |
|---|---|---|---|
| Spis pełny | Cały magazyn w jednym terminie | Postój ruchu na czas liczenia | Spis roczny wynikający z przepisów |
| Spis wyrywkowy | Wybrane lokalizacje albo indeksy | Lokalny, krótki | Kontrola po reklamacji lub podejrzeniu błędu |
| Inwentaryzacja ciągła | Lokalizacje wskazane regułami systemu | Brak postoju, liczenie między zleceniami | Magazyn o dużym obrocie i stałym ruchu wydań |
Weźmy magazyn o dużym obrocie. Operator pobiera ostatnią sztukę z gniazda i terminal zamyka lokalizację. System tworzy zadanie sprawdzenia, czy gniazdo jest puste. Kolejny operator w tej alejce dostaje je jako następny punkt trasy, więc nie jedzie specjalnie na drugi koniec hali.
Reguła: wynik liczenia jest ważny tylko dla stanu z chwili skanu. Jeśli po skanie towar został pobrany, różnicę trzeba porównać ze stanem sprzed pobrania, a nie z aktualnym saldem.
Zadania spisowe na terminalach z systemem Android
System generuje arkusze spisowe i przesyła je do urządzeń operatorów. Kierownik wskazuje strefę albo regał, a czasem asortyment. Aplikacja rozdziela pozycje między pracowników. Operator widzi na ekranie lokalizację do sprawdzenia i prowadzi go komunikat, który wskazuje następny adres.
Skanowanie kodu lokalizacji i kodu towaru zastępuje ręczne wpisywanie. Terminal przesyła dane przez sieć Wi-Fi na bieżąco, więc wynik trafia do bazy w chwili odczytu. Odpada przepisywanie list papierowych, które w tradycyjnym spisie jest najczęstszym źródłem pomyłek.
Android obniża koszt takiego wdrożenia, bo działa na urządzeniach przemysłowych klasy enterprise, a obsługę opanowuje się w ciągu jednej zmiany. Szczegóły sprzętu i trybu pracy opisuje strona o aplikacji WMS na Androida, a zasady oznaczania lokalizacji i towaru wyjaśnia artykuł o kodach kreskowych w magazynie.
Zasięg sieci Wi-Fi w hali z regałami wysokiego składowania trzeba sprawdzić przed startem spisu. Metalowe konstrukcje tłumią sygnał, a martwa strefa w jednej alejce przerywa wysyłanie skanów w połowie zadania. Terminal powinien wtedy sygnalizować brak połączenia, żeby operator nie liczył bez zapisu danych.
Kolejka zadań i ponowne liczenie
Zadania spisowe tworzą kolejkę. Każde przechodzi przez statusy od oczekiwania po zamknięcie i może wrócić do ponownego liczenia. Przypisanie do operatora chroni przed sytuacją, w której dwie osoby liczą to samo gniazdo. Aplikacja podaje następną pozycję dopiero po potwierdzeniu poprzedniej, więc nikt nie pomija adresów.
Pozycje z rozbieżnością warto przeliczyć drugi raz. Drugi operator nie widzi wyniku pierwszego, a zgodność dwóch odczytów zamyka sprawę bez rozmowy z kierownikiem. Dopiero rozbieżność potwierdzona dwukrotnie trafia do raportu. Takie postępowanie kosztuje mniej niż wyjaśnianie błędów policzonych w pośpiechu.
- Pierwsze liczenie. Skany lokalizacji i towaru oraz ilość faktyczna, zapisane z czasem odczytu.
- Porównanie. System zestawia wynik z ewidencją i oznacza pozycje z różnicą.
- Przeliczenie. Drugi operator liczy tylko oznaczone pozycje, bez wglądu w pierwszy wynik.
- Raport różnic. Do akceptacji trafia tylko różnica potwierdzona drugim odczytem.
Spójny odczyt stanów podczas pracy hali
Trudność inwentaryzacji ciągłej leży w bazie danych. Operator liczy lokalizację, a w tym samym czasie ktoś zatwierdza wydanie z tej strefy. Zapytanie raportowe, które czyta stan w trakcie takich zmian, może zobaczyć połowę operacji albo zostać zablokowane przez zapis.
Poziom izolacji SNAPSHOT rozwiązuje ten problem. Transakcja czyta wersje wierszy z chwili swojego startu, więc zapisy innych sesji nie zmieniają wyniku i nie czekają na zakończenie odczytu. Poniższy przykład jest ilustracyjny i nie przedstawia kodu produktu.
ALTER DATABASE Magazyn SET ALLOW_SNAPSHOT_ISOLATION ON;
SET TRANSACTION ISOLATION LEVEL SNAPSHOT;
BEGIN TRAN;
SELECT LokalizacjaId, IndeksId, Ilosc
FROM dbo.StanyLokalizacji
WHERE StrefaId = @StrefaId;
-- porównanie z pozycjami arkusza liczonymi w tej strefie
COMMIT;
Czas skanu warto zapisywać w kolumnie typu datetime2. Dzięki niej po fakcie odtworzy się stan z chwili liczenia na podstawie historii ruchów i rozstrzygnie, czy różnica wynikała z błędu, czy z pobrania wykonanego tuż po skanie.
Rozwiązanie kosztuje wersjonowanie wierszy, które zwiększa obciążenie bazy. Transakcja zapisująca ten sam wiersz, który zmieniono po jej starcie, kończy się błędem konfliktu aktualizacji, więc kod aplikacji musi go obsłużyć. Zasady blokad i wersjonowania opisuje przewodnik po blokadach i wersjonowaniu wierszy, a poziomy izolacji dokumentacja SET TRANSACTION ISOLATION LEVEL.
- READ COMMITTED. Domyślny poziom blokuje odczyt na czas zapisu w tym samym wierszu, więc raport czeka na wydanie.
- SNAPSHOT. Odczyt nie blokuje i nie jest blokowany, a wynik odpowiada stanowi z początku transakcji.
Liczenie w magazynie wysokiego składowania
W obiektach wielopoziomowych koszt jednego kroku liczenia jest wysoki. Dojście do piątego poziomu wymaga wózka, a każdy zbędny powrót do regału wydłuża spis o minuty. System przydziela zadania do stref i regałów tak, by operator kończył jeden fragment hali przed rozpoczęciem następnego.
Pozycje liczone na wysokości muszą mieć dokładny adres z poziomem. Skan etykiety na gnieździe potwierdza, że operator stoi przy właściwym miejscu. Układ lokalizacji opisuje strona o miejscach składowania, a zasady pracy wózkami w wysokim składzie omawia zarządzanie magazynem wysokiego składowania.
Wózki z komputerami pokładowymi pozwalają policzyć paletę bez zsiadania, ponieważ kierowca skanuje etykietę z kabiny. Przykład takiego sprzętu przedstawia komputer pokładowy Zebra VC8300. Wyniki wracają do bazy tym samym kanałem co zwykłe potwierdzenia operacji.
Wskaźniki jakości liczenia
Inwentaryzacja ciągła dostarcza dane co tydzień, więc jakość ewidencji można ocenić liczbami, a nie wrażeniem. Wystarczą trzy wskaźniki liczone z historii arkuszy.
| Wskaźnik | Sposób liczenia | Co wskazuje |
|---|---|---|
| Dokładność lokalizacji | Liczba lokalizacji bez różnicy podzielona przez liczbę policzonych | Jak często ewidencja zgadza się z regałem |
| Wartość różnic | Suma niedoborów i suma nadwyżek po cenie ewidencyjnej, osobno | Skalę wpływu na wynik finansowy |
| Pokrycie spisu | Odsetek lokalizacji policzonych w danym okresie | Czy każda lokalizacja jest sprawdzana dostatecznie często |
Spadek dokładności w jednej strefie wskazuje źródło problemu szybciej niż spis roczny. Pokrycie pokazuje, czy reguły wyzwalające nie omijają lokalizacji o małym obrocie. Takie miejsca trzeba doliczać w harmonogramie, bo reguła oparta na rotacji nie wybierze ich nigdy. Rytm liczenia dla poszczególnych grup towarów podpowiada klasyfikacja z artykułu o analizie ABC magazynu.
Różnice, środki trwałe i integracja z ERP
Po zakończeniu liczenia moduł zestawia wyniki z danymi ewidencyjnymi i tworzy raport różnic gotowy do akceptacji. Na podstawie raportu powstają dokumenty niedoborów i nadwyżek, a po zatwierdzeniu przez uprawnioną osobę zmieniają one saldo magazynowe. Pełną procedurę rozliczenia, razem z wyceną różnic, opisuje artykuł o inwentaryzacji w magazynie.
Moduł obsługuje także środki trwałe i wyposażenie, więc coroczny obowiązek inwentaryzacyjny nie wymaga osobnego narzędzia. Wynik spisu synchronizuje się z ewidencją w systemie ERP. Warianty łączenia WMS z systemem klasy SAP opisuje strona o integracji z SAP.
Korekty stanów po spisie, jak każde dokumenty magazynowe, trafiają do archiwum zestawień pogrupowanego według roku i miesiąca. Rolę takich dokumentów w obiegu opisuje strona o dokumentach magazynowych w systemie WMS. Dzięki archiwum księgowość porównuje wyniki kolejnych spisów bez sięgania po papierowe zestawienia.
Aktualne stany po korekcie zestawia raport stanów magazynowych. Towary, które według liczenia wolno rotują albo zalegają, wskazuje analiza opisana w artykule o rotacji i zaleganiu.
Pytania i odpowiedzi dotyczące inwentaryzacji w WMS
Skaner eliminuje błędy ręcznego spisywania i skraca liczenie, bo wynik trafia do systemu w chwili odczytu. System od razu wskazuje lokalizację, więc operator nie traci czasu na szukanie towaru. Różnice widać zaraz po skanie, a nie dopiero po przepisaniu list.
Nie. Inwentaryzacja ciągła obejmuje wybrane strefy lub grupy asortymentowe, a w pozostałych częściach hali trwają przyjęcia i wydania. Przestój jest potrzebny tylko wtedy, gdy spis generalny ma zamknąć cały obiekt jednego dnia.
System zestawia stan faktyczny ze skanów ze stanem ewidencyjnym i generuje arkusz różnic. Na jego podstawie powstają dokumenty niedoborów i nadwyżek, które po zatwierdzeniu przez uprawnionego użytkownika zmieniają saldo. Historia operacji dla pozycji pozostaje w bazie.
Dostęp do aplikacji kontroluje konto użytkownika z przydzielonymi uprawnieniami, a dane są synchronizowane z centralną bazą po zabezpieczonym połączeniu. Zakres uprawnień ustala administrator systemu, więc operator widzi tylko zadania, które mu przydzielono.
Oznacz wszystkie miejsca składowania kodami kreskowymi lub QR i uporządkuj towar według partii oraz terminów ważności. System może wskazać lokalizacje, które wymagają weryfikacji przed startem, na przykład te z długo niezmienionym stanem.
Glosariusz pojęć związanych z inwentaryzacją ciągłą
- Inwentaryzacja ciągła
- Metoda spisu polegająca na kolejnym liczeniu wybranych lokalizacji w trakcie normalnej pracy magazynu, bez jednorazowego zamrożenia całego obiektu.
- Spis z natury
- Fizyczne przeliczenie zapasów i porównanie wyniku z ewidencją. Podstawa rzetelnych zapisów księgowych.
- Arkusz spisowy
- Lista pozycji do przeliczenia dla wybranej strefy, lokalizacji lub asortymentu, przekazywana operatorowi na terminal.
- Różnica inwentaryzacyjna
- Rozbieżność między stanem faktycznym a ewidencyjnym. Dzieli się na niedobory i nadwyżki.
- Poziom izolacji SNAPSHOT
- Poziom izolacji transakcji w SQL Server, przy którym odczyt widzi wersje wierszy z chwili startu transakcji i nie blokuje zapisów.
- Konflikt aktualizacji
- Błąd transakcji SNAPSHOT, gdy wiersz do zapisu został zmieniony przez inną sesję po starcie tej transakcji.
- Terminal mobilny
- Przenośny komputer ze skanerem kodów kreskowych, który przesyła wyniki liczenia do WMS przez Wi-Fi.
- Środki trwałe
- Majątek firmy, wyposażenie i urządzenia, które podlegają corocznej inwentaryzacji obok towarów.