W skrócie

Wymianę danych między ERP a WMS da się zrealizować zapytaniami do bazy ERP, przez WebAPI albo plikiem, a wybór zależy od tego, co udostępnia ERP. W opisywanym wdrożeniu zlecenia i dokumenty czytają z bazy ERP procedury synchronizacji uruchamiane zadaniem cyklicznym. Wynik realizacji odsyła do WebAPI ERP osobna usługa.

Dlaczego wymiana z ERP rozstrzyga o wdrożeniu

ERP zna zamówienia i faktury, a WMS wie, co fizycznie leży na regałach i kto to przenosi. Dopiero wymiana danych między nimi daje obraz całej firmy. Gdy integracja szwankuje, magazynierzy dostają niepełne zlecenia, a księgowość widzi dokumenty z opóźnieniem. U producenta dochodzą zlecenia produkcyjne i receptury kompletów, więc ERP przekazuje magazynowi więcej niż same zamówienia sprzedaży.

Dlatego w projektach dla firm produkcyjnych wymianę opisuje się już w analizie przedwdrożeniowej, z podziałem na obszary wymiany i metody. Zakres takiego dokumentu pokazuje artykuł o tym, co powinna zawierać analiza przedwdrożeniowa WMS.

Trzy metody wymiany danych z ERP

Metodę wybiera się według tego, co ERP udostępnia, a nie według upodobań wykonawcy. Zestawienie pokazuje trzy rozwiązania, które stosujemy.

MetodaJak działaGdzie ma sens
Zapytania do bazy ERPProcedury synchronizacji czytają dane z widoków bazy ERP, uruchamiane zadaniem cyklicznymGdy klient może udostępnić widoki tylko do odczytu, a ERP nie ma własnego interfejsu
WebAPIWMS i ERP wymieniają komunikaty przez interfejs HTTP, a w standardzie produktu zlecenia przychodzą wywołaniem POST z danymi w formacie JSON na koncie technicznym klientaGdy ERP lub system nadrzędny ma stabilny interfejs, jak w gotowych integracjach z SAP i WAPRO WF-MAG
PlikJedna strona zapisuje plik wymiany, a druga go odczytujeGdy żaden interfejs nie jest dostępny albo wymiana ma być prosta

Gotowe połączenia opisaliśmy na stronach o integracji WMS z SAP oraz o integracji WAPRO WF-mag z WMS.net. Pozostałe ERP łączy się w ramach wdrożenia, wybierając jedną z trzech metod.

Wybór rozkłada też prace po obu stronach. Przy odczycie bazy klient przygotowuje widoki tylko do odczytu. Przy WebAPI udostępnia interfejs i konto techniczne. Wymiana plikowa wymaga uzgodnienia katalogu oraz formatu pliku.

Co wybrano w opisywanym wdrożeniu

U producenta wyrobów wielkogabarytowych zlecenia i dokumenty wchodzą do WMS inaczej niż wynik realizacji wraca do ERP. Import robią procedury synchronizacji, a odsyłanie statusów przejęła osobna usługa. Cały układ przedstawia schemat, a tabela rozpisuje go na obszary.

Schemat integracji Studio WMS.net: system ERP po lewej, aplikacja WWW, aplikacja Android i baza SQL pośrodku, po prawej kurierzy, etykiety i wydruki oraz produkcja
Strzałki między ERP a Studio WMS.net pokazują import zleceń w jedną stronę i statusy zwrotne w drugą
ObszarKierunekJak odbywa się wymiana
Kartoteki towaroweERP do WMSZadanie nocne oraz import na żądanie, także pojedynczej kartoteki po identyfikatorze
Zlecenia przyjęćERP do WMSProcedura synchronizacji w zadaniu cyklicznym, odczyt z widoku ERP
Zlecenia wydańERP do WMSProcedura synchronizacji w zadaniu cyklicznym, odczyt z widoku ERP
Zlecenia produkcyjneERP do WMSProcedura synchronizacji w zadaniu cyklicznym
Przesunięcia międzymagazynoweERP do WMSProcedura synchronizacji w zadaniu cyklicznym
Receptury kompletówERP do WMSImport z ERP, więc zmianę składu wprowadza się tam
Wynik realizacji zleceniaWMS do ERPOsobna usługa zadań wysyła wynik do WebAPI ERP

Kartoteki - nocą i na żądanie

Kartoteki zmienia się przeważnie w ERP, więc zadanie nocne importuje nowe i zmienione rekordy. W rejestrze dokumentów są dodatkowo polecenia pobrania i aktualizacji kartotek, z których korzysta się w ciągu dnia. Przydają się, gdy handlowiec założył nowego klienta albo produkt i magazyn nie chce czekać do nocy.

Gdy kartotekę zmieniono po nocnej synchronizacji, WMS pokazuje stare dane do następnego cyklu albo do importu na żądanie. Ten rozjazd jest najczęstszym źródłem pytań w pierwszych tygodniach. W kartotece wdrożenia kod handlowy ma jeden kod bazowy, więc przy imporcie pilnuje się powiązania obu kodów. Strukturę samej kartoteki omawia strona o kartotece magazynowej, a start z danymi z arkusza - tekst o imporcie z Excela.

Zlecenia i statusy zwrotne

Zlecenie z ERP trafia do rejestru WMS przy najbliższym przebiegu zadania cyklicznego. Kierownik lub operator zaczyna wtedy realizację na kolektorze. Wyniku nie odsyła ani kolektor, ani aplikacja WWW, bo zajmuje się tym osobna usługa, która przekazuje dokument i jego pozycje do WebAPI ERP.

Rozdzielenie importu i eksportu daje dwa niezależne punkty kontroli. Rejestr błędów systemowych pokazuje, który rekord odrzucono i dlaczego. Receptury kompletów są importowane z ERP, więc zmianę składu trzeba wprowadzić tam, zanim pojawi się zamówienie.

Najczęstsze problemy integracyjne

ProblemGdzie szukać przyczyny
Zlecenie nie pojawia się w WMSRejestr błędów systemowych, potem dane zlecenia i widok ERP, z którego czyta procedura
Rozjazd kartotek po zmianie w ERPCzas ostatniej synchronizacji nocnej, z możliwością pobrania pojedynczej kartoteki
Receptura kompletu nie zgadza się ze składemData zmiany receptury w ERP względem daty zamówienia
Numery dokumentów z dwóch systemów trudno zestawićUnikalny numer referencyjny łączący dokument WMS z dokumentem ERP

Jak projektować bezpieczną integrację

  • Zdefiniuj, który system jest źródłem prawdy dla każdego pola.
  • Przewidź import pojedynczych rekordów, bo pierwsze tygodnie przynoszą wyjątki.
  • Loguj każdą wymianę razem z czasem i wynikiem, żeby serwis szybko ustalił przyczynę.
  • Testuj całą ścieżkę w trzech warstwach naraz: na ekranie kolektora, w bazie WMS i w synchronizacji zwrotnej.

Warto też ustalić okno, w którym zadania synchronizacji nie kolidują z intensywną pracą magazynu. Adresy z zamówień, ważne dla przewoźników, opisujemy w artykule o integracji WMS z kurierami. Stany początkowe z ERP wchodzą do magazynu według metody opisanej w tekście o bilansie otwarcia w WMS, a całość projektu pokazuje case study wdrożenia u producenta.

Pytania i odpowiedzi o integracji ERP z WMS

Czy WMS musi współpracować z ERP?

Nie jest to obowiązek, ale w firmie produkcyjnej zwykle się opłaca. Bez integracji te same dokumenty trzeba wprowadzać dwa razy, raz w ERP i raz w magazynie.

Jak często synchronizują się kartoteki?

W opisywanym wdrożeniu odświeża je zadanie nocne. Gdy handlowiec w ciągu dnia założy nowy towar, kartotekę można pobrać na żądanie, także pojedynczo po identyfikatorze.

Jakie metody wymiany z ERP są możliwe?

Można czytać dane zapytaniami do bazy ERP, wymieniać je przez WebAPI albo przesyłać plikiem. Gotowe integracje produktu istnieją dla SAP i WAPRO WF-MAG, a pozostałe systemy łączy się w ramach wdrożenia.

Co zrobić, gdy zlecenie nie dotrze do WMS?

Przyczynę pokazuje rejestr błędów systemowych. Serwis sprawdza potem dane zlecenia i widok ERP, z którego procedura je czyta.

Który system jest źródłem prawdy?

Dane handlowe, czyli kartoteki i zlecenia, prowadzi ERP. WMS ewidencjonuje fizyczny ruch towaru i odsyła do ERP wynik realizacji.

Słownik pojęć o integracji ERP z WMS

Terminy używane przez dział IT, gdy opisuje się wymianę danych między ERP a systemem magazynowym.

ERP
System zarządzania firmą, który prowadzi kartoteki i zamówienia. Dla WMS jest źródłem zleceń oraz danych podstawowych.
WebAPI
Interfejs udostępniany przez system, przez który inny program wysyła i odbiera dane, bez dostępu do jego bazy.
Widok bazy danych
Zapytanie zapisane w bazie jako tabela wirtualna. Procedura synchronizacji czyta z niego dane ERP.
Zadanie cykliczne
Zaplanowany proces uruchamiany w ustalonych odstępach, który importuje zlecenia i dokumenty do WMS.
Synchronizacja kartotek
Aktualizacja towarów oraz kontrahentów w WMS na podstawie ERP, nocą albo na żądanie.
Status zwrotny
Informacja o wykonaniu zlecenia wysyłana z WMS do ERP przez osobną usługę po stronie magazynu.
Rejestr błędów
Systemowy dziennik, w którym widać odrzucone rekordy wymiany i przyczynę odrzucenia.
Źródło prawdy
System, którego wartość pola jest rozstrzygająca przy rozbieżności między ERP a WMS.

Opisz nam swój system ERP

Podaj, jakie interfejsy udostępnia Twoje ERP, a przygotujemy propozycję zakresu i metody wymiany danych.