Dostawcy systemów WMS - jak różnią się oferty

Rynek dostawców systemów WMS dzieli się według tego, kto jest właścicielem kodu i kto odpowiada za wdrożenie. Ten podział wpływa na cenę słabiej niż na to, kto poprawia błąd w środku zmiany nocnej i kto zmienia konfigurację po zmianie procesu. Lista funkcji z folderu handlowego tego nie pokaże.

W praktyce spotyka się cztery typy dostawców. Zestawienie poniżej wskazuje, kogo pytać o kod źródłowy i wdrożenie oraz gdzie kończy się odpowiedzialność za integrację.

Typ dostawcyKto zna kod i bazęKto wdrażaNa co uważać
Producent własnego systemuZespół rozwijający i utrzymujący produktProducent albo jego partnerZakres modyfikacji zależy od planu rozwoju produktu
Integrator cudzego produktuProducent, a integrator zna tylko konfiguracjęIntegratorPoprawka kodu przechodzi przez dwa podmioty
Moduł magazynowy systemu ERPDostawca ERPPartner ERPAdresacja lokalizacji i kolejki zadań bywają ograniczone do modelu dokumentów ERP
System w abonamencie chmurowymDostawca usługiDostawca albo partnerDostęp do bazy i warunki wyjścia z umowy

Studio WMS.net firmy SoftwareStudio należy do pierwszej grupy: ten sam zespół tworzy system w C# i T-SQL oraz prowadzi jego wdrożenia. Opis budowy produktu zawiera strona o specyfikacji programu WMS.net dla działu IT, a ogólny przegląd rodzajów rozwiązań - tekst o rodzajach i kryteriach wyboru systemów WMS. Informacje handlowe o produkcie są na stronie Studio WMS.net w serwisie SoftwareStudio.

Model licencji i hostingu

Ta sama funkcjonalność kosztuje inaczej zależnie od jednostki rozliczenia. Licencja na użytkownika nazwanego liczy każde konto, a licencja współbieżna - jednoczesne sesje. Trzeci wariant, licencja na urządzenie, liczy każdy kolektor osobno. Przy pracy na trzy zmiany liczba kont nazwanych może być nawet trzykrotnie wyższa od liczby sesji otwartych w tym samym czasie, więc wybór jednostki rozliczenia zmienia koszt bardziej niż różnica cen jednostkowych.

Osobną decyzją jest hosting. System na serwerach firmy daje pełną kontrolę nad bazą i kopiami zapasowymi, ale wymaga administratora. Model usługowy przenosi utrzymanie na dostawcę i zmienia zakres zapisów o dostępie do danych. Różnice architektury opisuje strona o programie magazynowym w chmurze i na serwerach firmy, a strukturę kosztów - strona o cenie programu WMS.

Zapytanie ofertowe do dostawców WMS

Oferty są porównywalne tylko wtedy, gdy wszyscy dostawcy dostali te same dane wejściowe. Zapytanie powinno opisywać wolumen i procesy liczbami zmierzonymi w magazynie, a nie ogólnymi deklaracjami. Dane wolumenowe można wyciągnąć z dotychczasowego systemu: liczbę pozycji kartotekowych, liczbę lokalizacji, dzienną liczbę linii przyjęć i wydań oraz liczbę jednoczesnych użytkowników w godzinie szczytu.

-- przykładowa tabela pozycji wydań w dotychczasowym systemie
SELECT CAST(data_wydania AS date) AS dzien, COUNT(*) AS linie_wydan
FROM wydanie_pozycja
WHERE data_wydania >= DATEADD(MONTH, -3, GETDATE())
GROUP BY CAST(data_wydania AS date)
ORDER BY linie_wydan DESC;

Zapytanie zwraca dni o największym obciążeniu z ostatnich trzech miesięcy. Dostawca liczy licencje i sprzęt na wartość szczytową, a nie na średnią, więc to ona trafia do zapytania.

  • Dane wolumenowe - liczby z dotychczasowego systemu, wraz z wartością szczytową i okresem, z którego pochodzą.
  • Opis wyjątków - zwroty i towary z terminem ważności, a przy operatorze logistycznym także praca dla kilku właścicieli towaru. To wyjątki generują większość zmian konfiguracji.

Brak opisu wyjątków sprawia, że oferta zakłada proces standardowy, a różnica wychodzi dopiero w fakturze za modyfikacje po uruchomieniu.

Tabela oceny dostawców systemów WMS z wagami

Porównanie ofert bez wspólnej skali kończy się wyborem według ceny albo według wrażenia z prezentacji. Tabela poniżej podaje siedem grup kryteriów z przykładowymi wagami w procentach oraz pytanie, na które dostawca musi odpowiedzieć dokumentem, a nie deklaracją. Wagi są propozycją wyjściową; zespół projektowy powinien je zmienić zgodnie z profilem magazynu.

KryteriumWagaPytanie rozstrzygająceDowód do zebrania
Dopasowanie funkcjonalne25Które wymagania procesowe działają w standardzie, a które wymagają zmiany koduScenariusze testowe wykonane na własnych danych
Integracje15Jaki mechanizm wymiany z ERP i przewoźnikami jest dostępny i kto go utrzymujeOpis interfejsów oraz lista obsługiwanych wersji
Wdrożenie i migracja15Kto przenosi kartoteki i stany początkowe oraz jak weryfikuje wynikPlan projektu z podziałem odpowiedzialności
Wsparcie i SLA15Jaki jest czas reakcji i czas usunięcia awarii, która zatrzymuje pracę haliWzór umowy serwisowej
Koszt całkowity15Jakie opłaty pojawiają się po pierwszym roku, na przykład za aktualizacje lub nowe urządzeniaOferta z rozbiciem na pozycje
Dostęp do danych i wyjście10Czy firma ma dostęp do bazy i kopii oraz w jakim formacie dostanie dane po rozwiązaniu umowyZapis w umowie
Referencje5Czy magazyn o podobnym profilu pracuje na tej samej wersji od co najmniej rokuRozmowa z użytkownikiem

Każdy dostawca dostaje ocenę od 1 do 5 w każdym wierszu, a wynik jest średnią ważoną. Zapytanie poniżej liczy ją w SQL Server na przykładowych tabelach; wagi i oceny można trzymać w arkuszu lub w bazie, żeby po zmianie wagi od razu zobaczyć nowy ranking.

-- przykładowy schemat, nie schemat produktu
SELECT o.dostawca,
       CAST(SUM(k.waga * o.punkty) * 1.0 / SUM(k.waga) AS DECIMAL(4,2)) AS wynik
FROM ocena AS o
JOIN kryterium AS k ON k.id = o.kryterium_id
GROUP BY o.dostawca
ORDER BY wynik DESC;

Reguła: wymagania bezwzględne, takie jak dostęp do kopii bazy, są warunkiem wejścia do rankingu i nie podlegają punktacji.

Trzy osoby w garniturach i kamizelce odblaskowej oglądają wspólnie ekran laptopa wśród regałów magazynowych
Prezentacja na własnych danych magazynu: wynik idzie do wiersza „dopasowanie funkcjonalne” w tabeli wag

Pytania kontrolne do dostawcy systemu WMS

Pytania kontrolne mają jedną cechę wspólną: odpowiedź da się sprawdzić w dokumencie albo na ekranie. Pytanie „czy system jest elastyczny” nie spełnia tego warunku, natomiast pytanie „którą regułę uzupełniania lokalizacji kompletacyjnych administrator zmienia sam” spełnia go w całości.

Konfiguracja czy zmiana kodu

Granica między konfiguracją a modyfikacją decyduje o kosztach przez cały okres eksploatacji. Parametry i szablony etykiet należą do konfiguracji i przechodzą przez aktualizację wersji bez ingerencji programisty. Zmiana kodu tworzy gałąź rozwojową dla jednego klienta, którą dostawca musi scalać z każdą nową wersją. Należy zapytać, ile wersji wstecz dostawca wspiera oraz czy zmiany indywidualne są przenoszone na nowe wersje w ramach opłaty serwisowej.

Integracje z ERP i SAP

Wymiana z systemem nadrzędnym najczęściej opiera się na usługach REST, plikach wymiany albo tabelach pośrednich z kolejką komunikatów. Sposób wymiany opisuje strona o integracji WMS z ERP przez REST i kolejki. Dla środowisk SAP dostawcy oferują często gotowe interfejsy, a mechanizmy wymiany danych opisuje strona o trybach wymiany danych między WMS a SAP. Przy ocenie liczy się to, kto utrzymuje interfejs po aktualizacji SAP i co dzieje się z komunikatem, który system nadrzędny odrzuci.

  • Kierunek wymiany - należy ustalić, które dokumenty płyną z ERP do magazynu, a które w drugą stronę.
  • Obsługa błędu - komunikat odrzucony przez ERP musi trafić do kolejki błędów z opisem przyczyny.
  • Idempotentność - ponowne wysłanie tego samego dokumentu nie może utworzyć jego duplikatu.
  • Monitorowanie - administrator ma widzieć kolejkę oczekujących komunikatów bez zaglądania do bazy.

Urządzenia i etykiety

Magazynier pracuje na kolektorze, więc zgodność z urządzeniami jest częścią oferty, a nie dodatkiem do niej. Trzeba ustalić, które modele z systemem Android dostawca przetestował, oraz jak aplikacja zachowuje się przy utracie zasięgu Wi-Fi. Osobne pytanie dotyczy tego, czy szablony etykiet dla drukarek Zebra w języku ZPL edytuje administrator. Zasady doboru sprzętu opisuje strona o kolektorze danych z Androidem w WMS.

Referencje i weryfikacja dostawcy na własnych scenariuszach

Referencja nie jest listą logotypów na stronie internetowej. Wartość ma rozmowa z kierownikiem magazynu o profilu zbliżonym do własnego. Porównuje się liczbę lokalizacji i dzienną liczbę linii wydań, a także typ urządzeń i wersję systemu, na której magazyn pracuje. Pytania o dostępność w godzinach pracy oraz o czas naprawy po ostatniej awarii dają więcej niż ogólna opinia o dostawcy.

Druga forma weryfikacji to test na własnych kartotekach i lokalizacjach. Prezentacja przygotowana przez dostawcę pokazuje ścieżkę, w której wszystko działa. Scenariusze poniżej sprawdzają ścieżki, w których proces odbiega od normy, a od nich zależy praca zmiany. Kryteria oceny spotkania prezentacyjnego zawiera strona o ocenie prezentacji systemu WMS, a organizację testu przed zakupem - strona o wersji demonstracyjnej WMS.

  1. Przyjęcie z rozbieżnością - dostawa ma inną ilość niż zamówienie i system musi zapisać różnicę oraz zablokować zwolnienie towaru.
  2. Przesunięcie na błędną lokalizację - skan lokalizacji innej niż wskazana powinien zostać odrzucony lub zapisany jako zmiana z uzasadnieniem.
  3. Brak towaru przy kompletacji - zadanie musi wskazać alternatywną lokalizację albo zapisać brak bez zamykania całego zamówienia.
  4. Różnica inwentaryzacyjna - policzenie jednej lokalizacji ma wygenerować dokument różnic z wyraźnym śladem, kto go zatwierdził.
Pięcioro pracowników w kamizelkach odblaskowych rozmawia w alejce między regałami magazynu z wózkiem w tle
Zespół, który będzie pracował w systemie, wykonuje scenariusze testowe przed podpisaniem umowy

Reguła: referencja ma wartość tylko dla tej samej wersji systemu i podobnego profilu magazynu.

Umowa wdrożeniowa i wsparcie serwisowe

Wdrożenie i utrzymanie reguluje się zwykle dwoma dokumentami. Umowa wdrożeniowa opisuje zakres prac i sposób odbioru, a umowa serwisowa poziom usług oraz opłaty. Odbiór ma sens wtedy, gdy kryteria akceptacji są przypisane do scenariuszy testowych z poprzedniej sekcji. Przebieg projektu opisuje strona o wdrożeniu systemu WMS.

Zapisy o wsparciu wymagają definicji, które zamykają pole do sporu. Tabela zestawia pozycje, które powinny znaleźć się w umowie serwisowej, oraz typowe miejsce nieporozumień.

ZapisCo określaNa co uważać
Kategoria zgłoszeniaPodział na awarię blokującą i błąd z obejściemDefinicja awarii powinna opisywać skutek dla hali, a nie stan serwera
Czas reakcjiOkres od zgłoszenia do potwierdzenia przez serwisNie jest tym samym co czas usunięcia usterki
Czas usunięciaOkres do przywrócenia pracy albo do uruchomienia obejściaGodziny pracy serwisu muszą obejmować zmiany nocne, jeśli magazyn pracuje w nocy
AktualizacjeKto i kiedy instaluje nowe wersjeZapis o próbie na kopii bazy przed wdrożeniem na produkcji
Zmiany wymagańTryb zgłaszania i wyceny modyfikacjiSposób wyceny lub stawka wpisane do umowy

Opłata utrzymaniowa bywa liczona jako procent wartości licencji albo jako stała stawka roczna. Trzeba sprawdzić, co obejmuje: same poprawki błędów czy także nowe wersje z nowymi funkcjami, oraz czy dodanie kolektora lub magazynu zmienia jej wysokość. Sformułowanie zapisów umowy powinien zatwierdzić prawnik firmy.

Dostęp do danych i wyjście z umowy z dostawcą WMS

Ruchy magazynowe oraz historia stanów wraz z kartotekami są danymi firmy, a umowa powinna to wprost potwierdzać. Praktyczny test polega na poproszeniu o pełną kopię bazy i opis jej schematu jeszcze przed podpisaniem umowy. Dla systemów opartych na SQL Server kopię wykonuje polecenie BACKUP DATABASE, opisane w dokumentacji Microsoft Learn o kopiach zapasowych i odtwarzaniu.

-- przykładowa nazwa bazy
BACKUP DATABASE MagazynPrzyklad
TO DISK = N'D:\kopie\MagazynPrzyklad_pelna.bak'
WITH COMPRESSION, CHECKSUM, INIT;

Raportowanie własne, na przykład w arkuszu lub w narzędziu BI, nie wymaga uprawnień do zapisu. Wystarczy konto z rolą db_datareader, opisaną w dokumentacji ról poziomu bazy danych w SQL Server.

USE MagazynPrzyklad;
CREATE USER raporty_odczyt FOR LOGIN raporty_odczyt;
ALTER ROLE db_datareader ADD MEMBER raporty_odczyt;

W modelu chmurowym bezpośredni dostęp do bazy zwykle nie jest dostępny, więc umowa powinna określać format eksportu, termin jego wykonania i koszt. Zapisów wymaga także okres przechowywania danych po rozwiązaniu umowy oraz sposób potwierdzenia ich usunięcia. Brak takich zapisów oznacza, że wyjście z umowy jest negocjowane w chwili, gdy siła negocjacyjna jest najmniejsza.

Koszt całkowity dostawcy WMS w perspektywie kilku lat

Porównanie ofert ma sens tylko na wspólnym zestawie założeń: ta sama liczba użytkowników i urządzeń oraz ten sam horyzont, na przykład pięć lat. Cena z oferty obejmuje zwykle pierwszy rok, a koszt całkowity powstaje z pozycji, które pojawiają się później. Ogólne zasady szacowania kosztów wdrożenia opisuje serwis produktowy w tekście o koszcie wdrożenia systemu WMS.

  • Licencje - jednorazowe albo abonamentowe, według jednostki rozliczenia z pierwszej części tekstu.
  • Wdrożenie - prace analityczne z konfiguracją oraz szkolenia, rozliczane ryczałtem lub w roboczogodzinach.
  • Sprzęt - kolektory z drukarkami etykiet oraz sieć Wi-Fi, a przy pracy lokalnej także serwer.
  • Utrzymanie - opłata serwisowa oraz koszt aktualizacji, a po uruchomieniu także zgłaszane modyfikacje.

Definicję i ogólny zakres opisuje strona o systemie klasy Warehouse Management System. Wynik porównania dostawców ma postać jednej tabeli: kryteria z wagami oraz oceny z łącznym kosztem w przyjętym horyzoncie. Decyzję zatwierdza zespół, w którym uczestniczą kierownik magazynu oraz przedstawiciele działu IT i finansów.