Przejdź do treści
GESEL.IO
StronyPozycjonowanieAplikacjePoradnik
Kreator↗EN←Strona główna
Strona główna/Poradnik/Integracje i automatyzacja

Artykuł filarowy

Integracja systemów w firmie: co zrobić, gdy przestaje działać

Aktualizacja: 2026-08-13·9 min czytania·Redakcja GESEL.IO

W skrócie

Integracja systemów w firmie zaczyna się od tabeli, nie od narzędzia: dla każdej encji ustal kierunek synchronizacji, częstotliwość, źródło prawdy i zachowanie przy konflikcie. Odbiorca zdarzeń musi potwierdzać odbiór, kolejkować i ponawiać. Każda integracja potrzebuje logów, alertu do człowieka i właściciela po stronie firmy, bo dostawca kiedyś zmieni API.

Na tej stronie

  1. Od czego naprawdę zaczyna się integracja systemów w firmie
  2. Macierz decyzji, którą trzeba wypełnić przed wyborem narzędzia
  3. Webhook czy odpytywanie — różnica widziana od strony odbiorcy
  4. Co zrobić, gdy system nie ma API
  5. Punkt-punkt, szyna danych czy iPaaS w firmie MŚP
  6. Kiedy no-code przestaje wystarczać
  7. Co musi mieć każda integracja, żeby dało się z nią żyć
1 źródło

Jedna encja, jeden kierunek, jedno źródło prawdy. Nadsprzedaż w e-commerce najczęściej bierze się stąd, że dwa systemy uznają się za właściciela informacji o stanie albo różnie definiują „stan dostępny”.

Integracja systemów to trwałe połączenie dwóch lub więcej programów, w którym dane przechodzą między nimi automatycznie, według ustalonych reguł, bez ręcznego przepisywania. Integracja systemów w firmie rzadko psuje się w dniu uruchomienia — psuje się trzy miesiące później, gdy dostawca zmienia API, sklep dostaje kilkaset zamówień w godzinę albo serwer po drugiej stronie przestaje odpowiadać. Oferty opisują pięć etapów wdrożenia i listę korzyści. Ten tekst jest o tym, czego w nich nie ma: co ustalić przed startem i co się dzieje, gdy druga strona milczy.

Od czego naprawdę zaczyna się integracja systemów w firmie

Zaczyna się od decyzji, który system ma rację, gdy dwa pokazują różne dane — nie od wyboru narzędzia. Źródło prawdy to jeden konkretny system, którego wartość wygrywa w razie rozbieżności; wszystkie pozostałe kopie są tylko odbiciem. Zanim padnie pytanie „Make czy n8n”, musi paść pytanie „kto jest właścicielem informacji o stanie magazynowym”.

Typowy zestaw do połączenia w polskiej firmie średniej wielkości to ERP (Comarch ERP Optima lub XL, enova365, Symfonia, Subiekt GT i nexo, Streamsoft Prestiż, Sente, Microsoft Dynamics 365 Business Central, SAP), platforma sprzedaży (Shoper, IdoSell, PrestaShop, WooCommerce, Magento, Shopify, Sky-Shop, Selly, AtomStore) oraz marketplace’y: Allegro, Amazon, eBay, Kaufland, Empik. W magazynie dochodzi WMS, który z ERP wymienia zwykle dwa komunikaty — zlecenie kompletacji w jedną stronę i potwierdzenie realizacji z powrotem, przez API albo szynę danych.

✗„Zsynchronizujemy wszystko w obie strony, żeby dane były wszędzie takie same.”
✓„Stany idą z WMS do sklepu co pięć minut, sklep ich nigdy nie zapisuje. Ceny idą z ERP. Zamówienia idą ze sklepu do ERP i nigdy w drugą stronę.”

Dwustronna synchronizacja tej samej encji jest najdroższą i najbardziej awaryjną opcją, jaką można wybrać, bo wymaga rozstrzygania konfliktów w czasie rzeczywistym. Wybieraj ją tylko tam, gdzie proces naprawdę tego wymaga.

Macierz decyzji, którą trzeba wypełnić przed wyborem narzędzia

Dla każdej encji ustal cztery rzeczy: kierunek, częstotliwość, źródło prawdy i zachowanie przy konflikcie. Bez tej tabeli integracja jest zgadywanką, a rozjechane kartoteki i nadsprzedaż są tylko kwestią czasu. Wypełnij ją w arkuszu, zanim ktokolwiek napisze pierwszą linię kodu — to również najlepszy załącznik do zapytania ofertowego i naturalna część tego, co powinien zawierać dobry brief dla software house.

Encja Kierunek Częstotliwość Źródło prawdy Przy konflikcie
Kontrahent ERP → sklep przy zmianie ERP wygrywa ERP, sklep nadpisuje swoją kopię
Kartoteka produktu sklep lub PIM → ERP przy publikacji sklep lub PIM ERP nie nadpisuje opisów i zdjęć
Stan magazynowy ERP lub WMS → sklep co kilka minut albo zdarzeniowo jeden z nich, nigdy oba sklep wyłącznie czyta, nie zapisuje
Cena ERP → sklep przy zmianie cennika ERP promocja sklepu jako osobne pole, nie nadpisanie ceny bazowej
Zamówienie sklep i marketplace → ERP zdarzeniowo, natychmiast kanał sprzedaży duplikat rozpoznawany po identyfikatorze zamówienia, nie po dacie
Status realizacji ERP lub WMS → sklep zdarzeniowo ERP lub WMS wygrywa status z późniejszym znacznikiem czasu, nie ten, który przyszedł ostatni
Dokument sprzedaży ERP → sklep i klient po wystawieniu ERP dokumentu się nie aktualizuje, tylko koryguje

Wiersz o stanie magazynowym rozjeżdża się w praktyce najczęściej, bo pod jednym słowem „stan” kryją się cztery różne liczby — jak ustawić synchronizację stanów magazynowych tak, żeby nie kończyła się nadsprzedażą, rozkłada osobny tekst.

Ostatni wiersz ma osobne konsekwencje prawne: faktury ustrukturyzowane i wpięcie własnego oprogramowania do Krajowego Systemu e-Faktur to temat na osobną rozmowę, opisany w tekście o tym, jak wygląda integracja z KSeF własnego systemu. Ten artykuł ma charakter informacyjny i nie jest poradą prawną.

Webhook czy odpytywanie — różnica widziana od strony odbiorcy

Webhook to powiadomienie, które system nadawcy wysyła sam z siebie w chwili zdarzenia na wskazany adres; odpytywanie (polling) to sytuacja odwrotna, w której to Ty co jakiś czas pytasz „czy jest coś nowego”. Z perspektywy sprzedaży webhook wygląda lepiej, bo działa natychmiast. Z perspektywy odbiorcy jest trudniejszy i to właśnie tutaj integracje w firmach psują się najczęściej.

Odbiorca webhooka musi zrobić cztery rzeczy, których nie widać w ofercie:

  • Potwierdzić odbiór, zanim cokolwiek przetworzy. Nadawca ma limit czasu na odpowiedź. Jeśli Twój system najpierw zapisze zamówienie do ERP, a dopiero potem odpowie, każde spowolnienie ERP wygląda dla nadawcy jak awaria. Poprawna kolejność: zapisz surowy komunikat, odpowiedz, przetwarzaj osobno.
  • Mieć kolejkę. Kolejka to lista komunikatów czekających na obsługę, przetwarzana po kolei niezależnie od tempa ich napływu. Bez niej nagły ruch przewraca integrację, a zdarzenia z okresu awarii przepadają.
  • Wytrzymać duplikaty. Nadawca ponawia wysyłkę, gdy nie dostanie potwierdzenia — ten sam komunikat potrafi przyjść dwa razy. Ratuje idempotencja: własność, dzięki której komunikat obsłużony dwukrotnie daje ten sam skutek co obsłużony raz. W praktyce oznacza to zapisywanie identyfikatora zdarzenia i odrzucanie powtórek.
  • Nie zakładać kolejności. Zdarzenia potrafią przyjść w innej kolejności, niż powstały. Status „wysłane” nie może cofnąć się do „w kompletacji” tylko dlatego, że starszy komunikat dotarł później. Decyduje znacznik czasu albo numer wersji rekordu, nie moment odebrania.

Odpytywanie ma jedną przewagę, o której mało kto mówi: przegapione zdarzenie nie znika, bo następny przebieg i tak zobaczy zmieniony rekord. Zgubiony webhook przepada bezpowrotnie. Dojrzałe integracje mają obie ścieżki — webhook dla szybkości i cykliczne dosynchronizowanie raz na dobę jako siatka bezpieczeństwa.

Co zrobić, gdy system nie ma API

Sprawdź to u dostawcy pisemnie, zanim uznasz, że API nie ma — bywa, że istnieje, tylko jest płatne, niereklamowane albo dostępne wyłącznie w nowszej wersji. Część starszych systemów księgowo-magazynowych na polskim rynku faktycznie nie ma publicznego, wspieranego interfejsu i wtedy zostają opcje gorsze. Warto je znać w kolejności od najlepszej — pełne porównanie tego, jak połączyć dwa systemy bez API, wraz z oceną, która droga jest długiem technicznym, opisuje osobny tekst.

  1. Oficjalne, wspierane API (REST, SOAP lub GraphQL, uwierzytelniane przez OAuth 2.0, token albo klucz API). Jedyna opcja, którą dostawca ma obowiązek utrzymać.
  2. Eksport i import plików przez SFTP z harmonogramem. JSON, XML lub CSV odkładane cyklicznie do katalogu. Rozwiązanie stare, ale przewidywalne i łatwe do audytu. Wymaga katalogu na pliki odrzucone i alertu, gdy plik nie pojawi się o czasie.
  3. Integracja przez bazę danych systemu. Działa, dopóki dostawca nie zmieni struktury tabel przy aktualizacji — a zmieni, bo nie obiecywał inaczej. To dług techniczny z odroczonym terminem płatności: nie jest objęta wsparciem i potrafi po cichu zapisać dane w sposób, którego aplikacja się nie spodziewa.
  4. Ręczny import i eksport CSV. Nie jest integracją, tylko procedurą. Akceptowalne jako rozwiązanie na kilka tygodni, nie na kilka lat.
Wzór pytania do dostawcy systemu

„Czy [nazwa systemu] udostępnia wspierane API do odczytu i zapisu kartotek kontrahentów, produktów, stanów magazynowych oraz zamówień? Proszę o link do dokumentacji, informację o sposobie uwierzytelniania (OAuth 2.0, token, klucz API), limitach liczby zapytań, dostępności środowiska testowego oraz o to, czy zmiany w API są zapowiadane z wyprzedzeniem i jak długo utrzymywane są starsze wersje.”

Ostatnie zdanie tego pytania jest najważniejsze. Odpowiedź na nie decyduje, czy integracja będzie kosztem jednorazowym, czy stałym.

Punkt-punkt, szyna danych czy iPaaS w firmie MŚP

W polskich materiałach branżowych opisuje się trzy układy i każdy ma swój moment. Połączenie punkt-punkt, czyli bezpośrednie łącze między dwoma systemami, jest najtańsze i najszybsze do uruchomienia — sensowne, gdy systemów są dwa lub trzy i nie planujesz kolejnych. Szyna danych (ESB) to centralny pośrednik, przez który przechodzi cała komunikacja; zaczyna się opłacać, gdy systemów jest kilka, a każdy nowy oznaczałby dopisywanie połączeń do wszystkich pozostałych. iPaaS (Integration Platform as a Service) to platforma integracyjna hostowana przez dostawcę chmurowego, który odpowiada za aktualizacje i dostępność, a Ty budujesz w niej przepływy — wygodna, gdy nie chcesz utrzymywać własnej infrastruktury i akceptujesz zależność od dostawcy.

W e-commerce funkcję warstwy pośredniej pełnią też gotowe integratory obecne na rynku polskim: BaseLinker, Apilo, Sellasist. Osobnym światem jest EDI, czyli ustandaryzowana wymiana dokumentów handlowych — standard EDIFACT powstał w ramach ONZ i został przyjęty przez ISO jako norma ISO 9735. Największymi użytkownikami EDI w Polsce są sieci handlowe, więc jeśli sprzedajesz do sieci, standard i format wybiera odbiorca, nie Ty.

Kiedy no-code przestaje wystarczać

Narzędzia takie jak Make, n8n, Zapier, Microsoft Power Automate, Node-RED czy Pipedream są dobrą pierwszą wersją integracji i złą wersją docelową dla procesu krytycznego. Granicę wyznacza sześć progów, a nie opinia o narzędziu:

  • Skala. Rozliczenie od operacji przestaje być tanie dokładnie wtedy, gdy proces staje się codzienny. Policz liczbę operacji miesięcznie, zanim uznasz, że koszt jest pomijalny.
  • Wrażliwość danych. Dane osobowe i handlowe przechodzą przez infrastrukturę dostawcy. Make działa wyłącznie w chmurze, n8n jest otwartoźródłowe i można je hostować u siebie albo w chmurze n8n z serwerami w Niemczech. Lokalizację i warunki przetwarzania sprawdzaj w umowie z dostawcą, nie w opisie funkcji.
  • Przewidywalność opóźnień. Jeśli proces musi zdążyć w określonym czasie, potrzebujesz gwarancji, których plan współdzielony zwykle nie daje.
  • Audyt. Pytanie „dlaczego to zamówienie nie trafiło do ERP 14 marca” musi mieć odpowiedź opartą na zapisach, a nie na pamięci.
  • Uzależnienie od dostawcy. Scenariusz zbudowany klikaniem nie przenosi się na inną platformę. Im więcej w nim logiki, tym droższe wyjście.
  • Rozmiar scenariusza. Przepływ z kilkudziesięcioma krokami i gałęziami warunkowymi jest już oprogramowaniem — tyle że bez testów, wersjonowania i przeglądu kodu, często z jedną osobą, która go rozumie.

Koszt przepisania takiego przepływu na własny serwis rządzi się tą samą logiką co wycena aplikacji mobilnej: płacisz za przypadki brzegowe i integracje, nie za liczbę ekranów. Warto też z góry przyjąć, że pierwsza wersja obejmuje jeden proces — ta sama zasada, którą stosuje się przy ustalaniu zakresu MVP aplikacji. Gdzie dokładnie przebiega granica opłacalności i ile realnie kosztuje samodzielne hostowanie narzędzia, rozkłada tekst o tym, czy wybrać Make, n8n czy własną integrację.

Co musi mieć każda integracja, żeby dało się z nią żyć

Integracja bez monitoringu nie jest gotowa, nawet jeśli działa. Poniższa lista to minimum, którego warto wymagać w umowie, niezależnie od tego, czy prace prowadzi zespół wewnętrzny, czy zewnętrzny.

  • Logi z treścią komunikatu. Nie „błąd zapisu”, tylko co przyszło, co wysłano i jaką odpowiedź zwrócił drugi system.
  • Monitoring ciszy. Alarmuje nie tylko błąd, ale też brak zdarzeń — sklep, który od czterech godzin nie przysłał żadnego zamówienia w środku dnia roboczego, jest sygnałem sam w sobie.
  • Alert do człowieka. Konkretna osoba, konkretny kanał, konkretny próg czasu. Powiadomienie na skrzynkę, której nikt nie czyta, to brak alertu.
  • Kolejka nieudanych komunikatów. Osobne miejsce, w którym lądują zdarzenia odrzucone przez drugą stronę, wraz z powodem odrzucenia.
  • Procedura ponowienia. Ktoś nietechniczny musi umieć wskazać komunikaty z ostatnich dwóch godzin i wysłać je ponownie, bez grzebania w bazie danych.
  • Właściciel po stronie firmy. Jedna osoba, która wie, co się z czym synchronizuje, i ma kontakt do dostawców obu systemów. Bez tego pierwsza awaria zamienia się w ustalanie, kto powinien zadzwonić.
  • Plan na zmianę API. Zapisz, gdzie dostawca ogłasza zmiany, kto to śledzi i ile czasu ma zespół na reakcję. To pytanie z wzoru powyżej, tylko przeniesione do umowy.

Ta warstwa jest tym, co odróżnia integrację od jednorazowego skryptu, i tym, czego najczęściej brakuje w wycenach — podobnie jak stała opieka nad wydajnością bywa pomijana przy stronach, gdzie mierzy się ją wskaźnikami Core Web Vitals. Jeśli planujesz szerszy projekt, w którym integracja jest jednym z elementów obok aplikacji, warto przejść ją tą samą ścieżką co tworzenie aplikacji mobilnej: najpierw zakres i decyzje, potem narzędzia. Najprostszy sposób, żeby to uporządkować, to opisać sytuację w kreatorze briefu — sześć kroków wystarczy, żeby wyszło, które połączenie jest pilne, a które może poczekać.

W tym klastrze

  • Integracja z KSeF własnego systemu sprzedażowego: co zaplanować w projekcie

    Integracja z KSeF własnego systemu sprzedażowego krok po kroku: od kiedy obowiązek wystawiania i odbioru, tryb offline24, wybór drogi wdrożenia i co zaplanować w projekcie.

  • Jak połączyć dwa systemy bez API: pięć dróg od najlepszej do najgorszej

    Jak połączyć dwa systemy bez API: pięć dróg od wspieranego interfejsu po odczyt z panelu, z uczciwą oceną, która jest długiem technicznym i kiedy.

  • Make czy n8n, a może własna integracja: pięć progów przełączenia

    Make czy n8n, czy jednak własna integracja? Pięć progów, po których przekroczeniu scenariusz no-code przestaje się opłacać, i realny koszt self-hostingu.

  • Synchronizacja stanów magazynowych: cztery stany i jedno źródło prawdy

    Synchronizacja stanów magazynowych bez nadsprzedaży: cztery różne definicje stanu, wybór źródła prawdy, webhook czy odpytywanie cykliczne i co robić przy konflikcie.

Baza wiedzy

Nie wiesz, które systemy połączyć najpierw?

Opisz w kreatorze briefu, co masz w firmie i co się rozjeżdża — wrócimy z propozycją zakresu integracji i kolejności wdrożenia.

Otwórz kreator briefu↗

Checklista

  • ✓

    Wypisz encje do synchronizacji: kontrahent, produkt, stan, cena, zamówienie, status realizacji, dokument.

  • ✓

    Dla każdej encji wskaż jeden system jako źródło prawdy i zapisz to na piśmie przed startem prac.

  • ✓

    Ustal kierunek synchronizacji osobno dla każdej encji — dwustronny tylko tam, gdzie naprawdę musi być.

  • ✓

    Zapytaj dostawcę każdego systemu o wspierane API, uwierzytelnianie, limity zapytań i środowisko testowe.

  • ✓

    Wymagaj kolejki nieudanych komunikatów i procedury ich ponowienia bez ręcznego grzebania w bazie.

  • ✓

    Ustaw alert do konkretnej osoby, a nie tylko wpis w logu, gdy integracja milczy dłużej niż zakładany próg.

  • ✓

    Wskaż właściciela integracji po stronie firmy i osobę kontaktową u dostawcy każdego systemu.

  • ✓

    Zaplanuj cykliczne dosynchronizowanie danych jako siatkę bezpieczeństwa dla zgubionych zdarzeń.

Najczęstsze pytania

Czym różni się webhook od API i kiedy używać którego
API to interfejs, przez który jeden program pyta drugi o dane albo je zapisuje — inicjatywa jest po stronie pytającego. Webhook to powiadomienie, które system nadawcy wysyła sam z siebie w momencie zdarzenia, na wskazany adres odbiorcy. Webhooka używa się tam, gdzie liczy się czas reakcji, na przykład przy nowym zamówieniu. API odpytywane cyklicznie sprawdza się jako uzupełnienie: jeśli któreś powiadomienie przepadnie, kolejny przebieg i tak pobierze brakujące dane.
Jak połączyć sklep z programem magazynowym, który nie ma API
Najpierw sprawdź u dostawcy, czy istnieje wspierany interfejs — bywa, że jest, tylko płatny albo nieopisany publicznie. Jeśli nie ma, kolejną opcją jest cykliczny eksport i import plików CSV lub XML przez serwer SFTP, z harmonogramem i katalogiem na pliki odrzucone. Integracja przez bezpośrednie zapisywanie do bazy danych programu bywa łamana przy każdej aktualizacji dostawcy i nie jest objęta wsparciem, więc traktuj ją jako rozwiązanie tymczasowe.
Dlaczego stany magazynowe w sklepie i w ERP się rozjeżdżają
Najczęściej dlatego, że oba systemy uznają się za właściciela informacji o dostępności, albo dlatego, że każdy liczy inny stan: fizyczny, pomniejszony o rezerwacje lub sprzedażowy z buforem. Rozjazd wzmacnia opóźnienie synchronizacji — sprzedaż w kanale, który nie zdążył dostać aktualizacji, kończy się nadsprzedażą. Lekarstwem jest jeden system jako źródło prawdy o stanie, jednokierunkowy zapis do pozostałych i wspólna definicja tego, co znaczy „dostępny”.
Kiedy zamówić integrację na zamówienie zamiast gotowego konektora
Gotowy konektor wygrywa, gdy łączysz popularną parę systemów w standardowy sposób i akceptujesz jego model danych. Integracja na zamówienie ma sens, gdy Twoje procesy odbiegają od schematu dostawcy, gdy potrzebujesz kontroli nad kolejnością i ponowieniami, gdy dane są wrażliwe albo gdy konektor nie obsługuje encji, na której najbardziej Ci zależy. Częsty układ pośredni to gotowy konektor dla prostych przepływów i własny kod dla jednego lub dwóch krytycznych.
Co się dzieje z zamówieniami, gdy integracja przestanie działać na kilka godzin
To zależy wyłącznie od tego, co zaprojektowano wcześniej. W poprawnie zbudowanej integracji zdarzenia trafiają do kolejki i czekają, nieudane komunikaty lądują w osobnym miejscu, a po przywróceniu łączności są ponawiane w kolejności. W integracji zbudowanej bez kolejki zdarzenia z okresu awarii po prostu przepadają i trzeba je odtworzyć ręcznie z panelu sklepu. Dlatego kolejka i procedura ponowienia są ważniejsze niż liczba obsługiwanych pól.
Czy automatyzacja no-code wytrzyma kilkadziesiąt tysięcy operacji miesięcznie
Technicznie zwykle tak, ale to nie jest właściwe pytanie. Przy tej skali decydują koszt rozliczany od operacji, przewidywalność opóźnień, możliwość odtworzenia historii zdarzeń i to, czy ktokolwiek poza autorem rozumie scenariusz. Gdy scenariusz ma kilkadziesiąt kroków i gałęzi, jest już oprogramowaniem — tyle że bez testów, wersjonowania i przeglądu kodu. To zwykle moment na przeniesienie logiki do własnego serwisu.

Źródła i metodologia

Linki prowadzą do źródeł pierwotnych oraz zasad, według których przygotowujemy i aktualizujemy materiały.

  • OWASP — API Security Top 10↗dostęp: 2026-08-14
  • Zasady redakcyjne GESEL.IO↗

Czytaj także

  • Integracja z KSeF własnego systemu sprzedażowego: co zaplanować w projekcie

    Integracja z KSeF własnego systemu sprzedażowego krok po kroku: od kiedy obowiązek wystawiania i odbioru, tryb offline24, wybór drogi wdrożenia i co zaplanować w projekcie.

  • Core Web Vitals: LCP, INP i CLS — jak je zmierzyć i poprawić

    Core Web Vitals to LCP, INP i CLS. Sprawdź progi, różnicę między danymi polowymi a laboratoryjnymi i ścieżkę diagnostyczną dla każdej z trzech metryk.

  • Jak stworzyć aplikację mobilną: proces krok po kroku dla zamawiającego

    Jak stworzyć aplikację mobilną krok po kroku: co dostarczasz na wejściu każdego etapu, kto decyduje, jaki artefakt wychodzi i co dzieje się po publikacji w sklepach.

GESEL.IO
Strony internetowePozycjonowanieAplikacjeStrona dla nowej firmyPoradnik
Zasady redakcyjnePolityka prywatnościRegulamin serwisuWsparcie

GESEL.IO sp. z o.o., ul. Jagiellońska 5/22, 58-100 Świdnica, Polska

Sąd Rejonowy dla Wrocławia-Fabrycznej we Wrocławiu, IX Wydział Gospodarczy KRS, KRS 0001258062, NIP 8842841661, REGON 545371616, kapitał zakładowy: 5 000,00 zł.

© 2026 GESEL.IO sp. z o.o.