Co dokładnie zapisuje KSeF i kiedy powstaje ślad
Tekst opracowany z wykorzystaniem sztucznej inteligencji. Zasady i ograniczenia
Krajowy System e-Faktur rejestruje każde zdarzenie teleinformatyczne związane z obiegiem ustrukturyzowanych dokumentów finansowych. Każda operacja jest zapisywana z dokładnością do sekundy UTC, co eliminuje ryzyko antydatowania dokumentów lub manipulacji czasem wpływu faktury. Ślad cyfrowy generowany jest automatycznie w momencie interakcji użytkownika lub systemu ERP z interfejsem API Ministerstwa Finansów, a zgromadzone metadane stanowią dowód rzeczowy w rozumieniu art. 115 § 14 Kodeksu karnego.
Zdarzenia tworzące ślad obejmują pełny cykl życia dokumentu oraz aktywność autoryzacyjną podmiotów uprawnionych. Rejestracji podlegają następujące czynności:
- Logowanie do systemu - zarejestrowano identyfikator podatnika, adres IP oraz precyzyjny znacznik czasu.
- Wystawienie faktury - wygenerowano unikalny numer UUID dokumentu, utrwalono strukturę XML oraz zweryfikowano podpis kwalifikowany.
- Odebranie faktury - nadano status „delivered” i przypisano identyfikator podmiotu odbierającego.
- Odrzucenie dokumentu - odnotowano błąd walidacji semantycznej lub technicznej wraz z kodem błędu.
- Anulowanie - wprowadzono powód anulowania oraz zidentyfikowano osobę dokonującą tej operacji.
- Korekta - powiązano nową fakturę ustrukturyzowaną z numerem KSeF dokumentu pierwotnego.
Dane przechowywane są w formacie XML zgodnym ze schematem XSD opublikowanym przez Ministerstwo Finansów. Zgodnie z art. 106l § 1 Ordynacji podatkowej, okres retencji tych danych wynosi 10 lat, licząc od końca roku, w którym faktura została wystawiona. Administrator danych musi zapewnić odpowiednie warunki techniczne i organizacyjne przetwarzania tych informacji, aby zachować ich walor dowodowy przed organami takimi jak Krajowa Administracja Skarbowa.
Warto implementować procedurę sprawdzania, czy adres IP w logach nie pochodzi z nieautoryzowanej lokalizacji, co pozwala na wczesne wykrycie incydentów bezpieczeństwa. Ponadto zaleca się zachowywanie własnych kopii plików XML wraz z urzędowym poświadczeniem odbioru (UPO) przed dokonaniem kolejnych operacji systemowych. Prawidłowo zabezpieczony dowód elektroniczny, opatrzony wyliczoną sumą kontrolną, jest niezbędny do wykazania rzetelności działań w przypadku sporów z organami podatkowymi lub nieuczciwymi pracownikami.
Kto ma dostęp do śladu cyfrowego i na jakiej podstawie
Dostęp do dziennika zdarzeń i śladu cyfrowego faktur ustrukturyzowanych jest ściśle regulowany przepisami prawa krajowego. Uprawnienia te nie są powszechne i wynikają bezpośrednio z ról procesowych oraz ustawowych kompetencji kontrolnych. Krajowy System e-Faktur pełni funkcję cyfrowego sejfu, do którego klucze posiadają wyłącznie podmioty legitymujące się interesem prawnym lub uprawnieniem władczym.
Zestawienie podmiotów uprawnionych do wglądu w dane audytowe obejmuje:
- Właściciel konta (podatnik) - posiada pełny dostęp na podstawie art. 28b Ustawy o KSeF.
- Upoważniony księgowy lub biuro rachunkowe - działa na podstawie udzielonego w systemie uprawnienia (ZAW-FA).
- Krajowa Administracja Skarbowa (KAS) - uzyskuje wgląd w toku czynności sprawdzających na podstawie art. 287 § 1 Ordynacji podatkowej.
- Sąd powszechny - może żądać udostępnienia logów jako dowodu w sprawie na podstawie art. 156 Kodeksu postępowania cywilnego.
Procedura pozyskiwania logów różni się w zależności od podmiotu wnioskującego. Podatnik może pobrać pełną historię operacji natychmiastowo po uwierzytelnieniu się w panelu użytkownika lub poprzez API. W przypadku organów podatkowych, żądanie udostępnienia danych następuje w formie sformalizowanej. KAS może skierować wniosek KAS-26, na który podatnik lub operator systemu musi odpowiedzieć w terminie 14 dni, o ile logi nie są pobierane bezpośrednio z centralnej bazy Ministerstwa Finansów.
| Podmiot | Podstawa prawna | Czas odpowiedzi |
|---|---|---|
| Podatnik | art. 28b Ustawy o KSeF | natychmiast |
| KAS | art. 287 § 1 Ordynacji | 14 dni |
Należy przygotować prokurentów oraz osoby decyzyjne do sprawnego zarządzania uprawnieniami w systemie, co jest istotne w przypadku nagłych kontroli. Zapisanie numerów konkretnych referatów KAS przyspiesza wymianę korespondencji i ułatwia procesowanie wniosków o udostępnienie danych historycznych. Pamiętać należy, że KAS może żądać logów wyłącznie w toku prowadzonych czynności sprawdzających, kontroli podatkowej lub celno-skarbowej, co ogranicza ryzyko nieuzasadnionej inwigilacji operacji gospodarczych.
Jak czytać logi KSeF - praktyczny przykład z XML
Analiza pliku audit-trail.xml wymaga znajomości struktury metadanych stosowanych przez Ministerstwo Finansów. Logi te nie są prezentowane w formie opisowej, lecz jako ustrukturyzowane znaczniki techniczne. Zrozumienie poszczególnych pól pozwala na precyzyjne odtworzenie sekwencji zdarzeń i weryfikację, czy dany dokument został procesowany zgodnie z procedurami wewnętrznymi firmy (compliance).
Poniżej przedstawiono fragment struktury logu zdarzeń dla pojedynczej faktury:
<Event>
<EventID>0001</EventID>
<UserUUID>9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d</UserUUID>
<TimestampUTC>2026-02-03T10:00:00.123Z</TimestampUTC>
<DocumentUUID>20260203-FA-1234567890-ABCDE-01</DocumentUUID>
<ActionType>Issue</ActionType>
<SourceIP>192.168.1.105</SourceIP>
</Event>
Interpretacja kolejności zdarzeń pozwala na wyciągnięcie istotnych wniosków dotyczących wydajności systemów ERP oraz terminowości dostawców. Przykładowo, jeśli TimestampUTC dla EventID 0001 (Issue) wynosi 10:00:00, a dla EventID 0002 (Deliver) wynosi 10:02:07, różnica czasu wynosi dokładnie 127 sekund (2 minuty i 7 sekund). Taka analiza pozwala stwierdzić, jak szybko infrastruktura Ministerstwa Finansów przetworzyła dokument i nadała mu status doręczonego.
Do efektywnej pracy z dużymi zbiorami logów zaleca się wykorzystanie darmowych edytorów XML, takich jak Notepad++ z zainstalowaną wtyczką XML Tools, co umożliwia kolapsowanie gałęzi i szybkie wyszukiwanie fraz. Warto również sporządzić stałe mapowanie EventID na nazwy operacji (np. 0003 oznacza „Cancel”), co znacząco przyspiesza procesy audytorskie prowadzone przez CFO lub dział księgowości. Precyzyjne czytanie logów jest kluczowe w sytuacjach awaryjnych, gdy wymagane jest udowodnienie wysłania XML w terminie 7 dni roboczych od ustania awarii systemu.
Najczęstsze błędy podczas audytu i jak ich unikać
Audyt śladu cyfrowego może napotkać na trudności wynikające z błędów technicznych po stronie podatnika lub specyfiki działania interfejsu API KSeF. Brak spójności w logach nie zawsze oznacza próbę oszustwa, często jest wynikiem niedoskonałości procesów przetwarzania danych lub błędów w konfiguracji systemów finansowo-księgowych. Rozpoznanie tych anomalii jest kluczowe dla zachowania rzetelności ksiąg podatkowych.
W procesie weryfikacji należy zwrócić uwagę na następujące scenariusze błędów:
- Brak wpisu EventID=0003 mimo statusu anulowanej faktury - sytuacja taka występuje najczęściej, gdy operacja była wykonywana w trybie offline, a synchronizacja z systemem centralnym nie została poprawnie sfinalizowana.
- Różnica czasu przekraczająca 300 sekund (5 minut) między statusem „Deliver” a pierwszym wywołaniem metody „GetInvoice” - wskazuje to na opóźnienia w kolejkach po stronie KAS lub niewydolność skryptów pobierających dane po stronie odbiorcy.
- Pusta sekcja Signature w logu zdarzenia - błąd ten sugeruje, że do autoryzacji użyto wyłącznie Profilu Zaufanego zamiast podpisu kwalifikowanego, co w niektórych procedurach wysokiego bezpieczeństwa może być kwestionowane.
Podczas pracy z API KSeF należy pamiętać o ograniczeniach technicznych. Limit czasu na pobranie pojedynczego loga zdarzeń wynosi zazwyczaj 30 dni od daty jego wystąpienia w kontekście szybkich sesji, natomiast dane historyczne wymagają zapytania o archiwum. API zwraca kod błędu 422, gdy podmiot żąda dostępów do pól niedostępnych dla jego roli, co często mylone jest z awarią systemu.
Czy KSeF zapisuje adres IP osoby wystawiającej fakturę?
Jak długo przechowywane są logi anulowanych faktur?
Czy mogę pobrać logi za cały miesiąc jednym plikiem?
W celu optymalizacji pracy audytorskiej warto przygotować skrypt w środowisku PowerShell, który automatycznie obsłuży pętlę stronicowania przy dużych wolumenach danych. Dodatkowo, dobrą praktyką jest weryfikacja sum kontrolnych MD5 pobranych plików XML. KSeF udostępnia te wartości w nagłówku ETag, co pozwala na natychmiastowe potwierdzenie, że pobrany plik jest identyczny z tym, który został zarejestrowany w państwowym systemie teleinformatycznym.
Redakcja · wszystkie artykuły