SiteFlow
Wszystkie wpisy
KSEF9 lipca 2026 · aktualizacja 26 października 2026 · 4 min

API KSeF 2.0: jak działa integracja krok po kroku, od logowania do UPO

API KSeF 2.0 w praktyce: logowanie, sesja interaktywna i wsadowa, szyfrowanie faktur, statusy, UPO i pobieranie faktur. Przegląd dla firm i integratorów.

Integracja z KSeF to nie jedno wywołanie „wyślij fakturę”. Program musi się zalogować, otworzyć sesję, zaszyfrować fakturę, wysłać ją, odczytać status, pobrać UPO i obsłużyć błędy oraz limity. Ministerstwo Finansów publikuje do tego specyfikację OpenAPI i oficjalne biblioteki w C# i Javie. Poniżej opisuję, jak te elementy składają się w całość i gdzie najczęściej pojawiają się problemy.

1. Uwierzytelnienie: challenge, podpis albo token

Program pobiera wyzwanie ważne 10 minut i potwierdza tożsamość podpisem XAdES (np. certyfikatem KSeF, kwalifikowanym podpisem, pieczęcią firmową) albo tokenem KSeF zaszyfrowanym kluczem publicznym MF. Po sprawdzeniu statusu dostaje access token na kilkanaście minut i refresh token na maksymalnie 7 dni. Szczegóły w tekstach o błędzie uwierzytelnienia i tokenie KSeF.

2. Sesja: interaktywna albo wsadowa

Dwa sposoby wysyłania faktur
Sesja interaktywnaSesja wsadowa
Jak wysyłaFaktury pojedynczoPaczka ZIP w częściach
Dla kogoBieżąca sprzedażDuże wolumeny, faktury z załącznikiem
Limit faktur w sesji10 00010 000, do 50 plików ZIP po 100 MB
Data przyjęciaMoment wysłania fakturyMoment otwarcia sesji

3. Szyfrowanie i wysyłka faktury

Faktura nie jest wysyłana jawnym tekstem. Program szyfruje plik XML algorytmem AES-256-CBC kluczem symetrycznym, który sam jest szyfrowany algorytmem RSA-OAEP kluczem publicznym KSeF. Do tego dochodzą skróty SHA-256 i rozmiary pliku przed i po szyfrowaniu, które KSeF porównuje. Błąd w którymkolwiek z tych elementów kończy się odrzuceniem, zanim system w ogóle przeczyta treść faktury.

4. Status faktury i UPO

Wysyłka jest asynchroniczna. Program odpytuje o status faktury, aż dostanie 200 (sukces, numer KSeF) albo kod błędu, np. 440 duplikat czy 450 błąd semantyki. Dla przyjętej faktury KSeF udostępnia UPO, czyli urzędowe poświadczenie odbioru, pod adresem, który wygasa po określonym czasie. Mapę wszystkich kodów zebrałem w przeglądzie błędów KSeF.

5. Pobieranie faktur kosztowych

Druga strona integracji to odbiór faktur zakupowych. API pozwala pobrać fakturę po numerze KSeF, listę metadanych według filtrów albo zlecić asynchroniczny eksport paczki. Dla synchronizacji z systemem księgowym dokumentacja rekomenduje eksport przyrostowy w przylegających oknach czasowych. Opisuję go w tekście o pobieraniu faktur z KSeF.

6. Limity, środowiska i uprawnienia

  • Limity żądań liczone na parę kontekst i adres IP, z odpowiedzią 429 i nagłówkiem Retry-After. Szczegóły w tekście o limitach API.
  • Trzy środowiska: TEST, DEMO i produkcja, opisane w tekście o środowisku testowym KSeF.
  • Uprawnienia do wystawiania (InvoiceWrite) i odczytu (InvoiceRead) w kontekście NIP, opisane w tekście o nadawaniu uprawnień.
Z czego składa się dobra integracja z KSeF
  1. 1

    Warstwa KSeF

    Logowanie, sesje, szyfrowanie, statusy, UPO i limity w jednym module.

  2. 2

    Kolejka i ponowienia

    Faktury czekają przy awarii i limitach, a błędy danych trafiają do człowieka.

  3. 3

    Połączenie ze sklepem lub ERP

    Zamówienie staje się fakturą, a numer KSeF wraca do zamówienia.

Gotowa wtyczka czy integracja na zamówienie

Dwie drogi do KSeF
Gotowa wtyczka lub modułIntegracja na zamówienie
StartSzybki, jeśli wtyczka pasuje do platformyWymaga projektu i testów
Dopasowanie do procesuProces dopasowujesz do wtyczkiIntegracja dopasowana do procesu
Nietypowe przypadkiKorekty zbiorcze, offline, wiele systemów bywają problememObsłużone od początku
Kontrola nad danymiZależna od dostawcyPełna, po Twojej stronie

Dla typowego sklepu na popularnej platformie gotowa wtyczka często wystarczy. Integracja na zamówienie ma sens, gdy faktury powstają w kilku systemach, gdy firma ma nietypowe procesy (np. faktury zbiorcze, sprzedaż w wielu walutach, rozbudowane korekty) albo gdy dane mają zostać w Twojej infrastrukturze.

Bezpieczeństwo integracji z KSeF

  • Tokeny i klucze prywatne certyfikatów w menedżerze sekretów, a nie w kodzie, repozytorium czy bazie danych jawnym tekstem.
  • Osobne dane dostępowe dla środowisk TEST, DEMO i produkcji.
  • Minimalne uprawnienia: moduł sprzedaży bez prawa pobierania faktur kosztowych i odwrotnie.
  • Logi z pełnymi odpowiedziami KSeF, ale bez tokenów i treści faktur w zwykłym logu aplikacji.

Jak wygląda typowy projekt integracji

  1. 1.Analiza: skąd biorą się faktury, kto je wystawia, ile ich jest w szczycie, jakie są wyjątki (korekty, zaliczki, sprzedaż zagraniczna).
  2. 2.Moduł KSeF na środowisku TEST: logowanie, wysyłka, statusy, pobieranie.
  3. 3.Połączenie z systemem źródłowym: sklep, ERP albo CRM, z kolejką i obsługą błędów.
  4. 4.Testy na DEMO z prawdziwym wolumenem i limitami produkcyjnymi.
  5. 5.Start na produkcji pod kontrolą i monitoring pierwszych tygodni.

Najwięcej czasu zajmuje zwykle nie samo API KSeF, tylko dane po stronie firmy: niespójne adresy klientów, kilka numeracji faktur, korekty robione ręcznie poza systemem. Uporządkowanie ich na początku skraca resztę projektu.

Źródła: dokumentacja API KSeF 2.0 z oficjalnymi bibliotekami w C# i Javie oraz serwis KSeF.

›Czy API KSeF jest darmowe?

Tak, korzystanie z API KSeF nie wymaga opłat. Kosztem jest wdrożenie i utrzymanie integracji po Twojej stronie.

›Czy muszę pisać integrację od zera?

Nie zawsze. Popularne platformy mają gotowe wtyczki, a MF udostępnia biblioteki w C# i Javie. Integracja na zamówienie ma sens, gdy gotowe rozwiązania nie pasują do procesu.

›Ile trwa wdrożenie integracji z KSeF?

Zależy od zakresu: sama wysyłka sprzedaży to krótszy projekt niż wysyłka, pobieranie kosztów i obsługa offline. Przykład zakresu dla sklepu: integracja KSeF z WooCommerce.

Chcesz przegadać swój projekt?

Odpowiadam osobiście w ciągu 24h w dni robocze — bez handlowca po drodze.