Program do magazynu wysokiego składowania odpowiada na jedno pytanie: gdzie leży każda paleta i kto ją ostatnio ruszał. Odpowiedź musi być aktualna w każdej sekundzie, także gdy pracuje kilkudziesięciu operatorów. Strona porównuje program WMS z arkuszem i prostym programem magazynowo-księgowym. Opisuje też składniki kosztu oraz kryteria wyboru.

Program WMS a arkusz i program księgowo-magazynowy

Arkusz kalkulacyjny zapisuje stan, który ktoś wpisał. Prosty program księgowo-magazynowy prowadzi ilości i wartości, ale część takich programów nie zna adresów gniazd. Program klasy WMS zapisuje ruch każdej palety razem z adresem i operatorem. Stan lokalizacji wynika wtedy z historii ruchów. W obiekcie z tysiącami gniazd różnica ujawnia się przy pierwszym spisie.

CechaArkuszProgram księgowo-magazynowyProgram WMS
Ewidencjailości wpisywane ręcznieilości i wartości na magazynilości i wartości na gniazdo
Praca wielu osóbjedna osoba narazużytkownicy biurowiwielu magazynierów z terminali jednocześnie
Kontrola operacjibrakdokument przy wprowadzeniuskan lokalizacji i towaru przy ruchu
Historiazmieniana wsteczdokumentyruchy palety z czasem i operatorem

Dwukrotne pobranie tej samej palety

Dwóch magazynierów może w tej samej sekundzie wziąć zadanie pobrania tej samej palety. Program rozstrzyga to w bazie danych, a nie w interfejsie terminala. Poniższy fragment T-SQL jest ilustracyjny i nie pokazuje kodu produktu. Warunkowy UPDATE zmienia status tylko wtedy, gdy paleta nadal leży na stanie. Drugi terminal widzi zero zmienionych wierszy i dostaje komunikat o błędzie.

UPDATE dbo.Palety
SET Status = 'Pobrana', OperatorId = @OperatorId
WHERE PaletaId = @PaletaId AND Status = 'NaStanie';

IF @@ROWCOUNT = 0
    THROW 50001, 'Paleta została już pobrana przez innego operatora.', 1;

Instrukcja UPDATE zakłada blokadę na wierszu, więc równoległa sesja czeka na jej zwolnienie. Po zwolnieniu warunek Status = 'NaStanie' przestaje być prawdziwy, a @@ROWCOUNT zwraca zero. Odczyt statusu w aplikacji i późniejszy zapis w osobnym kroku zostawiałyby lukę czasową. W tej luce oba terminale zobaczyłyby status NaStanie, bo odczyt przy domyślnym poziomie READ COMMITTED nie zakłada blokady aktualizacji. Zasady blokad opisuje przewodnik po blokowaniu i wersjonowaniu wierszy.

Reguła: o kolizji dwóch operatorów rozstrzyga baza danych, a nie aplikacja na terminalu. Warunek zapisany w klauzuli WHERE działa tak samo przy dwóch terminalach i przy dwustu.

Funkcje programu magazynowego

Program obsługuje cały cykl towaru, a nie wybrane fragmenty. Pominięty proces wraca do ewidencji ręcznej i przestaje być kontrolowany. Poniższe cztery obszary decydują o tym, czy program zastępuje papier i arkusz, czy tylko je uzupełnia.

Strefy i lokalizacje w konfiguracji

Program dzieli przestrzeń na strefy o różnym przeznaczeniu. Szybka rotacja leży blisko stref wydań, wolna na wyższych poziomach regałów, a osobna strefa buforowa przyjmuje towar przyjęty, lecz jeszcze niezweryfikowany. System proponuje lokalizację nowo przyjętego towaru według tych reguł, więc magazynier nie decyduje o tym przy każdej dostawie.

Budowę etykiet określa standard etykieta logistyczna GS1. Program wskazuje lokalizację dopiero po poznaniu wymiarów i masy towaru. Te dane zapisuje się w kartotece asortymentu, którą opisuje strona o kartotekach magazynowych.

Studio WMS.net - formularz nowego asortymentu zakładka dane ewidencyjne z polami SKU, EAN, nazwa i jednostka miary
Formularz nowego asortymentu w Studio WMS.net: SKU, kod EAN, nazwa i jednostka miary

Baza danych i integracja z ERP

Wszystkie stanowiska korzystają z jednej bazy. Terminal z Androidem pracuje w trybie online, więc zapis operacji następuje w chwili potwierdzenia, a kierownik w biurze widzi ten sam wiersz co operator przy regale. Edycja Express nie zawiera usługi SQL Server Agent, więc harmonogram kopii zapasowych i zadań okresowych trzeba uruchomić poza SQL Server.

Studio WMS.net wymienia dane z systemami ERP, na przykład z SAP, w czasie rzeczywistym. Dział sprzedaży widzi aktualną dostępność towaru bez telefonu do magazynu, a księgowość otrzymuje gotowe dokumenty magazynowe bez przepisywania. Dashboard pokazuje liczbę zrealizowanych zleceń i strukturę dokumentów. Ranking kontrahentów układa się według liczby obsłużonych palet.

Model licencjonowania i koszt programu

Koszt zależy od modelu licencjonowania i liczby stanowisk. Wpływa na niego także zakres integracji, więc jednej ceny nie podaje się bez analizy przypadku. W modelu SaaS koszt rozkłada się na regularne opłaty abonamentowe, bez własnych serwerów. W modelu on-premise firma płaci więcej na starcie za licencje i serwery, ale zachowuje pełną kontrolę nad danymi. Model chmurowy opisuje strona o magazynie w chmurze.

Składnik kosztuOd czego zależyUwaga
Licencja lub abonamentmodel i liczba stanowiskSaaS to opłaty regularne, on-premise to koszt początkowy
Baza danychedycja SQL ServerExpress ogranicza bazę do 10 GB w wersji 2022
Terminale z Androidemliczba stanowisk w halizakup lub wynajem
Drukarki etykietliczba punktów przyjęć i pakowaniaetykiety logistyczne na paletach
Sieć Wi-Filiczba poziomów regałuzasięg w każdej alejce
Czas zespołuzakres testów i szkoleńpozycja najczęściej pomijana w kalkulacji

Studio WMS.net zapisuje dane w relacyjnej bazie SQL Server, a w małych instalacjach może pracować na bezpłatnej edycji Express. Edycja ogranicza rozmiar bazy do 10 GB, więc przy intensywnym ruchu rozważa się wersję Standard. Najszybciej rosną tabele z historią ruchów i pozycjami dokumentów, a najwolniej kartoteki, więc zmianę edycji planuje się przy zajętości około 80 procent limitu. Limity opisuje dokumentacja edycji SQL Server 2022, a skutki dla magazynu strona o SQL Express w WMS.

Poza licencją liczy się praca własnego zespołu przy testach i szkoleniach. Nawet dobrze skonfigurowany program nie przyniesie efektu bez przygotowanych ludzi. Przy SaaS dostawca prowadzi kopie zapasowe i zabezpieczenia serwerów, a przy on-premise robi to dział IT firmy, więc jego czas też wchodzi do rachunku.

Reguła: oferty porównuj jako całkowity koszt na kilka lat, a nie jako cenę licencji. Zbyt prosty program przestaje wystarczać przy wzroście firmy, a migracja po latach oznacza przestój i dodatkowy koszt.

Kryteria wyboru programu

Wybór opiera się na skali operacji, a nie wyłącznie na cenie. Pierwsze kryterium to demo na przykładowych danych. Studio WMS.net udostępnia bezpłatne demo, które opisuje strona demo magazyn WMS. Drugie kryterium to gotowa integracja z ERP, który firma już używa, na przykład z Symfonią albo z Subiektem nexo.

Na demo warto sprawdzić kilka konkretnych rzeczy, a nie tylko wygląd ekranów.

Trzecie kryterium dotyczy elastyczności konfiguracji lokalizacji. System powinien dostosować się do zmieniającego się asortymentu bez kosztownych modyfikacji na zamówienie. Czwarte dotyczy wsparcia po wdrożeniu: pomocy w języku polskim i czasu reakcji na awarię. Dostawca powinien też rozwijać program, gdy zmieniają się przepisy i potrzeby rynku. Program towarzyszy firmie przez lata, więc relacja z dostawcą liczy się równie mocno jak funkcje w dniu startu.

Wiele firm zaczyna od jednego obszaru, na przykład od kompletacji. Po sprawdzeniu efektów rozszerza program na kolejne procesy. Takie etapowe podejście ogranicza ryzyko i oswaja zespół z nową pracą. Przebieg wdrożenia opisuje strona o wdrożeniu WMS w magazynie wysokiego składowania, a pracę terminali strona o aplikacji WMS na Androida. Ogólny opis obiektu podaje artykuł magazyn wysokiego składowania.

Pytania i odpowiedzi o program do magazynu wysokiego składowania

Cena zależy od modelu licencjonowania, liczby stanowisk i zakresu integracji z ERP. W modelu SaaS płaci się abonament bez własnych serwerów, a w modelu on-premise więcej na starcie za licencje i infrastrukturę. Do kosztu dochodzą terminale, drukarki etykiet i sieć Wi-Fi.

Arkusz pozwala na pracę jednej osobie naraz i nie kontroluje operacji. Program WMS pozwala wielu magazynierom pracować jednocześnie na terminalach, zapisuje ruch każdej palety z adresem i operatorem oraz blokuje sprzeczne operacje.

W małych instalacjach tak. Express ogranicza rozmiar bazy do 10 GB w wersji 2022, więc przy dużym ruchu i długiej historii operacji planuje się przejście na edycję Standard, zanim baza odrzuci zapis.

Wiele firm zaczyna od jednego obszaru, na przykład kompletacji albo kontroli stanów. Po sprawdzeniu efektów rozszerza program na kolejne procesy. Takie podejście ogranicza ryzyko i pozwala zespołowi oswoić się ze zmianą.

Rozstrzyga o tym baza danych. Warunkowy UPDATE zmienia status palety tylko wtedy, gdy nadal leży na stanie, więc drugi terminal dostaje informację o błędzie zamiast duplikatu pobrania.

Glosariusz pojęć związanych z programem magazynowym

WMS
Warehouse Management System, czyli system zarządzania magazynem, który prowadzi stany na poziomie lokalizacji.
SaaS
Software as a Service, czyli program udostępniany jako usługa abonamentowa, bez własnych serwerów użytkownika.
On-premise
Model, w którym firma kupuje licencję i uruchamia program na własnej infrastrukturze.
SQL Server Express
Bezpłatna edycja SQL Server z limitem rozmiaru bazy i zasobów, stosowana w małych instalacjach.
Całkowity koszt posiadania
Suma wydatków na program, sprzęt, sieć, szkolenia i utrzymanie w całym okresie użytkowania.
SSCC
Serial Shipping Container Code, czyli numer jednostki logistycznej w standardzie GS1, nadawany pojedynczej palecie.
GTIN
Globalny numer jednostki handlowej, który identyfikuje towar w standardzie GS1 i jest kodowany na etykiecie.
Lista pobrań
Zestaw zadań kompletacji ułożony według kolejności lokalizacji, który prowadzi operatora najkrótszą trasą.
Inwentaryzacja ciągła
Liczenie wybranych lokalizacji w trakcie pracy magazynu, bez zatrzymywania operacji na czas spisu.