Oprogramowanie magazynowe zaczyna pracę w strefie przyjęć, bo błąd popełniony przy wejściu towaru powtarza się na każdym kolejnym etapie procesu. Tekst opisuje przyjęcie dostawy w systemie WMS oraz etykiety GS1, które nadają paletom i kartonom identyfikatory czytelne dla skanera. Osobno omówiono model chmurowy, integrację z ERP i technologię, w której powstaje program SoftwareStudio.

Oprogramowanie magazynowe i strefy funkcjonalne

Proces magazynowania przebiega wieloetapowo, więc w hali wyznacza się obszary funkcjonalne, a program przypisuje każdemu z nich zadania i uprawnienia. System WMS jest rozwiązaniem dedykowanym dla firm o dużych wymaganiach wobec logistyki magazynowej, od operatorów logistycznych po zakłady produkcyjne i handlowe, i koordynuje pracę tych obszarów.

  • Strefa przyjęć - miejsce rozładunku i kontroli dostawy, z którego towar nie trafia na regał, dopóki nie zostanie zapisany w systemie.
  • Strefa składowania - regały i pola odkładcze z adresami lokalizacji.
  • Strefa kompletacji - miejsca, z których operator zbiera towar pod zlecenia.
  • Strefa wydań - obszar odstawienia gotowych zamówień przed załadunkiem.

Za pomocą WMS można zarządzać stanami przez Internet, a program może łączyć się z bazami o dostawcach i produktach oraz korzystać z danych o klientach przy realizacji zamówień. Zapisy każdej strefy składają się na aktualne stany magazynowe, a ogólny zakres funkcji porządkuje strona o programie do zarządzania magazynem.

W bazie strefa jest zwykle atrybutem lokalizacji, więc pierwszy człon adresu wskazuje, do którego obszaru należy miejsce. Uprawnienia można przypisywać do stref: operator strefy wydań nie musi mieć wglądu w zadania rozładunku. Podział ogranicza liczbę pomyłek i upraszcza szkolenie nowych osób.

Przyjęcie towaru w systemie WMS

Przyjęcie jest etapem, na którym program klasyfikuje właściwości towaru przed umieszczeniem go w magazynie i przejmuje dane logistyczne z dostawy. Jeśli dostawa została awizowana, lista pozycji jest już w systemie, a operator porównuje ją ze stanem faktycznym rozładunku. Przebieg po stronie magazynu opisują awizacje dostaw do magazynu.

Dane logistyczne zapisywane przy przyjęciu

System ułatwia pobieranie i zapisywanie danych, od których zależy późniejsze wydanie. Cztery z nich mają największe znaczenie.

  • Partia ładunku - identyfikator serii produkcyjnej, potrzebny przy reklamacjach i wycofaniach.
  • Data ważności - podstawa do wydawania według terminów.
  • Waga - dane do porównania z dokumentem dostawy i do doboru miejsca składowania.
  • Numer seryjny - identyfikator pojedynczej sztuki, którego partia nie zastępuje.

Bez tych danych wydaje się zwykle na zasadzie ad hoc: magazynierzy biorą towar leżący najbliżej, co w praktyce oznacza LIFO, czyli ostatnie przyszło, pierwsze wyszło. Zapis partii i terminu pozwala wskazać najstarszą dostawę albo najkrótszy termin ważności, co znacząco zmniejsza ryzyko przeterminowania zapasu. Dokument i kolejne kroki opisuje strona o przyjęciu towaru do magazynu.

Krok przyjęciaCo sprawdza systemSkutek pominięcia
Porównanie z awizacjąZgodność indeksów i ilości z listą dostawyPrzyjęcie towaru, którego nie zamówiono
Kontrola ilościowaIlość policzona przez operatora względem dokumentuRozbieżność wychodzi na jaw dopiero przy wydaniu
Zapis danych partiiPartia z datą ważności oraz numer seryjnyBrak możliwości wydania według terminu
Etykieta jednostkiUnikalny identyfikator palety lub kartonuRęczne szukanie palety na regale
OdłożenieSkan lokalizacji zgodnej z zadaniemTowar poza adresem zapisanym w systemie

Rozbieżności przy przyjęciu

Różnica między awizacją a rozładunkiem nie zatrzymuje pracy. System przyjmuje ilość faktyczną i zapisuje różnicę, a pozycję oznacza do wyjaśnienia, dzięki czemu nadwyżka lub niedobór trafiają do rozliczenia z dostawcą, a nie znikają w korekcie stanu. Towar uszkodzony albo o niepewnej jakości odkłada się na lokalizację blokowaną, z której nie wolno wydawać do czasu decyzji.

Ten sam mechanizm statusów i blokad opisuje strona o kontroli nad towarami w systemie WMS. Przyjęcie zgodne z awizacją potwierdza się jednym skanem, a przyjęcie z różnicą wymaga dodatkowego zapisu z powodem, co pozwala później policzyć, którzy dostawcy najczęściej dostarczają niezgodnie z zamówieniem.

Raporty przyjęć w przedziałach czasowych

Z zapisów przyjęć powstają zestawienia w przedziałach czasowych. Kierownik widzi, w których godzinach dostawy się kumulują, i przydziela do rozładunku odpowiednią liczbę pracowników. Poniższe zapytanie pokazuje ten mechanizm na przykładowej tabeli.

-- przykład: rozkład przyjęć w ciągu doby z ostatnich 30 dni (tabela poglądowa)
SELECT DATEPART(HOUR, DataPrzyjecia) AS Godzina,
       COUNT(*)                      AS LiczbaPrzyjec,
       SUM(IloscPalet)               AS Palety
FROM   dbo.Przyjecie
WHERE  DataPrzyjecia >= DATEADD(DAY, -30, SYSDATETIME())
GROUP  BY DATEPART(HOUR, DataPrzyjecia)
ORDER  BY Godzina;

Wynik z kilku tygodni pokazuje powtarzalne szczyty, na przykład poranne okno dużych dostaw, i pozwala ustawić grafik zmian pod ich przebieg. Bez rejestru czasu przyjęć takie zestawienie trzeba składać ręcznie z kartek.

Etykiety logistyczne i kody kreskowe GS1

System WMS usprawnia tworzenie etykiet z kodami kreskowymi dla wszystkich magazynowanych towarów, na przykład w standardzie opisanym na stronie o etykiecie GS1. Znika wiele błędów, do których prowadziłoby ręczne przepisywanie numerów, a każda jednostka logistyczna dostaje identyfikator, który da się odczytać na każdym etapie.

Kartony na palecie z dużymi etykietami zawierającymi kody QR i kody kreskowe w magazynie
Etykiety na kartonach - identyfikator jednostki logistycznej wiąże paletę z zawartością oraz lokalizacją w systemie

Struktura numeru SSCC

Etykieta logistyczna palety w standardzie GS1 nosi numer SSCC (Serial Shipping Container Code), który kod GS1-128 zapisuje z identyfikatorem aplikacji 00. Numer ma 18 cyfr. Pierwsza to cyfra rozszerzenia, ostatnia to cyfra kontrolna, a środek zajmuje prefiks firmowy GS1 z numerem seryjnym nadanym przez firmę. Zasady standardu udostępnia organizacja GS1 Polska.

Aplikacja magazynowa nadaje numery seryjne z sekwencji bazy danych, więc dwa równoległe wydruki nie dostaną tego samego numeru. Składnię opisuje dokumentacja instrukcji CREATE SEQUENCE. Prefiks w przykładzie jest wymyślony i nie odpowiada żadnej firmie.

-- przykład: 17-cyfrowa część numeru SSCC z sekwencji (prefiks firmowy jest przykładowy)
CREATE SEQUENCE dbo.SeqSscc AS bigint START WITH 1 INCREMENT BY 1;

DECLARE @Nr bigint;
SET @Nr = NEXT VALUE FOR dbo.SeqSscc;

SELECT '0'                                                   -- cyfra rozszerzenia
     + '1234567'                                             -- prefiks firmowy GS1 (przykład)
     + RIGHT('000000000' + CAST(@Nr AS varchar(9)), 9) AS Sscc17;

Cyfrę kontrolną liczy się algorytmem modulo 10: cyfry 17-cyfrowej części mnoży się naprzemiennie przez 3 i 1, zaczynając od prawej strony, a wynik dopełnia się do pełnej dziesiątki. Funkcja poniżej implementuje ten schemat i zwraca poprawne wartości, na przykład 1 dla ciągu 400638133393.

// przykład: cyfra kontrolna GS1 (modulo 10, wagi 3 i 1 od prawej strony)
static int CyfraKontrolnaGs1(string cyfry)
{
    int suma = 0;
    for (int i = 0; i < cyfry.Length; i++)
    {
        int cyfra = cyfry[cyfry.Length - 1 - i] - '0';
        suma += cyfra * (i % 2 == 0 ? 3 : 1);
    }
    return (10 - suma % 10) % 10;
}

Reguła: identyfikator jednostki logistycznej nadaje się raz, bo ten sam numer na dwóch paletach uniemożliwia jednoznaczne śledzenie.

GTIN na towarze i SSCC na palecie

Na opakowaniu jednostkowym najczęściej znajduje się GTIN, czyli numer identyfikujący produkt, a na palecie SSCC, który identyfikuje konkretną jednostkę logistyczną. Skan GTIN mówi programowi, jaki to indeks, a skan SSCC wskazuje, która to paleta i co się na niej znajduje. Oba kody trzeba powiązać w chwili tworzenia palety, żeby późniejszy odczyt jednego numeru zwracał pełny skład.

Szablon etykiety określa położenie pól i rodzaj kodu, a dane wstawia program w chwili wydruku. Zmiana układu nie wymaga wtedy zmian w logice przyjęcia, tylko edycji szablonu na drukarce albo w module wydruku.

Nieczytelna etykieta i adres wpisany ręcznie

Gdy etykieta lokalizacji jest nieczytelna, operator może wpisać adres z klawiatury terminala. Po podaniu samego rzędu i kolumny program wyświetla dostępne miejsca na poszczególnych poziomach składowania i pozwala wybrać właściwe. Wpis ręczny obniża jakość danych, więc częsta potrzeba jego użycia zwykle wskazuje na kłopot z drukiem albo z materiałem etykiety.

Drukowanie i skanowanie etykiet na hali

Drukarka etykiet logistycznych stoi przy strefie przyjęć i drukuje kartę paletową albo etykietę GS1 od razu po zapisaniu przyjęcia, bez powrotu do biura. Operator skanuje kod terminalem lub skanerem, a system wiąże numer SSCC z zawartością palety oraz jej lokalizacją.

Drukarka etykiet z ekranem dotykowym wysuwa wstęgę z wydrukowanymi kodami kreskowymi na tle regałów magazynowych
Drukarka etykiet w strefie przyjęć - wydruk następuje po zapisaniu przyjęcia, a etykieta trafia na paletę, zanim ta zostanie odłożona na regał

Kolejność ma znaczenie: etykiety drukuje się po zatwierdzeniu ilości, a nie przed nią. Wydruk sporządzony na ilość, która później się zmieni, tworzy dwie sprzeczne informacje o jednej palecie i trzeba go unieważnić.

Przy odkładaniu obowiązuje para skanów: najpierw etykieta palety, potem etykieta lokalizacji. System porównuje adres ze wskazanym w zadaniu i akceptuje operację dopiero przy zgodności. Pomyłka o jeden regał zostaje wychwycona na hali, a nie miesiąc później przy inwentaryzacji. Zapis pary skanów zawiera czas i operatora, więc przy sporze można ustalić, kto odłożył paletę.

Jakość wydruku ma bezpośredni wpływ na tempo pracy. Blady kod wydłuża odczyt i zachęca do wpisywania numeru ręcznie, co niweczy zysk ze skanowania. Dobór skanera opisuje strona o programie magazynowym ze skanerem, a urządzenia mobilne z ekranem i modułem radiowym omawia tekst o terminalu radiowym w magazynie.

Model chmurowy i lokalny oprogramowania magazynowego

Nowe technologie pozwalają zarządzać magazynem z komputera w zakładzie, ale także z dowolnego miejsca przez przeglądarkę. Oprogramowanie magazynowe online firmy SoftwareStudio powstało w standardach HTML5 i CSS3 z użyciem biblioteki jQuery. Wdrożenie w chmurze różni się od instalacji lokalnej głównie sposobem dostępu do danych i podziałem odpowiedzialności za infrastrukturę.

KryteriumWMS on-premiseWMS w chmurze
InfrastrukturaWłasne serwery utrzymywane przez firmęSerwery dostawcy, dostęp przez przeglądarkę
Koszt początkowyWyższy - zakup sprzętu i licencjiNiższy - opłata abonamentowa
Czas wdrożeniaZależny od dostępności sprzętuZwykle krótszy, bez instalacji lokalnej
AktualizacjePo stronie działu IT klientaWykonuje dostawca
Dostęp zdalnyWymaga konfiguracji sieciWbudowany w model usługi

Koszty obu wariantów zestawia strona o programie magazynowym w chmurze i wdrożeniu lokalnym, a opis rozwiązania w chmurze przedstawia serwis SoftwareStudio: program magazynowy w chmurze.

Technologia Microsoft i eksport danych

Programy SoftwareStudio zostały zaprojektowane i zaprogramowane w technologiach Microsoft, a następnie przetestowane w tym samym środowisku, co upraszcza współpracę z popularnymi systemami i narzędziami biurowymi. Zapisane przez użytkownika dane można przetwarzać w programach takich jak Microsoft Excel. Dla firm z różnych branż, od produkcji po usługi, SoftwareStudio dostarcza WMS z aplikacją mobilną na system Android, opisaną na stronie o aplikacji magazynowej na Androida.

Przyjmowanie zleceń i integracja z ERP

SoftwareStudio oferuje też program, który usprawnia przyjmowanie zleceń od klientów. Zbiera informacje o zamówieniach automatycznie, pozwala monitorować status zlecenia na każdym etapie i generuje raporty potrzebne do analizy procesów. Opis funkcji zawiera strona o programie do przyjmowania zleceń.

Status zlecenia od przyjęcia po wydanie jest widoczny dla wszystkich działów jednocześnie, bo każdy odczytuje tę samą bazę, a nie własną kopię w pliku. Handlowiec widzi, czy dostawa została rozładowana, a księgowość, czy przyjęcie zostało zatwierdzone. Zmniejsza to liczbę telefonów do magazynu i porządkuje planowanie pracy między działami.

Wymiana danych z ERP

Program magazynowy może współpracować z systemem klasy ERP lub MRP II, a jednocześnie działać samodzielnie, pozostając w pełni funkcjonalnym w podstawowych operacjach. Po zapisaniu przyjęcia magazyn przekazuje do ERP potwierdzenie, które kończy dokument przyjęcia po stronie finansowej. Poniższy komunikat pokazuje przykładową strukturę takiej wiadomości.

{
  "idKomunikatu": "c0a8f3d2-0001",
  "typ": "PotwierdzeniePrzyjecia",
  "dokumentMagazynowy": "PZ/2026/000123",
  "pozycje": [
    { "indeks": "ABC-001", "ilosc": 24, "partia": "P2609", "dataWaznosci": "2027-03-31", "sscc": "012345670000000011" }
  ]
}

Gdy ERP jest niedostępne, wiadomość czeka w kolejce i jest wysyłana ponownie po przywróceniu połączenia. Magazyn nie zatrzymuje wtedy przyjęć, bo zapis operacji w WMS jest niezależny od chwilowego stanu systemu księgowego. Po stronie ERP pozostaje kontrola powtórzeń.

Identyfikator komunikatu pozwala odrzucić powtórkę, gdy ERP odbierze tę samą wiadomość dwukrotnie po ponowieniu połączenia. Warianty wymiany opisuje artykuł o integracji WMS z ERP, a przykład synchronizacji z modułem księgowo-handlowym przedstawia wdrożenie WMS ze Streamsoft.

Reguła: potwierdzenie przyjęcia wysyła się dopiero po zapisie w bazie magazynu, żeby ERP nie księgowało przyjęcia, którego WMS nie zatwierdził.

Interaktywne demo gospodarki magazynowej pozwala sprawdzić, jak program prowadzi przyjęcie i wydruk etykiety na własnych danych testowych, bez instalacji.