Wprowadzenie
Tryb offline KSeF to procedura awaryjna Ministerstwa Finansów na fakturowanie, gdy platforma jest niedostępna; dokument i tak trzeba później przesłać do KSeF, w oknie wyznaczonym przez Ministerstwo. W KSeF 2.0 faktura offline ma dwa kody QR: KOD I to link weryfikacyjny generowany przez wystawcę z sumy SHA-256 pliku XML, a KOD II to kod QR wystawcy podpisany certyfikatem KSeF typu Offline.
Po co jest tryb offline
KSeF to krajowa platforma e-fakturowania Ministerstwa Finansów. Gdy platforma albo Twoje połączenie z nią zawodzi, biznes nie staje w miejscu, dlatego Ministerstwo publikuje procedurę awaryjną. W jej ramach fakturę wystawia się poza systemem, a po powrocie KSeF wysyła się ją do systemu — tak, żeby dokument ostatecznie trafił do oficjalnego rejestru z numerem KSeF i UPO.
KOD I i KOD II na fakturze offline
To dwa różne kody QR, a nie dwa stany jednego kodu. KOD I to link weryfikacyjny faktury: wystawca generuje go z sumy SHA-256 dokładnych bajtów pliku XML — zarówno w trybie online, jak i offline. KSeF go nie zwraca. Link ma postać https://{host}/invoice/{NIP sprzedawcy}/{data wystawienia}/{hash} i nie niesie numeru KSeF w adresie URL. Na zaakceptowanej fakturze pod kodem QR widnieje numer KSeF; na dokumencie, który nie został jeszcze przyjęty, widnieje „OFFLINE". KOD II to kod QR wystawcy podpisany certyfikatem KSeF typu Offline, z etykietą CERTYFIKAT, weryfikujący wystawcę przez link /certificate/; pojawia się jako drugi kod na dokumencie offline, zawsze obok KOD I — nic nie jest później podmieniane.
Jak bezpiecznie przetrwać awarię
Trzymaj fakturę w kolejce ze stabilnym kluczem idempotencji, ponawiaj wysyłkę z narastającym opóźnieniem i nigdy nie wysyłaj tego samego dokumentu dwa razy tylko dlatego, że timeout pozostawił niejasny wynik. Moment otrzymania numeru KSeF i UPO oznacza, że faktura oficjalnie weszła do systemu; wcześniej dokument wciąż czeka.
Rola Notaly
API takie jak Notaly bierze na siebie kolejkę i ponowienia: wysyłasz fakturę raz, a ono zwraca status i UPO przez webhook. Notaly generuje kod KOD I dla faktur, które wysyła (z sumy SHA-256 wysłanego XML), ale dziś nie wystawia dokumentów offline. Gdy KSeF jest niedostępny, Notaly trzyma fakturę w stanie pending i ponawia wysyłkę z narastającym opóźnieniem; ostateczny status dostajesz przez webhook.
FAQ
Czym różni się KOD I od KOD II? KOD I to link weryfikacyjny wystawcy zbudowany z sumy SHA-256 pliku XML faktury i do akceptacji pokazuje „OFFLINE"; KOD II to kod QR wystawcy podpisany certyfikatem KSeF typu Offline.
Czy podczas awarii KSeF mogę dalej fakturować? Służy do tego tryb offline, ale potwierdź aktualne okno na przesłanie i zasady w procedurach Ministerstwa, zanim na nim polegasz.
Zastrzeżenie
Notaly nie jest doradcą podatkowym, księgowym ani prawnym. Ten artykuł ma charakter informacyjny, nie stanowi porady podatkowej i może być nieaktualny. Ponosisz odpowiedzialność za własne rozliczenia VAT; w razie potrzeby skonsultuj się z wykwalifikowanym księgowym.
Źródła
Źródło: www.podatki.gov.pl