1. Strona główna
  2. Aktualności
  3. Integracje API
Integracje API

KSeF a system B2B i ERP – co zmienić w integracjach po wejściu obowiązkowych e-faktur

KSeF integracja z ERP i portalem B2B: kto wysyła e-faktury, jak pokazać numer KSeF i QR klientom, pobierać faktury zakupowe i obsłużyć tryby awaryjne.

KSeF a system B2B i ERP – co zmienić w integracjach po wejściu obowiązkowych e-faktur

Po wejściu obowiązkowego KSeF faktura sprzedażowa powstaje prawnie dopiero w Krajowym Systemie e-Faktur, więc każda integracja, która dotąd „wypychała PDF” z ERP do portalu B2B, wymaga przebudowy. W praktyce trzeba ustalić, który system wysyła fakturę do KSeF, jak numer KSeF trafia do portalu i dokumentów, jak pobierać faktury zakupowe oraz co robić, gdy KSeF lub Twoja sieć nie działa. Poniżej opisujemy te zmiany z perspektywy firmy, która ma ERP, portal B2B i kilka usług pomiędzy nimi.

Harmonogram w skrócie

Terminy, od których zależy kolejność prac w integracjach:

  1. 1 lutego 2026 – obowiązek wystawiania e-faktur w KSeF dla podatników, których wartość sprzedaży (z VAT) w 2024 roku przekroczyła 200 mln zł. Od tego dnia wszyscy podatnicy odbierają faktury przez KSeF.
  2. 1 kwietnia 2026 – obowiązek wystawiania dla pozostałych podatników VAT.
  3. 1 stycznia 2027 – obowiązek dla najmniejszych firm, u których sprzedaż dokumentowana fakturami nie przekracza 10 tys. zł miesięcznie.
  4. 1 stycznia 2027 – początek stosowania sankcji za naruszenia związane z KSeF.

Przepisy wokół KSeF zmieniały się kilka razy, dlatego szczegóły (progi, wyjątki, zakres kar) warto potwierdzić u doradcy podatkowego i w aktualnych materiałach Ministerstwa Finansów na stronie ksef.podatki.gov.pl. Ten tekst dotyczy architektury systemów, a nie interpretacji podatkowej.

Co zmienia się w przepływie danych

Przed KSeF typowy łańcuch wyglądał tak: ERP wystawia fakturę, generuje PDF, a portal B2B pobiera plik i pokazuje go klientowi. Faktura istniała w momencie wystawienia w ERP. Teraz dochodzi zewnętrzny system, który przyjmuje ustrukturyzowany plik XML, waliduje go i nadaje mu numer KSeF. Dopiero wtedy dokument ma status faktury przekazanej odbiorcy.

To oznacza trzy rzeczy dla architektury. Po pierwsze, wystawienie faktury staje się operacją asynchroniczną: wysyłasz dokument, czekasz na przetworzenie i odbierasz status. Po drugie, pojawia się nowy identyfikator – numer KSeF – który musi być przechowywany obok numeru wewnętrznego z ERP. Po trzecie, źródłem prawdy o fakturze jest plik XML w KSeF, a PDF w portalu jest już tylko jego wizualizacją.

Jeśli integracje w Twojej firmie budowano latami „na styk”, to dobry moment, żeby uporządkować warstwę pośrednią. Na stronie o integracjach API w Laravel dla ERP i systemów B2B opisujemy, jak projektujemy takie usługi: kolejki, ponowienia, logi i monitoring.

Kto wysyła fakturę: ERP czy osobna usługa

To pierwsza decyzja, którą warto podjąć świadomie, bo od niej zależy reszta projektu.

  • Wysyłka z ERP: większość producentów systemów ERP i programów księgowych przygotowała własne moduły KSeF. Zaletą jest jedno miejsce odpowiedzialności i wsparcie producenta. Wadą – ograniczona kontrola nad tym, kiedy i jak status wraca do innych systemów, oraz zależność od harmonogramu aktualizacji producenta.
  • Osobna usługa integracyjna: ERP przekazuje dane faktury do własnego komponentu, który buduje XML, wysyła go przez KSeF API, pilnuje statusów i rozsyła wynik do ERP, portalu B2B i hurtowni danych. Zaletą jest pełna kontrola i jedno miejsce do monitoringu. Wadą – kolejny system do utrzymania i konieczność śledzenia zmian w schemie i API.
  • Model mieszany: ERP wysyła fakturę swoim modułem, a osobna usługa tylko odczytuje wynik (numer KSeF, status, UPO) i dystrybuuje go dalej. Często to najrozsądniejszy kompromis.

Nie polecamy budowania własnej wysyłki, jeśli ERP ma dojrzały, aktualizowany moduł KSeF, a faktury powstają w jednym miejscu. Osobna usługa ma sens, gdy faktury wystawia kilka systemów (np. ERP, system serwisowy i platforma subskrypcyjna) albo gdy moduł ERP nie udostępnia statusów w sposób, który da się zintegrować.

Portal B2B po wejściu KSeF: lista zmian

Portal klienta to miejsce, w którym zmiany widać najbardziej. Oto, co zwykle trzeba przebudować:

  • Numer KSeF przy każdej fakturze. Portal powinien pokazywać numer wewnętrzny i numer KSeF, a wyszukiwarka dokumentów obsługiwać oba. Klienci będą o niego pytać, bo to on identyfikuje fakturę w ich systemach księgowych.
  • Status dokumentu. Między wystawieniem w ERP a nadaniem numeru KSeF mija czas. Portal powinien odróżniać „wystawiona, w trakcie przesyłania” od „przyjęta w KSeF”, zamiast pokazywać dokument, którego formalnie jeszcze nie ma.
  • Wizualizacja z kodem QR. Faktura udostępniana poza KSeF (PDF w portalu, wydruk) powinna zawierać kod QR, który pozwala zweryfikować dokument w KSeF. Faktury wystawione w trybie offline wymagają dodatkowego kodu weryfikującego wystawcę. Format i zasady generowania kodów określa dokumentacja Ministerstwa Finansów.
  • Pobieranie XML. Klienci z własnym ERP coraz częściej wolą pobrać plik źródłowy niż PDF. Udostępnienie XML w portalu to prosta funkcja, która oszczędza pracę po ich stronie.
  • Korekty i powiązania. Faktura korygująca odwołuje się do numeru KSeF faktury pierwotnej. Portal musi te powiązania pokazywać, a integracja – poprawnie je przenosić.
  • Rozrachunki. Jeśli portal pokazuje saldo i płatności, dopasowanie wpłat do faktur warto oprzeć także na numerze KSeF, a nie wyłącznie na numerze wewnętrznym.

Więcej o tym, co powinien zawierać portal i jak łączyć go z ERP, piszemy na stronie o integracji systemu B2B z ERP oraz w artykule o najczęstszych pułapkach integracji ERP z platformą B2B.

Faktury zakupowe: nowe źródło danych

KSeF zmienia też drugą stronę – odbiór faktur. Wszystkie faktury od polskich dostawców trafiają do KSeF, więc zamiast skrzynki mailowej i skanów masz jedno źródło, z którego można je pobierać automatycznie przez API.

Rozsądny proces wygląda tak: usługa integracyjna cyklicznie pobiera nowe faktury zakupowe, zapisuje XML w archiwum, rozpoznaje dostawcę po NIP i przekazuje dokument do obiegu akceptacji albo bezpośrednio do ERP. W firmach, które zamawiają przez własny portal zakupowy lub moduł zaopatrzenia, można iść krok dalej i dopasowywać fakturę do zamówienia zakupowego po pozycjach i ilościach.

Pamiętaj o dwóch rzeczach. Uprawnienia do pobierania faktur w KSeF nadaje się konkretnym osobom lub podmiotom, więc usługa integracyjna potrzebuje własnego, kontrolowanego dostępu (np. tokenu lub certyfikatu) z jasno określonym właścicielem. Oraz: fakt, że faktura jest w KSeF, nie oznacza, że jest poprawna merytorycznie – akceptacja kosztu nadal jest procesem biznesowym.

Tryby awaryjne i monitoring statusów

Najwięcej problemów w projektach KSeF nie dotyczy „szczęśliwej ścieżki”, tylko sytuacji, gdy coś nie działa. Przepisy przewidują kilka trybów pracy poza normalnym przesyłaniem, m.in. tryb offline24 (faktura wystawiona lokalnie i przesłana do KSeF najpóźniej następnego dnia roboczego), tryb niedostępności KSeF ogłaszanej przez Ministerstwo oraz tryb awaryjny. Każdy ma własne terminy i zasady oznaczania dokumentów – sprawdź je w aktualnych przepisach przed projektowaniem logiki.

Z punktu widzenia integracji potrzebne są:

  • Kolejka wysyłek z ponowieniami. Wysyłka nie może zależeć od tego, czy użytkownik trzyma otwarte okno ERP. Dokument trafia do kolejki, a usługa ponawia próbę z rosnącym odstępem.
  • Jawny stan każdej faktury. Na przykład: przygotowana, wysłana, przyjęta, odrzucona, wystawiona offline – oczekuje na przesłanie. Stan musi być widoczny w ERP i w panelu administracyjnym, a nie tylko w logach.
  • Alarmy z terminem. Faktura offline, która nie trafiła do KSeF, jest problemem z zegarem. Alert powinien pojawić się na tyle wcześnie, żeby ktoś zdążył zareagować przed upływem terminu.
  • Obsługa odrzuceń. Błąd walidacji schemy to zwykle błąd danych w ERP (np. brak NIP, zła stawka). Komunikat musi wrócić do osoby, która może go poprawić, w zrozumiałej formie.
  • Archiwum i ślad audytowy. Przechowuj wysłany XML, odpowiedź KSeF i historię statusów. Przy sporze z klientem lub kontroli to one są dowodem.

Testy warto zacząć na środowisku testowym udostępnionym przez Ministerstwo Finansów, łącznie z symulacją niedostępności: wyłączasz połączenie i sprawdzasz, czy faktury nie giną, nie dublują się i czy portal pokazuje poprawny stan.

Najczęstsze błędy, które widzimy w integracjach

  • Traktowanie numeru KSeF jako „dodatkowego pola” zamiast kluczowego identyfikatora – potem trudno dopasować korekty i płatności.
  • Udostępnianie klientom PDF-a z ERP, zanim faktura zostanie przyjęta w KSeF.
  • Jedno konto techniczne z pełnymi uprawnieniami używane przez wszystkie usługi, bez właściciela i bez rotacji danych dostępowych.
  • Brak procedury dla trybu offline – zespół dowiaduje się o niej w dniu awarii.
  • Założenie, że moduł KSeF w ERP „załatwia wszystko”, podczas gdy portal B2B, system serwisowy i hurtownia danych nadal pracują na starych numerach.

Od czego zacząć

Jeśli jesteś już po terminie obowiązkowego wystawiania, a integracje działają „jakoś”, zrób krótki przegląd: wypisz wszystkie systemy, które wystawiają lub pokazują faktury, i sprawdź, czy każdy z nich zna numer KSeF i aktualny status dokumentu. Potem ustal, gdzie mają trafiać alerty o odrzuceniach i fakturach offline. Te dwa kroki zwykle pokazują, co trzeba poprawić w pierwszej kolejności, zanim od 2027 roku zaczną obowiązywać sankcje.

Jeśli chcesz, żebyśmy przejrzeli Twoją architekturę faktur i zaproponowali, które elementy zostawić w ERP, a które przenieść do usługi integracyjnej, napisz do nas przez formularz kontaktowy. Zaczynamy od rozmowy o obecnym przepływie dokumentów, a nie od gotowego rozwiązania.

FAQ

Najczęstsze pytania

Od kiedy KSeF jest obowiązkowy dla firm?

Od 1 lutego 2026 roku dla podatników, których sprzedaż w 2024 roku przekroczyła 200 mln zł, a od 1 kwietnia 2026 roku dla pozostałych podatników VAT. Najmniejsze firmy, ze sprzedażą fakturową do 10 tys. zł miesięcznie, mają czas do 1 stycznia 2027 roku. Szczegóły warto potwierdzić u doradcy podatkowego lub w aktualnych przepisach.

Czy portal B2B może nadal udostępniać faktury w PDF po wejściu KSeF?

Tak, ale PDF jest tylko wizualizacją faktury, której źródłem jest plik XML w KSeF. Wizualizacja udostępniana poza KSeF powinna zawierać kod QR umożliwiający weryfikację dokumentu. Portal powinien też pokazywać numer KSeF i nie udostępniać dokumentu, zanim zostanie przyjęty.

Czy fakturę do KSeF powinien wysyłać ERP, czy osobny system?

Jeśli faktury powstają w jednym ERP, który ma aktualizowany moduł KSeF, zwykle najprościej wysyłać je z ERP. Osobna usługa integracyjna ma sens, gdy faktury wystawia kilka systemów albo gdy moduł ERP nie udostępnia statusów innym aplikacjom. Częstym kompromisem jest wysyłka z ERP i osobna usługa, która tylko rozsyła numery KSeF i statusy.

Co się dzieje z fakturami, gdy KSeF jest niedostępny?

Przepisy przewidują tryby pracy poza normalnym przesyłaniem, m.in. tryb offline24, tryb niedostępności KSeF i tryb awaryjny, z własnymi terminami dosłania faktur. Integracja powinna trzymać takie dokumenty w kolejce, oznaczać je odpowiednim stanem i alarmować, zanim minie termin przesłania.

Jak przełożyć ten temat na projekt

W JiraSoft patrzymy na takie zagadnienia przez pryzmat realnego systemu: danych, backendu, integracji API, procesów B2B, widoczności w Google oraz przygotowania treści pod odpowiedzi AI. Dlatego artykuł jest punktem wyjścia do rozmowy o konkretnym workflow, a nie tylko ogólną notatką technologiczną.

Zamień ten temat w konkretny projekt

Wyślij obecną sytuację, stack i cel biznesowy. Zaproponujemy pierwszy krok wdrożeniowy.

Umów bezpłatną rozmowę +48 887 883 084

#kodKtóryDowozi

Bez szumu. Konkretne wdrożenia. Software, który działa na produkcji.

Porozmawiajmy o projekcie