Kod QR na fakturze KSeF — co w nim jest i co potwierdza
Co dokładnie zawiera kod QR z faktury w Krajowym Systemie e-Faktur, czym różni się KOD I od KOD II i po czym poznać kod prowadzący w złe miejsce.
Na fakturach pojawił się kod QR. Nie jest ozdobą i nie zawiera kwoty do zapłaty — prowadzi pod adres, pod którym można sprawdzić, czy ta faktura rzeczywiście trafiła do Krajowego Systemu e-Faktur.
Warto wiedzieć, co w nim jest, bo to właśnie ten kod bywa podmieniany na fałszywych fakturach.
KOD I: weryfikacja faktury
Pierwszy kod jest na każdej fakturze, niezależnie od trybu wystawienia. Zawiera adres zbudowany z czterech części:
https://qr.ksef.mf.gov.pl/invoice/{NIP sprzedawcy}/{DD-MM-RRRR}/{skrót pliku faktury}
- NIP sprzedawcy — dziesięć cyfr, z pola Podmiot1 faktury.
- Data wystawienia — pole
P_1, w formacie dzień-miesiąc-rok. - Skrót pliku faktury — wynik funkcji SHA-256 policzonej z pliku faktury, zapisany w Base64URL.
Skrót jest tu najważniejszy. To on wiąże kod z konkretną treścią dokumentu: zmiana jednej cyfry w kwocie daje zupełnie inny skrót, więc kod przestaje pasować do faktury, na której jest wydrukowany.
Pod kodem drukuje się numer KSeF faktury, a jeśli nie został jeszcze nadany — napis OFFLINE.
KOD II: weryfikacja wystawcy
Drugi kod pojawia się wyłącznie na fakturach wystawianych w trybie offline i jest podpisany CERTYFIKAT. Zawiera numer seryjny certyfikatu KSeF wystawcy i podpis złożony kluczem prywatnym tego certyfikatu.
Potwierdza więc kto wystawił fakturę, a nie to, że faktura trafiła już do systemu. To dwie różne rzeczy i łatwo je pomylić.
Po czym poznać kod prowadzący w złe miejsce
Ministerstwo Finansów publikuje dokładnie trzy adresy:
| Środowisko | Adres |
|---|---|
| Produkcyjne | qr.ksef.mf.gov.pl |
| Przedprodukcyjne | qr-demo.ksef.mf.gov.pl |
| Testowe | qr-test.ksef.mf.gov.pl |
Każdy inny adres nie jest adresem KSeF, nawet jeśli wygląda podobnie i zawiera w sobie słowa „ksef" i „gov". Kod QR na papierze nie pokazuje, dokąd prowadzi, dopóki się go nie zeskanuje — i na tym polega problem.
Czytnik kodów rozkłada taki kod na pola i sprawdza domenę. Jeśli adres nie jest jednym z trzech powyższych, pokazujemy go jako tekst, bez możliwości kliknięcia, i mówimy o tym wprost.
Czego kod nie potwierdza
Poprawnie zbudowany kod QR nie znaczy, że faktura jest prawdziwa. Znaczy tyle, że ktoś zbudował adres zgodnie ze schematem. Potwierdzeniem jest dopiero strona, którą ten adres otworzy: jeśli system Ministerstwa Finansów pokaże fakturę o takim skrócie, wystawioną przez ten NIP i tego dnia, to jest potwierdzenie. Sam kod nim nie jest.
Dotyczy to również rachunku bankowego. Kod KSeF nie zawiera numeru rachunku i niczego o nim nie mówi — numer do przelewu bierze się z treści faktury i to jego warto porównać z tym, co wiadomo o kontrahencie.
W skrócie
- Kod QR na fakturze prowadzi do weryfikacji w KSeF, nie do płatności.
- Zawiera NIP sprzedawcy, datę wystawienia i skrót pliku faktury.
- Drugi kod, opisany
CERTYFIKAT, dotyczy wystawcy i pojawia się tylko w trybie offline. - Jedyne prawdziwe adresy to
qr.ksef.mf.gov.ploraz jego odpowiedniki demo i test. - Potwierdzeniem jest strona, którą kod otworzy, a nie sam kod.
Tryby wystawiania a liczba kodów
Liczba kodów na fakturze wynika z tego, jak została wystawiona.
Tryb online, czyli zwykły: faktura trafia do systemu od razu i dostaje numer KSeF. Wtedy na wydruku jest jeden kod — ten weryfikacyjny — a pod nim numer KSeF.
Tryby offline, przewidziane na wypadek awarii lub braku łączności: faktura powstaje i trafia do odbiorcy, zanim dotrze do systemu. Numeru KSeF jeszcze nie ma, więc pod pierwszym kodem drukuje się napis OFFLINE, a obok pojawia się drugi kod, opisany CERTYFIKAT.
Dla odbiorcy faktury praktyczny wniosek jest taki, że dwa kody nie są oznaką nieprawidłowości. Oznaczają fakturę wystawioną poza bieżącym połączeniem z systemem, co jest przewidziane i dozwolone.
Co zrobić, gdy weryfikacja nie potwierdza faktury
Zdarzają się trzy różne sytuacje i warto je rozróżniać, bo prowadzą do różnych działań.
Strona nie znajduje faktury, a kod prowadzi pod prawidłowy adres. Przy fakturze wystawionej offline to normalne, dopóki dokument nie trafi do systemu. Przy fakturze online — warto zapytać wystawcę, zanim się zapłaci.
Kod prowadzi pod adres inny niż oficjalny. To sygnał poważny. Żadna prawdziwa faktura KSeF nie prowadzi poza domeny wymienione wyżej. Nie otwieraj adresu i skontaktuj się z kontrahentem kanałem, który znasz — telefonem na numer z wcześniejszej korespondencji, nie z tej faktury.
Kod w ogóle się nie skanuje. Zwykle to kwestia jakości wydruku albo skanu. Spróbuj zdjęcia z bliska, w lepszym świetle. Jeśli kod jest uszkodzony, dane z faktury można zweryfikować bez niego — sam numer KSeF wystarczy.
Czy kod zastępuje fakturę
Nie. Kod QR jest dodatkiem do wizualizacji faktury, a nie samą fakturą. Dokumentem w rozumieniu systemu jest ustrukturyzowany plik w KSeF; to, co dostajesz na papierze albo w PDF, jest jego przedstawieniem.
Dlatego kod nie zawiera kwoty, pozycji ani numeru rachunku — zawiera dokładnie tyle, ile trzeba, żeby wskazać właściwy dokument w systemie i potwierdzić, że jego treść się nie zmieniła.
Jeśli szukasz kodu, który ułatwia zapłatę, to zupełnie co innego: zapisuje się w nim numer rachunku i kwotę, a opisuje go poradnik o kodzie QR do przelewu. Oba kody mogą występować na jednej fakturze i robią różne rzeczy.
Gdzie szukać pewnych informacji
Zasady KSeF ustala Ministerstwo Finansów i to jego dokumentacja jest jedynym źródłem, na którym warto opierać decyzje. Opracowania w internecie bywają sprzeczne: przy pisaniu tego artykułu natrafiliśmy na co najmniej trzy różne wersje adresu weryfikacyjnego i dwie różne wersje normy dla samego kodu QR.
Dlatego wszystko, co opisujemy wyżej, pochodzi z repozytorium dokumentacji resortu finansów, a datę odczytu podajemy pod artykułem. Jeśli czytasz to znacznie później, sprawdź źródło — my go nie odświeżamy automatycznie.
Źródła
Przy twierdzeniach o cenach, terminach i normach podajemy, skąd pochodzą i kiedy je sprawdziliśmy. Źródła mogą się zmienić bez naszego udziału.