BazaPrawa.

Checklista kontroli podatkowej: 20 logów z KSeF, o które urząd zapyta najpierw

zespół BazaPrawa | 18 marca 2025

Checklista kontroli podatkowej KSeF – 20 kluczowych logów

1. Dlaczego logi KSeF są kluczowe w kontroli?

Od wejścia KSeF 2.0 faktura ustrukturyzowana żyje w systemie: każdy status, korekta i odrzucenie pozostawia cyfrowy ślad. Organy podatkowe zaczynają kontrole właśnie od logów, bo:


2. Top-20 logów, o które urząd poprosi w pierwszym dniu

#Nazwa logu (pole w API)Gdzie pobrać (endpoint)Dlaczego ważny?
1InvoiceHeader→KodKrajuNadaniaGET /invoice/uuidweryfikacja zgodności kraju wysyłki z VAT ID
2InvoiceIdentifier→KSeFReferenceNumberGET /invoice/uuidunikalny identyfikator faktury – podstawa krzyżowego sprawdzenia
3ProcessingStatusGET /status/uuidczy faktura została przyjęta, odrzucona czy w kolejce
4TimestampSignedGET /invoice/uuid/signaturedowód terminu wystawienia-podpisu
5TimestampReceivedGET /status/uuiddata rejestracji w KSeF – klucz dla terminu odliczenia VAT
6CorrectionChainGET /corrections/uuidpełna historia korekt FA(2)/FA(3)
7EventLog – InvoiceSentGET /events?type=sentlista faktycznie wysłanych dokumentów (vs. planowane)
8EventLog – InvoiceRejectedGET /events?type=rejectedwskaźnik błędów schemy i niezgodności NIP
9EventLog – InvoiceCancelledGET /events?type=cancelleddowód prawidłowego anulowania błędnych faktur
10BuyerConsentReceiptGET /consents?buyerNip=…pokazuje, od kiedy nabywca akceptuje faktury w KSeF
11SellerGrantAuthorityGET /authorisations?nip=…lista pełnomocnictw UPL-1/ tokenów API
12SignatureHashGET /
14CurrencyCodeGET /invoice/uuidaudyt różnic kursowych i zgodności z JPK_FA
15InvoiceTotalGrossGET /invoice/uuidszybka kontrola sumy brutto vs. JPK_VAT
16TaxPointDate (DataSprzedazy)GET /invoice/uuidwłaściwy moment powstania obowiązku podatkowego
17PaymentDueDateGET /invoice/uuidkontrola ulgi bad debt – 90 dni od terminu
18SplitPaymentFlagGET /invoice/uuidweryfikacja obowiązkowej MPP
19GTU Codes ListGET /invoice/uuidczy prawidłowo kwalifikowano transakcje wyższego ryzyka
20CustomTags (UserData)GET /invoice/uuid/customTwoje dodatkowe pola – urząd je widzi!

Tip: Eksportuj logi w formacie JSON lub CSV; XML zostaw auditors, bo żądają struktury maszynowej do analizy big-data.


3. Jak wyeksportować logi w 15 minut?

  1. Zaloguj się na konto techniczne w środowisku produkcyjnym KSeF.
  2. Użyj tokenu JWT z minimalnym zakresem ksef:invoice:read.
  3. Skrypt GET /events?from=2024-01-01 → zapis do events.json.
  4. Skrypt GET /invoice/{uuid}?include=header,summary po UUID z events.json.
  5. Konwersja do CSV (np. jq -r), podziel plik na mniejsze bloki do 25 MB.
  6. Spakuj ZIP i przygotuj opis struktury (plik README).

UWAGA: urząd może żądać dostępu "online" poprzez zdalną sesję – miej konto testowe gotowe do demonstracji.


4. Checklista przed wejściem audytora


5. FAQ

PytanieKrótka odpowiedź
Czy urząd może żądać logów sprzed uruchomienia KSeF 2.0?Tak, ale tylko w zakresie, w jakim faktury były dobrowolnie w KSeF.
Jak długo trzeba przechowywać SignatureHash?Minimum 5 lat (Ordynacja), zalecane 10 lat ze względu na dyrektywę DAC7.
Czy można redagować dane w BuyerConsentReceipt?Nie – log jest zapisywany w KSeF raz, bez możliwości edycji.
Co jeśli nie mam SplitPaymentFlag, a dotyczy to towarów w załączniku 15?Fiskus uzna to za błąd ewidencji i może nałożyć 100 % sankcję VAT.

6. Podsumowanie

Kontrola 2025+ zaczyna się od logów KSeF – to najprostsza droga dla fiskusa, by wychwycić braki, opóźnienia i nieprawidłowe GTU. Przygotuj eksport top-20, utwórz procedurę ich udostępniania i regularnie testuj integralność. Pół dnia pracy przed audytorem może oszczędzić tygodniowy maraton uzupełnień i ryzyko podwójnego podatku.


Źródła