Komunikacja z KSeF

Krajowy System e-Faktur stanowi istotne narzędzie, które umożliwia wystawianie, przesyłanie i przechowywanie faktur w formie elektronicznej. Komunikacja z KSeF w postaci np. wysyłania faktur do systemu może odbywać się na różne sposoby.

Do komunikacji oraz odbierania faktur w KSeF (jeżeli chcemy to robić w sposób automatyczny i nie chcemy korzystać z aplikacji Ministerstwa i logować się ręcznie), a także aby wyszukiwać faktury po jakimś okresie i je pobierać po czym umieszczać w systemie – możemy robić to poprzez sesję interaktywną. Wówczas możemy umożliwić naszemu systemowi, aby mógł on pobrać faktury, sprawdzić zakres dat i pobrać numery tych faktur.

W tym wypadku to, na co warto zwrócić uwagę to czas (przedział czasowy dotyczący faktur), o który pytamy Ministerstwo przy ich wyszukiwaniu. Nie może być on zbyt długi. Nie mamy tutaj jeszcze niestety precyzyjnej definicji tego, co to znaczy ,,zbyt długi czas”. Czasem jednak czas potrzebny po stronie systemów Ministerstwa na generowanie listu numerów KSeF jest tak długi, że przekracza czas dopuszczalny dla odpowiedzi i po prostu nie dostajemy żadnej informacji zwrotnej od systemu.

Zatem jeżeli takie sytuacje się zdarzą to warto jest skrócić okres, o który się pytamy i zapytać się kilka razy. Wówczas najpierw przykładowo pytamy o ostatnią godzinę, potem o poprzednią godzinę itd. – bądź o jakieś dłuższe okresy. W tym przypadku trzeba wybrać taki zakres, aby po prostu nie wpadać w problemy. To zależy także od tego, ile mamy faktur przychodzących. Jeśli faktur jest niedużo (np. 3-4 w ciągu dnia), to jeśli zapytamy o cały dzień, to wtedy będzie najprawdopodobniej OK. Natomiast  jeżeli faktur jest dużo, ale zapytamy się o bardzo długi przedział, to wtedy może być tutaj z tego nieco większy problem.

Jeśli chodzi natomiast o generowanie identyfikatora płatności dla większej ilości faktur, to jeżeli chcemy to zrobić jednym przelewem, to trzeba będzie taki identyfikator wygenerować. Dobrze byłoby, jeżeli integrujemy nasz system KSeF-em, to dobrze by było taką operację mieć już w systemie zaimplementowaną – żeby nam jako sprzedawcy ten system już generował zbiorczy numer, a jeżeli jesteśmy odbiorcą – to żeby rozkładał ten numer na części składowe i wybierał numery KseF faktur, które są objęte tym przelewem/płatnością.

Komunikacja z KSeF – sposoby uwierzytelniania

Przepisy wskazują na cztery różne sposoby uwierzytelniania do wysyłki i pobrania e-faktur oraz do komunikacji z KSeF:

  1. Kwalifikowany podpis elektroniczny.
  2. Kwalifikowana pieczęć elektroniczna.
  3. Podpis zaufany.
  4. Token – czyli wygenerowany przez portal KSeF ciąg znaków alfabetycznych (przypisany do danego podmiotu), token taki zostaje wygenerowany po uwierzytelnieniu się przez podatnika w jeden z powyższych sposobów.

Token autoryzacyjny

Istotne jest omówienie ostatniego ze wskazanych, tj. tokenu autoryzacyjnego. Jeżeli integrujemy ze sobą systemy tak, żeby one działały w sposób kompletnie automatyczny, to wtedy będziemy używali na pewno tokena autoryzacyjnego. Wówczas najpierw zalogujemy się jedną z posiadanych metod, a później osoba, która się loguje wykona operację (na przykład w interfejsie w przeglądarce za pomocą aplikacji Ministerstwa) – wygeneruje taki token i w jakiś sposób umieści w systemie ERP, które następnie będzie używał tego tokena potem, żeby identyfikować organizację, wysyłać, odbierać faktury.

To jest jeden z momentów, który jest istotny i bardzo krytyczny. Jeżeli okaże się bowiem, że token przez przypadek wyślemy do niewłaściwej osoby albo z jakiegoś powodu nam zginie, albo go wydrukujemy i ktoś nam np. ukradnie kartkę, na której był wydrukowany token albo w jakikolwiek inny sposób utracimy ten token – to wówczas osoba, która go będzie miała we władaniu, będzie mogła za pomocą tego tokena zalogować się do API i wykonywać operację tak jakbyśmy my to robili w strefie nasza organizacji. Wówczas będzie mogła zarówno wystawiać fakturę, jak również je pobierać w zależności też od tego, jakie uprawnienia nadamy takiemu tokenowi. Jeżeli będzie miała uprawnienia do nadawania innych uprawnień jeszcze innym osobom, wówczas może wyrządzić jeszcze większe szkody.

Wówczas mamy nasze pierwsze zetknięcie z KSeF i już możemy mieć sytuację, na którą musimy uważać. Przede wszystkim trzeba zastanowić się, w jaki sposób bezpiecznie ten token wygenerować i jak go przesłać bezpiecznie do działu IT. Zapewne to bowiem nie informatycy z działu IT będą generować ten token, tylko będzie go generował ktoś, kto jest upoważniony do tego (znacznie wyżej w hierarchii). Być może też taki token będziemy musieli dostarczyć do innej komórki albo działu w firmie, wobec czego taka komórka też musi być świadoma tego, że to jest ważne w zakresie bezpieczeństwa. Musimy zadbać o to, aby taką daną umieścić bezpiecznie w systemie, a także o to, żeby ten system też trzymał daną w taki sposób, żeby dowolne osoby przez przypadek nie mogły takiej informacji pozyskać. Wówczas może być to równoznaczne z sytuacją, że dajemy komuś po prostu login i hasło np. do naszego konta bankowego.

Co jeszcze warto pamiętać o tokenie?

Token autoryzacyjny:

  1. Może zostać wygenerowany na stronie Ministerstwa Finansów.
  2. Token nie wygasa nigdy.
  3. Token wygenerowany przez osobę, która utraciła uprawnienia w KSeF, staje się nieważny.
  4. Kompromitacja tokena może powodować dotkliwe skutki prawne

Jeżeli wysyłamy zaś faktury za pomocą aplikacji Ministerstwa, to podpisujemy je za każdym razem i ten problem z tokenem przestaje być tak bardzo dotkliwy, ponieważ nie wykorzystujemy tutaj integracji. Nie wykorzystujemy tokena i zawsze podpisujemy faktury podpisem. Robimy to zatem tak samo, jak w przypadku plików JPK, więc łatwiej jest chronić urządzenie elektroniczne, które dodatkowo jest skonstruowane w taki sposób, żeby zabezpieczać ten podpis, który jest w środku. Nie jest prosto go stamtąd wyciągnąć nie znając PINu, a poza tym dodatkowo ktoś musiałby fizycznie to urządzenie nam zabrać, żeby móc z niego skorzystać. Wobec tego, jeżeli będziemy podpisywać wszystkie faktury ręcznie, to ten problem jest na pewno zminimalizowany – natomiast jest to rozwiązanie mało wygodne, jeśli używamy tego sposobu do wysyłania dużej ilości faktur każdego dnia, to  musielibyśmy po prostu siedzieć cały czas przy komputerze i to kontrolować i podpisywać ręcznie wszystkie faktury.

 Dobrze wobec tego wybierając dostawcę bądź też samemu planując takie rozwiązanie integracyjne, rozważyć stworzenie samemu aplikacji, która taki token pozyska i bezpiecznie go prześle i zaszyfruje, a następnie wyśle np. do działu IT w taki sposób, żeby ta informacja była chroniona. Jest to na pewno dobrym rozwiązaniem, natomiast oczywiście wymaga nakładów pracy na stworzenie takiej aplikacji.

Jeżeli zaś nie chcemy inwestować w aplikacje tego typu, to możemy oczywiście taki token przesłać w inny bezpieczny sposób – na przykład zaszyfrować i wysłać mailem, a hasło bądź klucz szyfrowania przekazać tej osobie, która będzie go potrzebowała. W ten sposób zabezpieczymy się tak samo jakbyśmy przesyłali jakieś poufne informacje.

Powiązane artykuły