Integracja aplikacji z systemem ERP – automatyzacja wymiany danych

Dlaczego integracja z systemem ERP jest niezbędna w organizacji?
Łatwo możemy wyobrazić sobie firmę, w której mamy wdrożony systemem ERP, kontrolujący wszystkie procesy w przedsiębiorstwie: zarządzający finansami, kadrami, zamówieniami czy obsługujący obieg faktur. Często zdarza się, że firma ma potrzebę wdrożenia dodatkowego oprogramowania. Może być to na przykład system magazynowy, jakiś sklep B2B czy zupełnie inne rozwiązanie, chociażby aplikacja do śledzenia paczek doręczanych przez kierowców. Skoro sercem firmy jest system ERP, oczekujemy, że znajdą się w nim wszystkie dane. System magazynowy będzie bezużyteczny bez informacji o zamówieniach, podobnie jak ERP bez aktualizacji z operacji na magazynie. Ręczne przepisywanie danych – strata czasu (oraz pieniędzy) i znaczne ryzyko popełnienia jakiegoś błędu. Sklep B2B – nie wyobrażam sobie, aby duża platforma mogła stać samodzielnie, bez automatycznej aktualizacji stanów magazynowych czy eksportu zamówień ze sklepu do głównego systemu.


Na ratunek przychodzą różne opcje integracji z systemami ERP. Obecnie praktycznie wszyscy producenci takich systemów umożliwiają zintegrowanie z zewnętrznym oprogramowaniem. Technologie oraz możliwości tych integracji mogą bardzo różnić się pomiędzy sobą. Inne są też ich koszty. Nie zawsze producent danego systemu daje możliwość zintegrowania w cenie produktu, zdarza się, że musimy wykupić jakiś dodatkowy moduł.


W naszej codziennej pracy wykonaliśmy u naszych klientów dziesiątki integracji do różnych systemów. Tak jak wspomniałem wcześniej – różne systemy wykorzystują różne technologie, chociaż widać powolny trend w kierunku tworzenia WEB API w tych systemach. Takie rozwiązanie posiada między innymi Streamsoft Prestiż, SAP BUSINESS ONE, GRAFFITI ERP czy Enova365. Z kolei Asseco w systemach Wapro udostępnia oraz dokumentuje procedury bazodanowe SQL, za pomocą których możemy generować dokumenty w systemie. Istnieje jeszcze rozwiązanie integracji za pomocą dostarczonych bibliotek DLL. Na takie rozwiązanie zdecydował się Comarch w Optimie i Insert w produkcie Subiekt. Które z nich jest najlepsze? Na to pytanie właściwie nie ma odpowiedzi. Nam w firmie najwygodniej używa się webowych systemów API, jednak wiele zależy od tego, jaką funkcjonalnością integracji dysponuje dany system ERP.


Co możemy osiągnąć poprzez taką integrację?
Przede wszystkich automatyczną wymianę danych pomiędzy różnymi systemami. Daje nam to również możliwość stworzenia na potrzeby przedsiębiorstwa aplikacji zasilanych istniejącymi danymi w czasie rzeczywistym. W najprostszych rozwiązaniach możemy pobierać kartotekę klientów czy listę towarów wraz ze stanami magazynowymi. Możemy również automatyzować procesy poprzez automatyczne wystawianie różnych dokumentów w systemie ERP, na przykład zamówień, faktur czy dokumentów magazynowych. Dzięki temu nasz WMS czy system produkcyjny, na podstawie zdarzeń w systemie, wystawi komplet dokumentów magazynowych. Daje nam to ogromną oszczędność czasu, podgląd stanu firmy w czasie rzeczywistym, niezawodność i brak błędów.


Czy integracja działa zawsze w trybie rzeczywistym?
Wszystko zależy od specyficznych warunków i potrzeb organizacji. W naszej historii tworzyliśmy systemy, które wymieniają dane w czasie rzeczywistym i chyba takich jest najwięcej. Jest to wygodne rozwiązanie, ale ma też swoje wady. Po pierwsze musi mieć stałe połączenie z siecią (co w mobilnej aplikacji handlowca może być to nieosiągalne), po drugie skomplikowane operacje trwają dość długo.

Przykład?
Zamykamy jakieś zlecenie produkcyjne i musimy w czasie rzeczywistym wystawić 10 dokumentów magazynowych. Nawet jeśli jeden dokument w naszym ERP wystawia się 5 sekund, to cała operacja trwa już blisko minutę. Taki czas oczekiwania może być uciążliwy dla użytkowników.


Na szczęście są również inne rozwiązania. W naszej aplikacji możemy stworzyć kolejkę żądań i takie dokumenty wystawiać w tle. Musimy tylko mieć wtedy pewność, że wystawią się one prawidłowo (np. nie zabraknie surowca na magazynie).


Najcięższą integracją, jaką musieliśmy przeprowadzić, była konieczność wystawienia faktury sprzedaży w trybie offline (bez dostępu do sieci). Nie brzmi to skomplikowanie, ale takie jest. Będący u klienta handlowiec wystawia dokument sprzedaży i drukuje go z urządzenia mobilnego. Następnie ta faktura musi pojawić się w systemie ERP, z takim samym numerem oraz z takimi samymi kwotami (tutaj wchodzą w grę zaokrąglenia przy wyliczaniu poszczególnych wartości). Co jeżeli jedna faktura nie wystawi się w systemie, a handlowiec wystawił kolejne 5 u klientów? Na szczęście również na takie przypadki opracowaliśmy rozwiązania. Prawdą jest tutaj powiedzenie, że osiągnąć można praktycznie wszystko – wszystko jest kwestią czasu.


Jeżeli w firmie działa jakiś system klasy ERP, a my planujemy wdrożyć dodatkowe oprogramowanie, nie ominie nas temat integracji. Warto wtedy już na początku dowiedzieć się u producenta systemu, jakie mamy możliwości integracji oraz czy dodatkowy moduł jest w cenie systemu, czy trzeba go dodatkowo wykupić. Mając taką wiedzę, możemy planować wdrażanie nowych rozwiązań, które usprawnią funkcjonowanie naszej firmy, a dane będą przenoszone w sposób pełni automatyczny.

LinkedIn

O autorze

Kuba Kwiatkowski
CTO - Czuwa nad tym aby w projektach była wykorzystywana optymalna technologia.