VSS łączy się z WMS i ERP przez interfejsy wymiany danych typu API lub webservice. Zatwierdzona awizacja staje się zadaniem przyjęcia w magazynie i jest zestawiana z zamówieniem zakupu zapisanym w ERP. Dane wprowadzone raz przy rejestracji awizacji służą potem na placu oraz przy księgowaniu dostawy.

Podział ról między trzema systemami

Żaden z systemów nie powiela funkcji pozostałych. ERP przechowuje zamówienia oraz rozliczenia z dostawcą. VSS zarządza harmonogramem dostaw oraz ruchem pojazdów na placu. WMS obsługuje fizyczne przemieszczanie towaru wewnątrz magazynu.

Integracja nie polega więc na kopiowaniu całych baz. Przekazywany jest ściśle określony zestaw informacji w chwili, gdy potrzebuje go następne ogniwo procesu. Poniższa tabela pokazuje, gdzie odbywa się każdy etap i co zostaje przekazane dalej.

EtapSystemDane wejścioweDane przekazywane dalej
Awizacja dostawyStudio VSS.netnumer zamówienia z ERP, planowany termin, dane przewoźnika, lista pozycjinumer awizacji, okno czasowe, dane pojazdu i kierowcy - do WMS
Wjazd na placStudio VSS.nettożsamość kierowcy, numer rejestracyjny, rzeczywista godzina przyjazdustatus pojazdu i przypisanie do bramy lub doku - do WMS
Przyjęcie towaruStudio WMS.netzadanie przyjęcia z awizacji, lista oczekiwanych pozycji, miejsce rozładunkufaktyczne ilości, numery partii i rozbieżności - do ERP
Księgowanie dostawyERPpotwierdzone dane przyjęcia powiązane z zamówieniemdokument przyjęcia, stany magazynowe i zobowiązania wobec dostawcy

Reguła: każdy system jest źródłem prawdy dla własnych danych. Zamówienie zmienia się wyłącznie w ERP, termin dostawy w VSS, a ilość przyjętą potwierdza WMS. Ręczna poprawka tej samej wartości w dwóch miejscach kończy się rozjazdem.

Kierunek przepływu danych

Zamówienie zakupu w ERP jest punktem odniesienia dla awizacji. VSS odczytuje je, gdy przewoźnik zakłada zgłoszenie i wskazuje numer zamówienia. System sam uzupełnia nazwę dostawcy oraz listę zamówionych pozycji.

Zatwierdzona awizacja trafia do WMS w chwili, gdy pojazd zostaje potwierdzony w harmonogramie. Magazyn przygotowuje się do rozładunku jeszcze przed przyjazdem ciężarówki. Potwierdzone przyjęcie wraca do ERP, gdzie aktualizuje stan i staje się podstawą dokumentu księgowego.

Zadanie przyjęcia z awizacji

Zadanie powstaje w chwili zatwierdzenia awizacji, bez ręcznego zakładania przez pracownika. Mechanizm działa jak zdarzenie wyzwalające. Zatwierdzenie terminu w harmonogramie VSS uruchamia w tle zapytanie do WMS, które tworzy rekord powiązany z konkretną awizacją. W Studio WMS.net odpowiada mu zlecenie przyjęcia ZPZ, na podstawie którego powstaje dokument PZ.

Studio WMS.net - wypełniony formularz PZ z zleceniem ZPZ, kontrahentem ADAMEKS Ustroń, robotem kuchennym i lokalizacją A.01.4
Dokument PZ w Studio WMS.net powstaje na podstawie zlecenia ZPZ, z pozycją towaru, numerem palety i lokalizacją odłożenia

Magazynier otwiera listę przyjęć na dany dzień i widzi gotowe zadanie, zanim pojazd dotrze do bramy. Zamknięcie przyjęcia opisuje strona o przyjęciu towaru do magazynu, a komplet dokumentów opisują dokumenty magazynowe.

Dane przekazywane z awizacji

Do zadania trafia komplet informacji zapisanych w VSS. Są to wartości oczekiwane, względem których magazyn porówna to, co faktycznie zostanie rozładowane.

Miejsce rozładunku i zasoby z wyprzedzeniem

Ponieważ zadanie istnieje przed przyjazdem, WMS może przypisać dok lub bramę. Bierze pod uwagę rodzaj towaru i obciążenie stanowisk w danym przedziale. Tą samą logiką rezerwuje wózek oraz skaner kodów kreskowych, a także strefę odkładczą.

Personel nie improwizuje w chwili przyjazdu, bo dok jest już przypisany. Ryzyko skierowania dwóch dostaw do tego samego doku w tym samym czasie maleje, ponieważ WMS widzi zajęte terminy przy tworzeniu kolejnych zadań. Rozładunek potwierdza się skanerem, jak opisuje strona o aplikacji WMS na Androida.

Weryfikacja zamówienia w ERP

System sprawdza zgodność awizacji z zamówieniem już przy rejestracji. Porównuje numer wskazany przez dostawcę z danymi w ERP. Pierwszy test dotyczy istnienia zamówienia i jego przypisania do dostawcy. Drugi sprawdza status, bo zamówienie zrealizowane lub anulowane nie przyjmuje kolejnych dostaw.

Gdy warunki są spełnione, VSS pobiera listę pozycji z ilościami i uzupełnia formularz. Osoba rejestrująca wpisuje mniej danych. Próba awizowania pod nieistniejącym numerem kończy się odrzuceniem, zanim pojazd wyruszy w trasę.

Jedno zamówienie może mieć kilka awizacji, jeśli dostawca wysyła towar w partiach. System śledzi, jaka część została awizowana. Poniższe zapytanie ilustruje to na przykładowych tabelach i nie pokazuje kodu produktu.

SELECT z.NumerZamowienia, z.IndeksId, z.IloscZamowiona,
       ISNULL(SUM(a.IloscAwizowana), 0) AS Awizowano,
       z.IloscZamowiona - ISNULL(SUM(a.IloscAwizowana), 0) AS PozostaloDoAwizacji
FROM dbo.ZamowieniaZakupuPozycje AS z
LEFT JOIN dbo.AwizacjePozycje AS a
       ON a.NumerZamowienia = z.NumerZamowienia AND a.IndeksId = z.IndeksId
WHERE z.NumerZamowienia = @NumerZamowienia
GROUP BY z.NumerZamowienia, z.IndeksId, z.IloscZamowiona;

Powiązanie awizacji z zamówieniem zabezpiecza w bazie klucz obcy, który nie pozwala zapisać pozycji awizacji dla nieistniejącego zamówienia. Zasady tworzenia takich relacji opisuje dokumentacja kluczy obcych w SQL Server.

Rozbieżność między dostawą a zamówieniem

Gdy ilość awizowana albo dostarczona różni się od zamówienia, system oznacza pozycję jako rozbieżność i wstrzymuje automatyczne zatwierdzenie. Decyzję podejmuje osoba odpowiedzialna za przyjęcia lub za zakupy. Różnica zostaje zapisana z dokładną wartością oczekiwaną i rzeczywistą.

Rodzaj rozbieżnościPrzykładReakcja systemu
Ilościowamniej palet, niż wynika z zamówieniazapis różnicy i wstrzymanie zatwierdzenia
Asortymentowainny towar niż pozycja zamówieniasygnał niezgodności do ręcznej weryfikacji przed zamknięciem przyjęcia

Magazyn może przyjąć towar warunkowo z odnotowaną rozbieżnością. Pojazd zostaje rozładowany i nie blokuje rampy. Informacja trafia do ERP razem z danymi przyjęcia, a dział zakupów korzysta z niej przy korekcie zamówienia lub reklamacji. Odnotowanie rozbieżności następuje tam, gdzie powstała, czyli przy fizycznym przyjęciu.

Wymagania techniczne wdrożenia

API albo webservice wymieniają dane w czasie zbliżonym do rzeczywistego. Alternatywą jest nocny transfer plików, który działa wolniej. Warunkiem jest udostępnienie przez ERP punktów dostępowych do danych zamówień oraz uzgodnienie formatu wymiany, co zwykle ustala się w analizie przedwdrożeniowej z dostawcą ERP.

Po stronie VSS i WMS konfiguruje się reguły mapowania pól. Wskazują one, które dane zamówienia ERP odpowiadają polom formularza awizacji i zadania przyjęcia. Poniższa tabela jest przykładem ilustracyjnym, a rzeczywiste nazwy pól zależą od wdrożenia.

Pole w ERPPole w awizacji VSSPole w zadaniu WMS
numer zamówienia zakupunumer zamówieniadokument źródłowy
kod dostawcyprzewoźnik lub dostawcakontrahent
indeks towarupozycja awizacjiasortyment pozycji przyjęcia
ilość zamówionailość awizowanailość oczekiwana

Niedostępność systemu i ponowienie wysyłki

Wywołanie interfejsu może się nie udać, gdy ERP jest chwilowo niedostępny. Zapis przyjęcia i wpis do dziennika integracji powinny wejść do jednej transakcji. Błąd zostaje zatrzymany i zapisany, a komunikat czeka w kolejce na ponowienie, więc nie ginie przy awarii łącza. Zakres obsługi takich sytuacji ustala się na etapie wdrożenia.

BEGIN TRY
    BEGIN TRAN;
    INSERT dbo.PrzyjeciaZAwizacji (AwizacjaId, IndeksId, IloscPrzyjeta)
    VALUES (@AwizacjaId, @IndeksId, @IloscPrzyjeta);
    UPDATE dbo.DziennikIntegracji SET Status = 'Wyslano' WHERE KomunikatId = @KomunikatId;
    COMMIT;
END TRY
BEGIN CATCH
    IF @@TRANCOUNT > 0 ROLLBACK;
    UPDATE dbo.DziennikIntegracji
    SET Status = 'Blad', Komunikat = ERROR_MESSAGE(), LiczbaProb = LiczbaProb + 1
    WHERE KomunikatId = @KomunikatId;
END CATCH;

Przykład jest ilustracyjny. Blok TRY...CATCH wycofuje transakcję i zapisuje przyczynę oraz licznik prób, które wykorzysta mechanizm ponawiania. Składnię opisuje dokumentacja TRY...CATCH w T-SQL.

Dlaczego dane wracają do ERP dopiero po przyjęciu

Księgowanie na podstawie samej awizacji byłoby przedwczesne, bo awizacja jest zapowiedzią, a nie faktem. Dopiero potwierdzone przyjęcie w WMS zawiera ilości, które fizycznie trafiły na stan. Dlatego ERP dostaje je po zakończeniu rozładunku, razem z numerami partii.

Taka kolejność zapobiega sytuacji, w której dokument finansowy powstaje dla towaru, który nie dojechał albo przyjechał w innej ilości. Rozbieżności są wtedy znane przed zaksięgowaniem zobowiązania wobec dostawcy. Dla działu zakupów oznacza to mniej korekt i mniej wyjaśnień po fakcie.

Korzyści dla planowania pracy magazynu

Zbiorczy harmonogram potwierdzonych dostaw pokazuje, ilu pracowników potrzeba w poszczególnych godzinach. Obsada rozkłada się równomiernie na całą zmianę. Znany rodzaj i ilość towaru pozwalają zawczasu przydzielić wózki widłowe i skanery.

Dane z ERP o terminach realizacji zamówień można uwzględnić już przy proponowaniu przewoźnikowi okien w VSS. Dwie duże dostawy rzadziej trafiają na tę samą godzinę. Historia przyjęć zestawiona z zamówieniami pokazuje sezonowość dostaw, co pomaga planować urlopy i pracowników tymczasowych. Model okien opisuje strona o awizacji dostaw i oknach czasowych transportu, a eliminację kolejek opisuje artykuł o systemie VSS i kolejkach na placu.

Połączenie z konkretnymi systemami księgowymi opisują strony o integracji Symfonii z WMS i o integracji z SAP.

Pytania i odpowiedzi o integrację VSS z WMS i ERP

Przez interfejsy typu API lub webservice, które przekazują dane w czasie zbliżonym do rzeczywistego. Nie wymaga to ręcznego eksportowania i importowania plików. Alternatywny nocny transfer plików jest wolniejszy i bardziej podatny na błędy.

Zatwierdzenie uruchamia zdarzenie, które w WMS tworzy zadanie przyjęcia powiązane z awizacją. Magazynier widzi je na liście przyjęć, zanim pojazd dojedzie do bramy. Z zadania powstaje potem dokument przyjęcia.

Tak, już przy rejestracji awizacji. Sprawdza, czy zamówienie istnieje w ERP, czy należy do danego dostawcy i czy nie zostało zrealizowane albo anulowane. Przy zgodności pobiera z ERP listę pozycji i ilości.

Oznacza pozycję jako rozbieżność i wstrzymuje jej automatyczne zatwierdzenie. Magazyn może przyjąć towar warunkowo, a informacja o różnicy trafia do ERP. Dział zakupów korzysta z niej przy korekcie zamówienia albo reklamacji.

Punkty dostępowe do danych zamówień po stronie ERP, format wymiany i reguły mapowania pól. Zwykle ustala się je w analizie przedwdrożeniowej wspólnie z dostawcą ERP. Dopiero potem proces działa w tle bez udziału użytkowników.

Glosariusz pojęć związanych z integracją VSS, WMS i ERP

API
Interfejs programistyczny, przez który jeden system udostępnia innemu dane i funkcje w ustalonym formacie.
Webservice
Usługa udostępniana przez sieć, którą system wywołuje, aby przekazać lub odebrać dane w uzgodnionym formacie.
ERP
System klasy ERP, w którym przechowywane są zamówienia, dokumenty finansowe i rozliczenia z dostawcami.
Zlecenie przyjęcia ZPZ
Dokument w Studio WMS.net zapowiadający przyjęcie towaru, na podstawie którego powstaje dokument PZ.
Mapowanie pól
Reguły wskazujące, które pole jednego systemu odpowiada polu w drugim.
Rozbieżność
Różnica między ilością albo asortymentem oczekiwanym a faktycznie dostarczonym.
Dziennik integracji
Tabela zapisująca komunikaty wymieniane między systemami wraz ze statusem i liczbą prób.
Przyjęcie warunkowe
Przyjęcie towaru z odnotowaną rozbieżnością, które nie blokuje rozładunku pojazdu.