KSeF — integracja z programem

Jak zintegrować swój program do fakturowania z KSeF? API, tokeny, konfiguracja i testowanie.

Integracja istniejącego oprogramowania księgowego lub systemu ERP z Krajowym Systemem e-Faktur (KSeF) to kluczowy element przygotowania firmy do obowiązkowego e-fakturowania. Bez sprawnie działającej integracji wystawianie faktur ustrukturyzowanych będzie czasochłonne, podatne na błędy i frustrujące zarówno dla pracowników, jak i dla kontrahentów. W tym artykule omawiamy techniczne aspekty integracji z KSeF — od interfejsu API, przez tokeny autoryzacyjne i certyfikaty, po praktyczne scenariusze integracji z najpopularniejszymi programami księgowymi na polskim rynku. Artykuł kierujemy zarówno do osób decyzyjnych, które planują wdrożenie, jak i do informatyków odpowiedzialnych za implementację. Jeśli chcesz najpierw poznać podstawy systemu, przeczytaj artykuł co to jest KSeF.

Czym jest API KSeF i jak działa

API KSeF (Application Programming Interface) to interfejs programistyczny udostępniany przez Ministerstwo Finansów, który umożliwia zewnętrznym systemom komunikację z Krajowym Systemem e-Faktur. API działa w architekturze REST (Representational State Transfer) i komunikuje się za pomocą protokołu HTTPS. Oznacza to, że każda operacja — wystawianie faktury, pobieranie faktury, sprawdzanie statusu — realizowana jest poprzez standardowe żądania HTTP (GET, POST, PUT) z danymi w formacie JSON lub XML.

API KSeF udostępnia kilka grup endpointów: (1) uwierzytelnianie i zarządzanie sesjami, (2) wysyłanie faktur (pojedynczo i w paczkach), (3) pobieranie faktur (zakupowych i sprzedażowych), (4) sprawdzanie statusów faktur i sesji, (5) zarządzanie uprawnieniami. Każda operacja wymaga aktywnej sesji uwierzytelniania, która jest ograniczona czasowo — sesja wygasa po 20 minutach bezczynności lub po jawnym jej zamknięciu. Szczegółowe informacje o endpointach i ich parametrach znajdziesz w artykule KSeF API.

Metody uwierzytelniania w API KSeF

Integracja systemowa z KSeF wymaga uwierzytelniania za pomocą jednej z kilku metod. Najpopularniejszą metodą dla integracji maszynowych (M2M — machine to machine) jest uwierzytelnianie za pomocą tokena autoryzacyjnego w połączeniu z pieczęcią elektroniczną lub certyfikatem. Token autoryzacyjny generuje się w portalu KSeF lub za pomocą API i służy jako identyfikator uprawnień podmiotu.

Proces uwierzytelniania przebiega w kilku krokach: (1) system zewnętrzny wysyła żądanie inicjalizacji sesji (InitSession) z identyfikatorem podmiotu (NIP) i metodą uwierzytelniania, (2) KSeF zwraca wyzwanie (challenge) — unikalny ciąg znaków, (3) system podpisuje wyzwanie za pomocą tokena lub certyfikatu i odsyła podpisane dane, (4) KSeF weryfikuje podpis i tworzy sesję, zwracając token sesji (sessionToken), (5) dalsze operacje wykonuje się z nagłówkiem Authorization zawierającym token sesji.

Dla jednoosobowych działalności gospodarczych dostępne jest również uwierzytelnianie za pomocą Profilu Zaufanego, jednak ta metoda wymaga interakcji użytkownika (logowanie przez ePUAP) i nie nadaje się do automatyzacji. Więcej o aspektach technicznych opisujemy w dedykowanym artykule o API KSeF.

Scenariusze integracji — od prostych po zaawansowane

Sposób integracji z KSeF zależy od wielkości firmy, liczby wystawianych faktur, posiadanego oprogramowania i zasobów technicznych. Można wyróżnić trzy główne scenariusze integracji.

Scenariusz 1 — Integracja przez komercyjny program księgowy. To najprostsze podejście, odpowiednie dla większości firm. Popularne programy księgowe takie jak Comarch Optima, Sage Symfonia, enova365, Insert GT, wFirma czy iFirma oferują (lub będą oferować) wbudowane moduły integracji z KSeF. Wystarczy zaktualizować oprogramowanie, skonfigurować dane uwierzytelniające i włączyć moduł KSeF. Cała komunikacja z API odbywa się w tle.

Scenariusz 2 — Integracja za pomocą middleware (pośrednika). Większe firmy korzystające z rozbudowanych systemów ERP (SAP, Oracle, Microsoft Dynamics) często wdrażają dedykowaną warstwę pośrednią (middleware), która tłumaczy format danych z ERP na XML zgodny ze schematem FA(2) i komunikuje się z API KSeF. Middleware może być własnym rozwiązaniem IT lub komercyjnym produktem.

Scenariusz 3 — Własna integracja bezpośrednia z API KSeF. Firmy posiadające własny zespół programistyczny mogą zbudować integrację od podstaw, korzystając bezpośrednio z dokumentacji API KSeF. To podejście daje największą elastyczność, ale wymaga znacznych nakładów czasu i wiedzy technicznej.

ScenariuszDla kogoKosztCzas wdrożeniaWymagana wiedza IT
Moduł w programie księgowymMikro i małe firmyNiski (aktualizacja)1–7 dniMinimalna
Middleware / pośrednikŚrednie i duże firmyŚredni do wysokiego1–3 miesiąceŚrednia
Własna integracja z APIFirmy z własnym ITZmienny2–6 miesięcyWysoka (programiści)
Aplikacja Podatnika KSeFMikrofirmy (kilka faktur)BezpłatnaNatychmiastMinimalna
Biuro rachunkoweFirmy outsourcująceW ramach opłaty za księgowośćZależny od biuraBrak

Integracja z popularnymi programami księgowymi w Polsce

Większość wiodących producentów oprogramowania księgowego w Polsce ogłosiła już gotowość lub plan wdrożenia integracji z KSeF. Comarch Optima — lider rynku z ponad 60% udziałem w segmencie małych i średnich firm — udostępnił moduł KSeF już w 2023 roku. Sage Symfonia, Insert GT (Nexo) i enova365 również oferują dedykowane rozwiązania. W segmencie aplikacji online wFirma, iFirma, Fakturownia i InFakt ogłosiły integrację z KSeF.

Przy wyborze lub aktualizacji oprogramowania zwróć uwagę na kilka kluczowych funkcji: automatyczne generowanie XML FA(2) z danych faktury, automatyczne przesyłanie faktur do KSeF i odbieranie numeru KSeF, pobieranie faktur zakupowych z KSeF, obsługa faktur korygujących i zaliczkowych w KSeF, obsługa trybu awaryjnego (offline), raportowanie statusów faktur, a także eksport danych do JPK_V7. Relację między KSeF a JPK szczegółowo opisujemy w artykule KSeF a JPK.

Tokeny autoryzacyjne — generowanie i zarządzanie

Token autoryzacyjny to jeden z kluczowych elementów integracji systemowej z KSeF. Token jest ciągiem znaków powiązanym z NIP podatnika i zestawem uprawnień. Tokeny można generować na portalu KSeF po zalogowaniu się za pomocą Profilu Zaufanego lub kwalifikowanego podpisu elektronicznego.

Każdy token ma przypisane uprawnienia — może być ograniczony do wystawiania faktur, odbierania faktur, przeglądania faktur lub ich dowolnej kombinacji. Token ma określony okres ważności (standardowo 1 rok) i może zostać unieważniony w dowolnym momencie przez właściciela konta. Warto wdrożyć procedurę regularnej rotacji tokenów — co najmniej raz na pół roku — w celu minimalizacji ryzyka nieautoryzowanego dostępu.

W praktyce firma może posiadać wiele tokenów — osobny dla systemu księgowego, osobny dla biura rachunkowego, osobny dla aplikacji mobilnej. Takie podejście ułatwia zarządzanie uprawnieniami i pozwala na selektywne unieważnianie dostępu bez wpływu na inne integracje.

Wysyłanie faktur masowo — batch i paczki faktur

Firmy wystawiające dużą liczbę faktur (setki lub tysiące miesięcznie) powinny skorzystać z mechanizmu wysyłki masowej (batch). API KSeF umożliwia przesyłanie faktur w paczkach — zamiast wysyłać każdą fakturę osobno, można zgrupować wiele faktur w jednym żądaniu. Paczka faktur to archiwum ZIP zawierające pliki XML poszczególnych faktur, przesyłane jako jedno żądanie do API.

Wysyłka masowa ma kilka zalet: zmniejsza liczbę żądań do API (co jest istotne przy limitach rate limiting), przyspiesza przetwarzanie i upraszcza monitoring — status całej paczki sprawdza się jednym żądaniem. Po przetworzeniu paczki KSeF zwraca raport z wynikami walidacji każdej faktury — które zostały zaakceptowane, a które odrzucone.

Warto pamiętać, że mechanizm paczek nie zwalnia z obowiązku walidacji pojedynczych faktur — każda faktura w paczce przechodzi tę samą walidację co faktura wysłana indywidualnie. Jeśli jedna faktura w paczce zawiera błąd, pozostałe mogą zostać zaakceptowane — paczka nie jest atomowa.

Ministerstwo Finansów zaleca, aby firmy wystawiające powyżej 500 faktur miesięcznie korzystały z mechanizmu wysyłki masowej (batch) i prowadziły testy obciążeniowe w środowisku testowym przed przejściem na produkcję.

Środowisko testowe KSeF — jak je wykorzystać do integracji

Ministerstwo Finansów udostępnia środowisko testowe KSeF, które jest wierną kopią systemu produkcyjnego. Środowisko testowe umożliwia przesyłanie faktur testowych, pobieranie ich, sprawdzanie statusów i testowanie uwierzytelniania — wszystko bez konsekwencji prawnych. Faktury wystawione w środowisku testowym nie mają mocy prawnej i nie są widoczne w produkcyjnym KSeF.

Środowisko testowe jest nieocenionym narzędziem podczas procesu integracji. Pozwala na: weryfikację poprawności generowanego XML, testowanie uwierzytelniania i tokenów, sprawdzanie obsługi błędów walidacji, testy obciążeniowe (wysyłka dużej liczby faktur), weryfikację poprawności pobierania faktur zakupowych, a także testowanie trybu awaryjnego.

Adres środowiska testowego różni się od produkcyjnego — upewnij się, że Twoje oprogramowanie ma możliwość przełączania między środowiskami. Większość komercyjnych programów księgowych posiada taką opcję w ustawieniach modułu KSeF.

Obsługa błędów i tryb awaryjny w integracji

Solidna integracja z KSeF musi uwzględniać obsługę błędów i sytuacje awaryjne. API KSeF może zwrócić błąd z wielu powodów: niepoprawna struktura XML, problem z uwierzytelnieniem, przekroczenie limitu żądań (rate limiting), niedostępność systemu (awaria). Każdy z tych scenariuszy wymaga innej reakcji ze strony systemu integrującego.

W przypadku błędów walidacji system powinien zapisać komunikat o błędzie, poinformować użytkownika i umożliwić poprawienie faktury oraz ponowne jej przesłanie. W przypadku problemów z uwierzytelnianiem — automatycznie odświeżyć sesję lub poinformować administratora o wygaśnięciu tokena. W przypadku niedostępności KSeF — przejść do trybu awaryjnego (offline), wystawiać faktury lokalnie i oznaczyć je do wysłania po przywróceniu systemu.

Tryb awaryjny jest szczególnie istotny — ustawa przewiduje, że w przypadku awarii KSeF ogłoszonej przez Ministra Finansów, faktury mogą być wystawiane poza systemem i przesłane do KSeF w ciągu 7 dni roboczych po zakończeniu awarii. Twoje oprogramowanie powinno obsługiwać ten scenariusz automatycznie. Więcej o sankcjach za nieprzestrzeganie przepisów znajdziesz w osobnym artykule.

Bezpieczeństwo integracji z KSeF

Bezpieczeństwo integracji z KSeF to temat, którego nie wolno lekceważyć. Faktury zawierają wrażliwe dane biznesowe — informacje o kontrahentach, cenach, wartościach transakcji — których wyciek mógłby mieć poważne konsekwencje. Oto kluczowe zasady bezpieczeństwa, które warto wdrożyć.

Po pierwsze, przechowuj tokeny autoryzacyjne i klucze kryptograficzne w bezpieczny sposób — nigdy w kodzie źródłowym, w plikach konfiguracyjnych w repozytorium ani w otwartym tekście. Używaj menedżerów tajemnic (secrets managers), zmiennych środowiskowych lub dedykowanych magazynów kluczy (key vaults). Po drugie, szyfruj komunikację z API KSeF — choć API wymaga HTTPS, upewnij się, że Twój system nie akceptuje niezweryfikowanych certyfikatów SSL. Po trzecie, loguj wszystkie operacje związane z KSeF — wysyłki, odbiory, błędy — w celu audytu i diagnostyki. Po czwarte, wdróż mechanizmy kontroli dostępu — nie każdy pracownik powinien mieć uprawnienia do wysyłania faktur w KSeF.

Podsumowanie — kluczowe kroki integracji z KSeF

Integracja z KSeF to projekt techniczny, który wymaga planowania i testowania. Niezależnie od wybranego scenariusza — moduł w programie księgowym, middleware czy własna implementacja — kluczowe kroki są takie same: zrozumienie API KSeF, konfiguracja uwierzytelniania (tokeny, certyfikaty), generowanie poprawnego XML FA(2), obsługa błędów i trybu awaryjnego oraz zapewnienie bezpieczeństwa. Jednym z ciekawszych rozwiązań na polskim rynku jest Finito Pro, które upraszcza proces integracji dzięki intuicyjnemu kreatorowi konfiguracji i predefiniowanym szablonom. Przetestuj wybraną integrację w środowisku testowym KSeF i zaplanuj wdrożenie produkcyjne z odpowiednim wyprzedzeniem. Pamiętaj, że obowiązek KSeF 2026 nie czeka — im wcześniej zaczniesz, tym mniejsze ryzyko problemów. Sprawdź też nasz FAQ o KSeF i artykuł o wystawianiu faktur w KSeF.

Gotowy na zmianę?

Dołącz do setek polskich firm, które już zautomatyzowały swoje procesy. Bez zobowiązań — 30 dni za darmo.

Rozpocznij bezpłatny test →

Najczęstsze pytania

To zależy od producenta i wersji oprogramowania. Większość wiodących programów (Comarch Optima, Sage Symfonia, enova365, Insert GT, wFirma, iFirma) oferuje lub planuje moduł KSeF. Skontaktuj się z dostawcą oprogramowania, aby potwierdzić dostępność i termin aktualizacji.

Token autoryzacyjny to ciąg znaków generowany w portalu KSeF, który umożliwia systemom zewnętrznym (np. programom księgowym) komunikację z KSeF w imieniu podatnika. Aby go wygenerować, zaloguj się na portal KSeF za pomocą Profilu Zaufanego lub kwalifikowanego podpisu elektronicznego i przejdź do sekcji zarządzania tokenami.

Tak. API KSeF jest publiczne i udokumentowane — każdy programista może zbudować integrację od podstaw. Wymaga to jednak znajomości REST API, XML, schematu FA(2) oraz mechanizmów uwierzytelniania (tokeny, certyfikaty). Ministerstwo Finansów udostępnia dokumentację techniczną i środowisko testowe.

Ministerstwo Finansów udostępnia bezpłatne środowisko testowe KSeF, które odwzorowuje działanie systemu produkcyjnego. Możesz w nim wystawiać i odbierać faktury testowe, testować uwierzytelnianie i sprawdzać obsługę błędów — bez konsekwencji prawnych.

API KSeF obsługuje zarówno wysyłkę pojedynczych faktur, jak i paczek (batch). Paczka może zawierać do kilkuset faktur w jednym żądaniu. Dla firm wystawiających tysiące faktur miesięcznie zalecana jest wysyłka masowa, która zmniejsza liczbę żądań do API i przyspiesza przetwarzanie.

W przypadku awarii KSeF ogłoszonej przez Ministra Finansów możesz wystawiać faktury poza systemem (tryb awaryjny) i przesłać je do KSeF w ciągu 7 dni roboczych po zakończeniu awarii. Jeśli to problem po Twojej stronie (np. brak internetu), musisz przesłać fakturę niezwłocznie po ustaniu przeszkody.