zespół BazaPrawa | 18 marca 2025
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:
# | Nazwa logu (pole w API) | Gdzie pobrać (endpoint) | Dlaczego ważny? |
---|---|---|---|
1 | InvoiceHeader→KodKrajuNadania | GET /invoice/uuid | weryfikacja zgodności kraju wysyłki z VAT ID |
2 | InvoiceIdentifier→KSeFReferenceNumber | GET /invoice/uuid | unikalny identyfikator faktury – podstawa krzyżowego sprawdzenia |
3 | ProcessingStatus | GET /status/uuid | czy faktura została przyjęta, odrzucona czy w kolejce |
4 | TimestampSigned | GET /invoice/uuid/signature | dowód terminu wystawienia-podpisu |
5 | TimestampReceived | GET /status/uuid | data rejestracji w KSeF – klucz dla terminu odliczenia VAT |
6 | CorrectionChain | GET /corrections/uuid | pełna historia korekt FA(2)/FA(3) |
7 | EventLog – InvoiceSent | GET /events?type=sent | lista faktycznie wysłanych dokumentów (vs. planowane) |
8 | EventLog – InvoiceRejected | GET /events?type=rejected | wskaźnik błędów schemy i niezgodności NIP |
9 | EventLog – InvoiceCancelled | GET /events?type=cancelled | dowód prawidłowego anulowania błędnych faktur |
10 | BuyerConsentReceipt | GET /consents?buyerNip=… | pokazuje, od kiedy nabywca akceptuje faktury w KSeF |
11 | SellerGrantAuthority | GET /authorisations?nip=… | lista pełnomocnictw UPL-1/ tokenów API |
12 | SignatureHash | GET / | |
14 | CurrencyCode | GET /invoice/uuid | audyt różnic kursowych i zgodności z JPK_FA |
15 | InvoiceTotalGross | GET /invoice/uuid | szybka kontrola sumy brutto vs. JPK_VAT |
16 | TaxPointDate (DataSprzedazy) | GET /invoice/uuid | właściwy moment powstania obowiązku podatkowego |
17 | PaymentDueDate | GET /invoice/uuid | kontrola ulgi bad debt – 90 dni od terminu |
18 | SplitPaymentFlag | GET /invoice/uuid | weryfikacja obowiązkowej MPP |
19 | GTU Codes List | GET /invoice/uuid | czy prawidłowo kwalifikowano transakcje wyższego ryzyka |
20 | CustomTags (UserData) | GET /invoice/uuid/custom | Twoje 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.
ksef:invoice:read
.GET /events?from=2024-01-01
→ zapis do events.json
.GET /invoice/{uuid}?include=header,summary
po UUID z events.json.jq -r
), podziel plik na mniejsze bloki do 25 MB.UWAGA: urząd może żądać dostępu "online" poprzez zdalną sesję – miej konto testowe gotowe do demonstracji.
Pytanie | Kró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. |
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.