View Categories

Przygotowanie do integracji z KSeF

System KSeF #

KSeF czyli Krajowy System eFaktur to platforma stworzona przez ministerstwo finansów do wymiany faktur drogą elektroniczną. Docelowo system ma zastąpić prawie cała wymianę papierowych faktur. Wyjątki z systemem KSeF:

  • Faktury dotyczące transakcji wewnątrzwspólnotowych oraz sprzedaż na rzecz konsumentów nie podlegających obowiązki e-fakturowania
  • Faktury konsumenckie (B2C), bilety, faktury uproszczone których kwota nie przekracza 450 zł
  • Faktury dokumentujące czynności i rozliczenia w procedurach szczególnych (OSS, IOSS)

Platforma umożliwia wystawianie faktur, przekazywanie faktur z systemu ERP lub EZD za pośrednictwem interfejsu oraz pobieranie faktur. System działa na zasadzie centralnego repozytorium dokumentów, co oznacza, że wszystkie faktury trafiają w jedno miejsce i są z tego miejsca pobierane.

Kiedy zaczynamy #

Uruchomienie produkcyjne systemu KSeF oraz wymóg jego stosowania przez podmioty gospodarcze planowane jest na I kwartał 2026 roku. Do tego czasu firmy, które chcą używać innych narzędzi do przesyłania faktur niż te oferowane przez Ministerstwo Finansów powinny wdrożyć obsługę KSeF w systemach ERP lub EZD. System Navigator umożliwia integrację z KSeF zarówno jako niezależne rozwiązanie – pobieranie faktur i ich procesowanie w ramach obieg dokumentów jak i jako hub do komunikacji ERP <> KseF – pobieranie i przesyłanie plików XML bez procesu obiegu dokumentów.

Warto być na bieżąco i śledzić strony Ministerstwa Finansów:

Krajowy System e-Faktur (KSeF)

Pytania i odpowiedzi – KSeF

Co powinienem zrobić by uruchomić KSeF #

Po stronie KSeF #

Uwaga: Opis dotyczy aktualnej wersji KSeF czyli 1.0. Wersja ta będzie działała do 1 września 2025 roku. Po tym okresie należy przejść na wersję 2.0 co wiąże się ze zmianami np. w autoryzacji. Więcej w komunikacje na stronach Ministerstwa Finansów.

Kwestia dostępu do KSeF i wygenerowania tokenu do komunikacji jest indywidualną kwestią podmiotu, który chce wystawiać faktury poprzez KSeF. Dostawca oprogramowania księgowego, ERP lub EOD nie może w imieniu podmiotu wystąpić o konto w systemie czy wygenerować tokenu.

Proces uzyskania tokenu można opisać w kilku prostych krokach. Niestety, trudno powiedzieć ile czasu zajmie przejście całej procedury więc najlepiej nie zostawiać tego na ostatnią chwilę.

Co potrzebujemy zrobić aby uzyskać token:

  • W przypadku jednoosobowej działalności:
    • Elektronicznie, przez stronę KSeF – jeżeli posiadamy profil zaufany lub podpis kwalifikowany zawierający NIP lub PESEL
    • Papierowo – poprzez złożenie formularza ZAW-FA
  • Spółka lub inny podmiot
    • Elektronicznie, przez stronę KSeF – jeżeli posiadamy elektroniczną pieczęć kwalifikowaną zawierającą NIP
    • Papierowo – poprzez złożenie formularza ZAW-FA
  • Kwestie zamówienia podpisu kwalifikowanego lub pieczęci elektronicznej należy przeprowadzić indywidualnie z dostawcami usług uwierzytelniania. O szczegółach można przeczytać na stronie Podpis kwalifikowany | Biznes.gov.pl – Serwis informacyjno-usługowy dla przedsiębiorcy
  • Po uzyskaniu dostępu do konta można nadać uprawnienia dla innych osób pracujących w firmie (np. głównej księgowej) lub podmiotom współpracującym (np. zewnętrznej firmie księgowej). Nadając uprawnienia trzeba się dobrze zastanowić, jakie uprawnienia powinny mieć te osoby.
  • Na tym etapie trzeba zweryfikować czy połączenie z KSeF działa prawidłowo dla wszystkich wskazanych osób. Uwaga: to jeszcze nie jest ten moment, gdy podpinamy oprogramowanie EOD czy ERP do KSeF
  • Token dostępowy należy wygenerować. Po zalogowaniu się w aplikacji MF (Aplikacja Podatnika KSeF i inne narzędzia (podatki.gov.pl)) należy odszukać opcję Tokeny -> Generuj token. Wygenerowany token należy przekazać firmie wdrażającej oprogramowanie lub samodzielnie dokonać konfiguracji systemu przez wprowadzenie tokenu.

Po stronie Navigatora #

Równolegle z przygotowaniami po stronie KSeF należy przygotować Navigatora365 do współpracy z KSeF. Navigator używa do komunikacji zewnętrznego serwisu, który jest dostarczany przez firmę Archman. W przypadku instalacji w chmurze Archman, serwis jest dostępny jednak przy instalacjach on-premise należy go zainstalować samodzielnie. Serwis jest udostępniany bezpłatnie klientom posiadającycm licencje Navigatora365 wraz z instrukcją instalacji i uruchomienia. Z serwisem komunikujemy się poprzez Rest API. W dalszej części tego artykułu omówione zostaną techniczne aspekty komunikacji. Przykładowa konfiguracja procesów integracyjnych na bazie standardowej aplikacji Zakupy znajduje się w oddzielnym artykule.

Dostępne metody w serwisie KSeF #

/Invoice/Generate #

Metoda: POST

Content-Type: application/json

Jako parametr należy podać json zawierający opis faktury. Przykład jsona znajduje się poniżej:

Po poprawnym wywołaniu metody serwis zwróci plik XML w standardzie schemy KSeF.

Send – wysyłka faktury KSeF #

Metoda: POST

Header:

nip – string zawierający NIP podmiotu wysyłającego fakturę

token – token KSeF podmiotu wysyłającego fakturę

Content-Type: application/json

Jako parametr należy podać json zawierający opis faktury. Składnia jsona jest identyczna jak przy metodzie Generate, można użyć jsona pokazanego w przykładzie powyżej.

Po poprawnym wywołaniu metody serwis zwróci numer sesji KSeF. Ten numer należy gdzieś zachować gdyż służy on np. do pobrania potwierdzenia (UPO).

UPO – pobranie urzędowago poświadczenia odbioru #

Metoda: GET

Parametry: numer sesji przekazywany w ścieżce wywołania metody

Po poprawnym wywołaniu metody serwis zwróci json z danymi wysłanej faktury takimi jak numer KSeF czy datę przyjęcia oraz plikiem PDF z potwierdzeniem zakodowanym w base64. Poniżej prezentowany jest przykładowy json

Get – pobranie faktur z KSeF #

Metoda: GET

Parametry:

Header:

nip – string zawierający NIP podmiotu wysyłającego fakturę

token – token KSeF podmiotu wysyłającego fakturę

Ścieżka:

from – data od której chcemy pobierać faktury (data kluczowa aby nie pobierać wszystkich historycznych faktur)

to – data do kiedy chcemy pobierać faktury

Po poprawnym wywołaniu metody serwis zwróci json z danymi faktury oraz plikiem HTML z obrazem faktury zakodowanym w base64. Poniżej prezentowany jest przykładowy json

Jak można zauważyć w przykładzie, przesłane dane są tablicą dokumentów. W jednym wywołaniu możemy otrzymać kilka dokumentów faktur dlatego przy pobieraniu faktur w systemie, w procesie pobierania powinniśmy skorzystać z pętli po elementach jsona i dla każdego rekordu utworzyć jeden dokument. Przykład takiego procesu opisany jest w tym dpokumencie.

Become a partner