Potocznie „program magazynowy” oznacza w Polsce każde oprogramowanie, które pomaga w pracy magazynu, od arkusza z ewidencją po rozbudowany system klasy WMS. W ofertach i rozmowach handlowych oba określenia, „program magazynowy” i „WMS” (Warehouse Management System), padają zamiennie, choć opisują różny zakres funkcji i różny poziom formalizacji.

Tekst porządkuje słownictwo branży. Wyjaśnia, kiedy nazwa potoczna pokrywa się z formalnym terminem, a kiedy warto je rozróżnić już w zapytaniu ofertowym. Same funkcje i dokumenty takiego oprogramowania omawia osobny tekst o programie do gospodarki magazynowej.

Program magazynowy WMS - nazwa potoczna i termin formalny

„Program magazynowy” funkcjonuje jako pojęcie nadrzędne. Obejmuje każde narzędzie informatyczne wspierające magazyn, niezależnie od zaawansowania: arkusz kalkulacyjny z makrami, lokalną bazę z formularzami albo pełny system klasy WMS obsługujący terminale radiowe i automatykę. WMS jest pojęciem węższym. Odnosi się do kategorii oprogramowania o zdefiniowanym zakresie funkcji, rozpoznawanej tak samo w Polsce i za granicą.

Każdy system WMS można więc nazwać programem magazynowym, ale nie każdy program magazynowy zasługuje na miano WMS. Różnica nie jest wyłącznie semantyczna, bo decyduje o tym, czego firma może oczekiwać od zakupionego narzędzia i jak porównywać oferty różnych dostawców.

OkreślenieZakres znaczeniaGdzie się pojawia
Program magazynowyKażde narzędzie do ewidencji lub obsługi magazynuOgłoszenia handlowe, oferty dla małych firm
System WMSKategoria z lokalizacjami i zadaniami oraz urządzeniami mobilnymiSpecyfikacje, zapytania ofertowe, przetargi
System lub oprogramowanie magazynoweSynonimy w praktyce, bez zdefiniowanego progu funkcjiArtykuły branżowe i materiały informacyjne
Mężczyzna z tabletem przy monitorze z tabelą danych, w tle półki z drobnymi towarami
Termin „oprogramowanie magazynowe” obejmuje bardzo różne narzędzia - od ewidencji ilościowej po system sterujący zadaniami na hali

Reguła: nazwa produktu nie jest specyfikacją. Do porównania ofert służy lista funkcji, a nie to, czy dostawca używa słowa „WMS”.

Skąd pochodzi skrót WMS i jak go rozumieć

Skrót WMS pochodzi od angielskiego Warehouse Management System, czyli systemu zarządzania magazynem. Termin wywodzi się z anglojęzycznej literatury logistycznej i informatycznej, w której komputerowe rozwiązania zaczęły zastępować papierową ewidencję w dużych centrach dystrybucyjnych. Dziś rozpoznają go analitycy rynku i integratorzy, a także działy zakupów IT, niezależnie od języka rozmów handlowych.

W polskiej branży obok „WMS” występują bliskoznaczne nazwy, takie jak system magazynowy albo oprogramowanie magazynowe. W praktyce dotyczą tej samej kategorii narzędzi. Wybór sformułowania częściej wynika z przyzwyczajenia autora tekstu albo z kontekstu marketingowego niż z różnicy technicznej.

Kiedy branża mówi program magazynowy, a kiedy WMS

W materiałach kierowanych do mniejszych firm częściej pojawia się przystępne określenie „program magazynowy”. Brzmi swojsko i nie wymaga znajomości słownictwa angielskiego. W dokumentacji technicznej i zapytaniach ofertowych oraz w rozmowach z integratorami dominuje skrót WMS, bo jednoznacznie wskazuje kategorię systemu i pozwala porównać oferty według wspólnego wzorca.

Dział zakupów sieci dystrybucyjnej przygotowujący przetarg posłuży się niemal zawsze skrótem WMS, ponieważ pozwala on opisać wymagany zakres funkcji w specyfikacji punkt po punkcie. Jeśli oferta mówi ogólnie o „programie do magazynu” bez szczegółów, warto dopytać o zakres, zanim przyjmie się, że chodzi o pełny system. Sposób doboru ustawień opisuje strona o konfiguracji programu magazynowego.

WMS jako system samodzielny albo moduł ERP

WMS nie musi być odrębną aplikacją instalowaną obok innych programów firmy. W praktyce spotyka się dwa modele. Pierwszy to system samodzielny, zaprojektowany wyłącznie do obsługi magazynu i połączony z resztą firmy przez integrację, na przykład jako system do zarządzania magazynem wymieniający dokumenty z ERP. Drugi to moduł wbudowany w większy system ERP, który współdzieli z nim bazę danych oraz interfejs i logikę biznesową.

Oba podejścia mają uzasadnienie, zależnie od skali i specyfiki magazynu. Zestawienie poniżej porządkuje najważniejsze różnice.

KryteriumWMS jako system samodzielnyWMS jako moduł ERP
Zakres funkcji magazynowychZwykle szerszy i głębiej wyspecjalizowanyOgraniczony do funkcji przewidzianych w module
Integracja z resztą firmyWymaga osobnego łącza z ERP lub inną platformąNaturalna, dane współdzielone od razu
Elastyczność dostosowaniaWysoka, moduły dobierane pod magazynZależna od możliwości konfiguracyjnych ERP
Typowe zastosowanieMagazyny wysokiego składowania, centra dystrybucyjneMniejsze magazyny o prostszych procesach
Wózek z paletami i dłoń trzymająca smartfon z aplikacją oraz dokumentem
Integracja systemu magazynowego z ERP - w modelu samodzielnym dane między systemami przekazuje się interfejsem, a nie wspólną bazą

W magazynach wysokiego składowania i centrach dystrybucyjnych o dużej rotacji sprawdza się zwykle system samodzielny. Moduł w ERP rzadko oferuje wystarczającą głębokość funkcji, na przykład strategie kompletacji czy obsługę wielu jednostek logistycznych naraz. Wymagania takich hal opisuje artykuł o oprogramowaniu klasy WMS dla magazynu wysokiego składowania.

W mniejszych magazynach o prostych procesach moduł WMS w posiadanym już ERP bywa rozwiązaniem wystarczającym i tańszym, bo nie wymaga budowy integracji. Kiedy integracja jest potrzebna, warianty techniczne opisuje tekst o integracji WMS z ERP.

Kartoteki towarowe w obu modelach

W module ERP kartoteka towaru jest jedna i wspólna dla sprzedaży i zakupów oraz magazynu. W systemie samodzielnym kartoteka istnieje w dwóch miejscach, więc trzeba ustalić, który system jest źródłem prawdy i jak przekazywane są zmiany: nowy indeks, zmiana jednostki miary albo wycofanie towaru. Najczęstszy podział przypisuje ERP opis handlowy, a WMS parametry logistyczne, na przykład wymiary opakowania i sposób składowania.

Ten podział wymaga wspólnego klucza, którym zwykle jest indeks towaru. Jeśli w jednym systemie indeks zapisano z wiodącym zerem, a w drugim bez niego, integracja utworzy dwa różne towary, a stan rozjedzie się już pierwszego dnia. Dlatego reguły kluczy i formatów spisuje się przed uruchomieniem wymiany danych.

Klasy zaawansowania programów magazynowych

Skoro nie każdy program jest pełnym WMS, warto uporządkować systemy według poziomu zaawansowania. Branża nie ma jednej sformalizowanej normy klasyfikacyjnej, ale wśród integratorów i analityków przyjęły się trzy orientacyjne klasy, które różnią się zakresem funkcji i stopniem automatyzacji.

KlasaPoziom zaawansowaniaTypowe funkcje
PodstawowaEwidencja ilościowa, pojedyncza lokalizacjaPrzyjęcia i wydania, proste kartoteki, ręczne wprowadzanie danych
ŚredniaZarządzanie lokalizacjami i zadaniamiAdresowanie miejsc, skanery kodów, podstawowe raporty
ZaawansowanaRozbudowana automatyzacja procesówTerminale radiowe, optymalizacja tras, integracje, wiele magazynów

Klasa podstawowa - ewidencja ilościowa

Systemy podstawowej klasy koncentrują się na ewidencji ilościowej towaru i rejestrowaniu dokumentów obrotu. Nie oferują adresowania przestrzeni ani obsługi urządzeń mobilnych, więc operator wprowadza dane ręcznie z komputera. Takie narzędzia wystarczają w niewielkich magazynach o niskiej rotacji, choć w ścisłym znaczeniu trudno nazwać je pełnym WMS.

Klasa średnia - lokalizacje i zadania

Systemy średniej klasy wprowadzają adresowanie lokalizacji, obsługę skanerów kodów kreskowych oraz podział pracy na zadania przypisywane magazynierom. Na tym poziomie program zaczyna spełniać większość kryteriów formalnej definicji, choć wciąż może brakować optymalizacji tras albo połączenia z automatyką magazynową.

Klasa zaawansowana - terminale i integracje

Klasa zaawansowana obejmuje pełną obsługę terminali radiowych, algorytmy tras kompletacji oraz zarządzanie wieloma magazynami z jednej bazy. Uzupełnia ją aplikacja mobilna, na przykład Android WMS, która obsługuje te same dane z poziomu skanera. Pracę terminali w sieci bezprzewodowej opisuje artykuł o terminalu radiowym w magazynie.

Różnica w modelu danych

Rozróżnienie klas widać także w bazie danych. System podstawowy trzyma jeden wiersz stanu na towar, a zaawansowany stan na towar w konkretnej lokalizacji i partii. Od tego zależy, czy da się odpowiedzieć na pytanie, gdzie leży konkretna partia. Poniższe schematy są przykładowe i nie odwzorowują żadnego produktu.

-- klasa podstawowa: jeden wiersz stanu na towar (przykład poglądowy)
CREATE TABLE dbo.StanTowaru (
    IdTowaru int           NOT NULL PRIMARY KEY,
    Ilosc    decimal(18,3) NOT NULL
);

-- klasa zaawansowana: stan na towar w lokalizacji i partii (przykład poglądowy)
CREATE TABLE dbo.StanLokalizacji (
    IdTowaru      int           NOT NULL,
    IdLokalizacji int           NOT NULL,
    NrPartii      varchar(30)   NOT NULL,
    Ilosc         decimal(18,3) NOT NULL,
    CONSTRAINT PK_StanLokalizacji PRIMARY KEY (IdTowaru, IdLokalizacji, NrPartii),
    CONSTRAINT FK_StanLokalizacji_Lokalizacja
        FOREIGN KEY (IdLokalizacji) REFERENCES dbo.Lokalizacja (IdLokalizacji)
);

Klucz główny złożony z trzech kolumn wymusza unikalność stanu dla danej kombinacji, a klucz obcy pilnuje, że lokalizacja istnieje. Mechanizm ograniczeń opisuje dokumentacja kluczy głównych i obcych w SQL Server. Przejście z klasy podstawowej na zaawansowaną oznacza więc zmianę modelu danych, a nie tylko dodanie ekranu.

Przejście między klasami w istniejącym magazynie

Firma, która zaczynała od ewidencji ilościowej, a chce przejść na system z lokalizacjami, musi najpierw przypisać towar do adresów. To zwykle największa część projektu, bo wymaga fizycznego spisu i oznakowania regałów, a nie tylko konfiguracji. Do czasu zakończenia spisu stan w nowym systemie ma niską wiarygodność.

Dlatego wdrożenie często prowadzi się strefami. Najpierw przechodzi jedna strefa z własnym spisem i etykietami, a pozostałe działają jeszcze po staremu. Ograniczony zakres pozwala sprawdzić zasady adresowania, zanim obejmą cały magazyn, a ewentualne poprawki dotyczą jednej strefy, nie całej hali.

Zakres funkcjonalny pełnego systemu WMS

Wśród integratorów powtarza się zestaw kryteriów, po których poznaje się pełny WMS. Tabela poniżej zamienia je na pytania, które można zadać w trakcie prezentacji systemu.

KryteriumCo system musi robićJak sprawdzić na demonstracji
LokalizacjePrzypisuje towar do adresów składowania, a nie tylko do stanu ogólnegoWyszukać towar i odczytać jego adres
Urządzenia mobilneObsługuje skanery lub terminale radioweWykonać przyjęcie na terminalu
Zadania magazynierówGeneruje i przydziela zadaniaSprawdzić, kto i w jakiej kolejności dostaje zlecenie
Partie i numery seryjneIdentyfikuje partię lub sztukę w całym procesiePrześledzić historię jednej partii
Integracja z ERPWymienia dokumenty i stany bez przepisywaniaZobaczyć dokument z ERP w systemie magazynowym
RaportowaniePokazuje aktualne stany i historię obrotówWygenerować raport bezpośrednio po ruchu

Program spełniający te warunki jednocześnie można bez zastrzeżeń nazwać systemem WMS. Narzędzie realizujące tylko część z nich, na przykład ewidencję ilościową bez lokalizacji, pozostaje programem magazynowym w węższym znaczeniu. Szerszy opis zakresu znajduje się w artykule o zakresie funkcjonalnym systemu magazynowego.

Nazewnictwo w zapytaniu ofertowym

Nieprecyzyjne używanie terminów niesie ryzyko biznesowe. Firma szukająca pełnego systemu dla magazynu wysokiego składowania, która oprze wybór na nazwie produktu, może trafić na narzędzie klasy podstawowej bez adresowania i bez obsługi terminali. Odwrotna sytuacja zdarza się równie często: mała firma płaci za rozbudowany system, choć wystarczyłby prostszy program klasy średniej.

Praktycznym rozwiązaniem jest zapytanie oparte na funkcjach. Zamiast pisać „szukamy WMS”, opisuje się procesy, które system ma obsłużyć, i wymagania wobec urządzeń oraz integracji. Dobry zestaw pytań do dostawcy obejmuje cztery obszary:

  • Adresowanie - czy system prowadzi stan na poziomie lokalizacji i partii, czy tylko na poziomie towaru.
  • Urządzenia - jakie terminale i skanery obsługuje i czy praca odbywa się w przeglądarce, czy w aplikacji.
  • Integracje - jakie interfejsy z ERP są gotowe, a jakie wymagają programowania.
  • Rozwój - czy system rośnie wraz z magazynem bez wymiany, jeśli zakres wdrożenia zwiększy się po roku.

Ostatnia kwestia decyduje o kosztach w dłuższym okresie. Odpowiednio skonfigurowany system potrafi rosnąć razem z firmą, od podstawowej ewidencji po pełny zakres WMS, bez wymiany oprogramowania. Ogólną definicję samego pojęcia opisuje strona o programie magazynowym, a podział ofert rynkowych tekst o rodzajach programów magazynowych.

Scenariusze na demonstracji systemu

Prezentacja z gotowego pokazu niewiele mówi o pracy w konkretnym magazynie. Lepiej przygotować własne scenariusze z danymi firmy: przyjęcie dostawy z kilkoma partiami oraz kompletację zamówienia z kilku lokalizacji. Oba scenariusze wymuszają użycie adresowania oraz skanera, a także zadań, czyli tych funkcji, które odróżniają WMS od prostego programu.

Dodatkowo warto poprosić o pokazanie sytuacji wyjątkowej, na przykład towaru, którego brakuje w lokalizacji wskazanej przez system. Sposób obsługi takiego zdarzenia mówi więcej o dojrzałości produktu niż lista funkcji na slajdzie.

Wskazówka: przed podpisaniem umowy warto poprosić dostawcę o listę funkcji w układzie z tabeli powyżej, a nie o samą nazwę produktu. Wynik można porównać z wersją demonstracyjną Studio WMS.net.