Integracja ERP z portalem B2B — jak to działa w praktyce
Dlaczego integracja z ERP decyduje o sukcesie portalu B2B
Portal B2B bez integracji z ERP to ładny formularz zamówień. Nic więcej. Twój zespół dalej przepisuje zamówienia ręcznie, ręcznie sprawdza stany magazynowe i pilnuje dwóch osobnych baz produktów. Zamiast oszczędzać czas — podwajasz robotę.
Integracja ERP z portalem B2B zmienia zamawianie online z „kolejnego obowiązku" w coś, co faktycznie odciąża ludzi. Dane płyną automatycznie w obie strony: produkty i stany z ERP do portalu, zamówienia z portalu do ERP. Nikt niczego nie przepisuje.
W tym artykule opisuję, jak to działa od strony technicznej — jakie są podejścia, co musi się synchronizować, ile to trwa i gdzie najczęściej się wykłada.
Trzy podejścia do integracji
1. Integracja przez API (zalecana)
ERP udostępnia API (Application Programming Interface) — uporządkowany sposób, żeby zewnętrzne systemy mogły odczytywać i zapisywać dane. Portal B2B odpytuje API o produkty, ceny i stany magazynowe, a zamówienia odsyła tą samą drogą.
Jak to wygląda technicznie: Co 5–15 minut portal wysyła zapytanie HTTP do endpointu ERP, np. GET /api/products?modified_since=2026-04-14T10:00:00. ERP zwraca produkty zmienione od ostatniego zapytania. Przy zamówieniu — POST /api/orders z danymi, a ERP automatycznie tworzy dokument sprzedaży.
Najlepsze dla: ERP-ów z REST lub SOAP API — enova365, SAP Business One, Microsoft Dynamics, Comarch ERP XL.
Czas wdrożenia: 3–5 dni.
Zalety: Dane bliskie real-time, dwukierunkowe, łatwe do monitorowania.
Wady: Twój ERP musi mieć działające API. Nie każdy je ma.
2. Synchronizacja plikowa
ERP eksportuje dane jako pliki (CSV, XML, JSON) na serwer FTP, do folderu sieciowego albo do chmury. Portal pobiera je cyklicznie, przetwarza i odkłada pliki z zamówieniami — ERP je importuje.
Jak to wygląda technicznie: Co 30 minut ERP generuje plik products_20260414_1030.csv z aktualnym katalogiem i wrzuca go na FTP. Portal porównuje z poprzednią wersją, aktualizuje zmienione rekordy. W drugą stronę: portal tworzy orders_20260414_1045.xml z nowymi zamówieniami, ERP go wciąga.
Najlepsze dla: Starszych ERP-ów bez API albo systemów z ograniczonym dostępem do API — Subiekt GT, część konfiguracji Optimy.
Czas wdrożenia: 7–10 dni.
Zalety: Działa z praktycznie każdym ERP-em, po stronie ERP prawie nic nie trzeba konfigurować.
Wady: Brak danych w czasie rzeczywistym (typowy interwał: 15–60 minut), więcej punktów awarii, trudniej szukać błędów.
3. Bezpośrednie połączenie z bazą danych
Portal czyta wprost z bazy danych ERP i wpisuje zamówienia do wyznaczonych tabel. Technicznie — najszybsze podejście. Praktycznie — najniebezpieczniejsze. Bug w portalu może uszkodzić dane w ERP.
Najlepsze dla: Prawie nigdy. Rozważane tylko wtedy, gdy nie ma żadnej innej opcji i wszyscy rozumieją ryzyko.
Czas wdrożenia: 5–7 dni (plus dodatkowy czas na testy bezpieczeństwa).
Jakie dane przepływają między systemami
Zanim zaplanujesz integrację, musisz wiedzieć, co dokładnie musi się synchronizować. Poniżej pełna mapa:
| Dane | Kierunek | Częstotliwość | Uwagi |
|---|---|---|---|
| Produkty (nazwa, SKU, opis, jednostki) | ERP → Portal | Raz dziennie lub przy zmianie | Pełna synchronizacja katalogu |
| Ceny (per klient/grupa) | ERP → Portal | Co 15–60 min | Muszą odzwierciedlać aktualne cenniki |
| Stany magazynowe | ERP → Portal | Co 5–15 min | Krytyczne dla dokładności zamówień |
| Zdjęcia produktów | Ręcznie lub ERP → Portal | Przy zmianie | Często zarządzane osobno |
| Zamówienia | Portal → ERP | W czasie rzeczywistym | Każde zamówienie staje się dokumentem sprzedaży |
| Status zamówienia | ERP → Portal | Co 15–60 min | Potwierdzone, wysłane, zafakturowane |
| Faktury (PDF) | ERP → Portal | Przy wygenerowaniu | Klienci pobierają z portalu |
| Dane klientów | ERP → Portal | Raz dziennie | Nowe konta, zaktualizowane warunki |
| Limity kredytowe | ERP → Portal | Raz dziennie | Portal blokuje zamówienie ponad limit |
| Grupy rabatowe | ERP → Portal | Przy zmianie | Mapowanie rabatów i progów |
Gdzie czai się diabeł
Ceny — to najczulszy punkt integracji. Polska hurtownia zazwyczaj ma kilka warstw cenowych naraz:
- Cena bazowa z cennika głównego
- Rabat procentowy dla grupy klienta (np. -15% dla grupy A)
- Rabat indywidualny na konkretny produkt (np. -5% na produkt X dla klienta Y)
- Próg ilościowy (powyżej 100 szt. dodatkowe -3%)
- Promocje okresowe
Portal musi to odwzorować dokładnie tak samo jak ERP. Każda rozbieżność to reklamacja i nadszarpnięte zaufanie.
Stany magazynowe — drugi punkt zapalny. Portal pokazuje 50 kartonów, w magazynie zostało 5. Klient zamawia, potem dostaje anulację. Raz mu się to zdarzy — drugi raz zamówi u konkurencji. Synchronizacja stanów co 5–15 minut to minimum. Przy szybko rotujących produktach — częściej.
Polskie systemy ERP i realia integracji
Subiekt GT (InsERT)
Najpopularniejszy ERP wśród małych i średnich firm w Polsce. Subiekt GT nie ma natywnego REST API, ale da się z nim pracować:
- Sfera — SDK od InsERT do integracji zewnętrznych. Pozwala programowo czytać i zapisywać dane. Wymaga maszyny Windows z uruchomioną usługą Sfera. Stabilna, ale potrzebuje osobnej licencji i konfiguracji po stronie serwera.
- Bezpośredni dostęp do bazy — Subiekt siedzi na Firebirdzie. Czytanie danych jest proste, ale zapis powinien iść przez Sferę — inaczej ominiesz triggery, walidacje i numerację.
- Eksport plikowy — produkty, cenniki i raporty stanów do CSV.
Typowe podejście: Sfera do zapisu zamówień, odczyt z bazy + eksport plikowy dla produktów, cen i stanów.
Czas integracji: 5–7 dni.
Pułapka: Sfera wymaga otwartego portu na serwerze Subiekta. Firewall i VPN potrafią skutecznie zablokować połączenie z portalem w chmurze. Zaplanuj to z IT zanim zaczniesz.
Comarch Optima
Optima oferuje API przez platformę integracyjną Comarch, ale jakość i dostępność tego API zależą od modułu i wersji. Bywa różnie.
- Optima API — w nowszych wersjach pokrywa produkty, kontrahentów i dokumenty
- Wymiana plikowa — import/eksport XML dla większości typów dokumentów
- Bezpośredni SQL — Optima działa na MS SQL Server, odczyt jest prosty
Typowe podejście: API tam gdzie działa, wymiana plikowa jako plan B.
Czas integracji: 5–8 dni.
Pułapka: Wersje Optimy naprawdę się między sobą różnią pod kątem API. Sprawdź swoją konkretną wersję zanim cokolwiek zaplanujesz.
enova365
Zdecydowanie najprzyjemniejszy w integracji polski ERP. enova365 ma porządne REST API z dokumentacją — produkty, ceny, stany, zamówienia, faktury, kontrahenci. Większość integracji z enova365 to czyste API, bez obejść.
Czas integracji: 3–5 dni.
Pułapka: API wymaga osobnej licencji na moduł API. Sprawdź, czy masz ją w pakiecie, zanim zaczniesz.
SAP Business One
SAP B1 daje Service Layer (REST API) i DI API. Dokumentacja jest dobra. Technicznie integracja jest prosta, ale model danych SAP to labirynt — mapowanie pól zajmuje więcej czasu niż samo programowanie.
Czas integracji: 5–7 dni.
Co może pójść nie tak (i jak tego uniknąć)
Z moich wdrożeń — sześć problemów, które wracają jak bumerang:
1. Rozbieżności cenowe
Problem: Portal pokazuje 42 zł, faktura przychodzi na 45 zł. Klient dzwoni zdenerwowany.
Przyczyna: Opóźnienie synchronizacji albo inne reguły zaokrąglania w portalu i ERP.
Co zrobić: Synchronizuj ceny co 15 minut minimum. Przy finalizacji zamówienia waliduj cenę ponownie wobec ERP. Jeśli się różni — pokaż klientowi aktualną cenę zanim kliknie „zamów".
2. Sprzedaż ponad stan (overselling)
Problem: Dwóch klientów jednocześnie zamawia ostatnie 10 sztuk. Obaj dostają potwierdzenie.
Przyczyna: Portal nie rezerwuje towaru przy dodaniu do koszyka.
Co zrobić: Rezerwuj towar w momencie złożenia zamówienia, nie potwierdzenia. Pokazuj 95% faktycznego stanu — bufor na wypadek opóźnienia synchronizacji. Dla produktów z dużą rotacją synchronizuj stany co 5 minut.
3. Rozbieżność kodów produktowych
Problem: ERP używa jednego formatu SKU, portal drugiego. Zamówienia się nie importują, bo ERP nie rozpoznaje produktu.
Co zrobić: Kod produktu z ERP to jedyne źródło prawdy. Nie twórz równoległego systemu kodowania — to prosta droga do chaosu.
4. Awarie synchronizacji, o których nikt nie wie
Problem: Eksport plikowy się wysypał w piątek. W poniedziałek klienci zamawiają na podstawie stanów sprzed trzech dni.
Co zrobić: Monitoring z alertami. Jeśli synchronizacja nie wykonała się w oczekiwanym interwale — powiadomienie na email, SMS albo Slack. Bez tego lecisz na ślepo.
5. Problemy z kodowaniem znaków
Problem: Polskie znaki (ą, ę, ś, ź, ó, ł) zamieniają się w krzaczki po transferze plikowym.
Co zrobić: UTF-8 wszędzie — bez wyjątków. Przetestuj z polskimi nazwami produktów przed uruchomieniem. Brzmi banalnie, ale potrafi zablokować import tysięcy pozycji.
6. Konflikty numeracji dokumentów
Problem: Portal nadaje zamówieniom numery, które kolidują z numeracją w ERP.
Co zrobić: Prosta zasada — portal nigdy nie nadaje numeru dokumentu ERP. Portal ma swój wewnętrzny numer zamówienia. ERP przy imporcie nadaje właściwy numer w swojej sekwencji.
Checklist przed startem integracji
Przygotuj te rzeczy zanim zaczniesz — zaoszczędzisz sobie 2–3 dni opóźnień:
- Wersja ERP i licencja — dokładna wersja (np. Subiekt GT 1.09, Optima 2025.1) i informacja, czy masz licencję na moduł API/Sfera
- Dostęp do serwera ERP — adres IP, port, dane logowania do bazy lub API
- Eksport listy produktów — plik CSV/XML ze wszystkimi aktywnymi produktami (SKU, nazwa, jednostka, cena bazowa)
- Struktura cenników — ile grup cenowych, jak działają rabaty, czy są progi ilościowe
- Przykładowy obieg zamówienia — od przyjęcia do faktury, krok po kroku
- Osoba kontaktowa po stronie ERP — ktoś, kto zna system od strony technicznej i odpowie na pytania w ciągu 24h
Brak któregokolwiek punktu oznacza opóźnienie. Najczęstszy bloker? Dostęp do serwera ERP. IT musi otworzyć port, skonfigurować VPN albo whitelistować IP portalu. To potrafi zająć tydzień, jeśli zaczniesz się tym zajmować dopiero w dniu startu integracji.
Podsumowanie: integracja to nie projekt IT, to projekt biznesowy
Integracja ERP z portalem B2B to nie zadanie do oddelegowania do IT. To decyzja biznesowa. Ważniejsze od pytania „jaki mam ERP?" jest „jak wyglądają moje cenniki, stany i obieg dokumentów?".
Dobrze zaplanowana integracja zajmuje 3–10 dni i potem działa miesiącami bez interwencji. Źle zaplanowana ciągnie się tygodniami i generuje problemy, które podkopują zaufanie klientów do całego portalu.
Nie masz pewności, jak wygląda Twoja sytuacja? Porozmawiajmy. Ocenię Twój ERP i powiem uczciwie, ile to zajmie i ile będzie kosztować. Porównaj też opcje wdrożenia na stronie porównania platform B2B.
Porozmawiajmy o Twoim projekcie
Bezpłatna 30-minutowa konsultacja. Sprawdzimy, czy i jak mogę pomóc.



