Kody QR na fakturze KSeF: KOD I, KOD II i tryb offline
Faktura online ma jeden kod QR: KOD I z numerem KSeF. Faktura offline lub offline24 ma dwa: KOD I „OFFLINE” oraz KOD II „CERTYFIKAT”, który potwierdza tożsamość wystawcy i wymaga certyfikatu KSeF typu 2. Kody liczy lokalnie narzędzie wystawiające, według standardu ISO/IEC 18004:2024. API KSeF ich nie zwraca.
Częste pytanie po pierwszym złożeniu faktury: „gdzie jest kod QR?”. KSeF nie zwraca gotowego kodu QR. Generuje go lokalnie narzędzie wystawiające, według standardu ISO/IEC 18004:2024, na podstawie danych faktury i numeru KSeF.
Faktura online: jeden kod (KOD I)
Gdy wystawiasz fakturę bezpośrednio w KSeF (tryb online), na wizualizacji (PDF przekazywanym nabywcy) umieszczasz jeden kod QR, KOD I, a pod nim numer KSeF. Po zeskanowaniu KOD I odsyła do faktury w systemie i służy do weryfikacji autentyczności oraz danych dokumentu.
Czym różni się tryb online od trybu offline?
W trybie online faktura dostaje numer KSeF od razu i ma jeden kod, KOD I. W trybie offline (i offline24) dokument trafia do nabywcy przed nadaniem numeru, więc ma dwa kody: KOD I „OFFLINE” oraz KOD II „CERTYFIKAT”, który poświadcza tożsamość wystawcy i wymaga certyfikatu KSeF typu 2.
Gdy faktura powstaje poza systemem (tryb offline lub offline24), na wizualizacji umieszczasz dwa kody QR:
- KOD I z napisem „OFFLINE” służy do weryfikacji dostępu i danych faktury.
- KOD II z napisem „CERTYFIKAT” potwierdza tożsamość wystawcy. Jego wygenerowanie wymaga certyfikatu KSeF typu 2.
Tryb offline24
Tryb offline24 wynika z art. 106nda ustawy o VAT i obowiązuje od 1 lutego 2026. Pozwala wystawić fakturę poza KSeF i przesłać ją do systemu najpóźniej w następnym dniu roboczym, by faktura otrzymała numer KSeF. Do czasu przesłania dokument krąży z dwoma kodami QR (KOD I „OFFLINE” + KOD II „CERTYFIKAT”), po których nabywca zweryfikuje go jeszcze przed nadaniem numeru.
Skąd się biorą kody: liczysz je sam
KSeF nadaje numer KSeF i UPO, ale kody QR generujesz samodzielnie na podstawie danych faktury i numeru KSeF. Wynikają z tego dwie rzeczy:
- Twoje narzędzie musi umieć policzyć kod QR (a w trybie offline także KOD II), a nie tylko odebrać go z API.
- Kod jest spójny z konkretnym dokumentem, więc nie da się go „pożyczyć” z innej faktury.
KSeF Kit liczy KOD I sam, z bajtów faktycznie wysłanych do KSeF, i zapisuje gotowy link weryfikacyjny przy fakturze eksportowej. Wizualizacji nie generujemy: obraz kodu umieszczasz na wydruku po swojej stronie.
Kiedy kody QR są szczególnie ważne
Kody QR mają największe znaczenie przy fakturach przekazywanych poza systemem, których odbiorca nie ma dostępu do KSeF:
- Nabywcy zagraniczni: QR jest ich drogą do weryfikacji. Zobacz fakturę eksportową.
- Konsumenci oraz nabywcy bez NIP: dostają PDF, a nie wgląd do systemu.
Najczęstsze nieporozumienia
- „QR przyjdzie z API KSeF”: nie, liczysz go lokalnie.
- „Faktura zawsze ma jeden kod”: nie, offline i offline24 mają dwa (KOD I + KOD II).
- „QR zastępuje numer KSeF”: nie, to uzupełnienie i droga do weryfikacji.
Nie licz kodów ręcznie
Generowanie KOD I i KOD II bywa źródłem błędów wdrożeniowych. KSeF Kit liczy KOD I za Ciebie i trzyma link weryfikacyjny przy złożonej fakturze eksportowej, więc nie musisz znać wzoru. Samej wizualizacji nie tworzymy. Zobacz czym jest UPO i jak wystawić fakturę.