Numer KSeF to 35-znakowy identyfikator nadawany przez system Ministerstwa Finansów w momencie przyjęcia faktury — jest dowodem jej wystawienia i niezbędnym elementem w JPK_V7M(3) oraz przelewie split payment. Sprawdź, gdzie go znaleźć, jak wygląda jego budowa, gdzie trzeba go podawać i jakie błędy popełniają firmy przy jego stosowaniu.
Czym jest numer KSeF i jak powstaje
Numer KSeF (Krajowego Systemu e-Faktur) to unikalny identyfikator, który system Ministerstwa Finansów nadaje każdej prawidłowo złożonej fakturze elektronicznej. Jest on przyznawany automatycznie po walidacji pliku XML w schemacie FA(3) — jeżeli faktura przeszła wszystkie kontrole formalne i merytoryczne.
Numer KSeF ma stałą długość 35 znaków i jest unikalny globalnie — nie mogą istnieć dwie faktury z tym samym numerem KSeF w całej bazie MF, niezależnie od tego, kto je wystawił. Numer jest przypisany do faktury na stałe i nie zmienia się — nawet jeśli faktura zostanie skorygowana, korekta otrzymuje własny numer KSeF, a numer faktury pierwotnej pozostaje niezmieniony.
Budowa numeru KSeF: 35-znakowy ciąg alfanumeryczny, generowany przez algorytm MF. Zawiera zakodowane informacje o dacie nadania, identyfikatorze wystawcy i sekwencji dokumentu — choć dla podatnika jest on traktowany jako niepodzielny ciąg znaków, bez potrzeby jego „dekodowania”. W praktyce nie ma znaczenia, co kryje się w środku numeru — liczy się to, że jest on unikalny i możliwy do weryfikacji przez dowolną stronę transakcji.
Wyobraź sobie numer KSeF jak numer PESEL dla faktur: każda faktura ma swój unikalny, niepowtarzalny identyfikator nadany przez państwowy system, który jednoznacznie ją identyfikuje w całej bazie dokumentów. Twój numer własny faktury (np. FV/001/04/2026) to coś w rodzaju imienia i nazwiska — przydatnego w komunikacji z kontrahentem, ale niejednoznacznego globalnie. Numer KSeF to właśnie ten globalny PESEL dokumentu.
Jak i kiedy numer KSeF jest przyznawany
Numer KSeF nie istnieje w momencie tworzenia faktury — powstaje dopiero w wyniku interakcji Twojego systemu z platformą Ministerstwa Finansów. Proces przebiega następująco:
- Krok 1 — wysłanie faktury: Twój program generuje plik XML w schemacie FA(3) i przesyła go do API KSeF przy użyciu certyfikatu, tokenu lub podpisu kwalifikowanego.
- Krok 2 — walidacja formalna: System KSeF sprawdza poprawność struktury XML, kompletność pól obowiązkowych, zgodność z regułami biznesowymi schematu FA(3) oraz poprawność NIP wystawcy.
- Krok 3 — walidacja merytoryczna: Sprawdzana jest m.in. zgodność NIP wystawcy z kontem uwierzytelnionym w sesji, poprawność daty wystawienia oraz wewnętrzna spójność dokumentu.
- Krok 4 — nadanie numeru i UPO: Jeśli faktura przeszła wszystkie kontrole, system nadaje jej numer KSeF, rejestruje w bazie i generuje UPO (Urzędowe Potwierdzenie Odbioru) podpisane cyfrowo przez serwery MF.
- Krok 5 — pobranie numeru: Twój program pobiera numer KSeF z UPO lub z odpowiedzi API i zapisuje go w bazie danych faktury.
Cały ten proces zajmuje od kilku sekund do kilku minut, w zależności od obciążenia serwerów MF. W czasie wzmożonego ruchu (koniec miesiąca, termin składania JPK) czas przetwarzania może się wydłużyć. Dlatego dobry program nie blokuje interfejsu na czas oczekiwania — wysyła fakturę asynchronicznie i powiadamia Cię o nadaniu numeru KSeF.
Gdzie znaleźć numer KSeF faktury
Numer KSeF można znaleźć w kilku miejscach — wybierz to, które jest najwygodniejsze w Twojej pracy:
W UPO (Urzędowym Potwierdzeniu Odbioru)
UPO to dokument generowany przez KSeF po przyjęciu faktury. Jest to plik XML lub dokument PDF zawierający: numer KSeF, datę i godzinę przyjęcia faktury, skrót kryptograficzny (hash) pliku faktury oraz cyfrowy podpis systemu KSeF. UPO jest dowodem, że faktura trafiła do systemu i uzyskała numer. Przechowuj UPO razem z plikiem XML faktury — tworzą razem kompletne archiwum dokumentu dla celów kontrolnych.
W Aplikacji Podatnika MF
Po zalogowaniu do app.ksef.mf.gov.pl, w sekcji „Faktury wystawione” lub „Faktury otrzymane” — numer KSeF jest widoczny na liście obok numeru własnego faktury i daty wystawienia. Możesz tu wyszukiwać faktury po numerze własnym, dacie, NIP nabywcy lub właśnie po numerze KSeF. Aplikacja podatnika MF jest dostępna bezpłatnie dla każdego podatnika VAT zarejestrowanego w Polsce.
W programie do faktur
Dobry program do fakturowania pobiera numer KSeF automatycznie po wysyłce do systemu i wyświetla go w szczegółach faktury. Numer jest też automatycznie wstawiany do pola w JPK_V7M przy generowaniu raportu miesięcznego. W KSeFakt numer KSeF widoczny jest bezpośrednio na karcie faktury — bez konieczności wchodzenia do UPO czy aplikacji MF.
Na wizualizacji PDF (opcjonalnie)
Wiele programów drukuje numer KSeF na wizualizacji PDF faktury — pod danymi sprzedawcy lub na dole dokumentu. Nie jest to wymagane przepisami, ale znacznie ułatwia pracę nabywcom i działom księgowości: mogą łatwo powiązać wydruk faktury z wpisem w JPK czy poleceniem przelewu. Jeśli wysyłasz kontrahentowi PDF jako dodatkową wizualizację, warto go tam umieścić.
Przez anonimowy dostęp — qr.ksef.mf.gov.pl
Każda faktura w KSeF może być zweryfikowana przez kontrahenta bez logowania — wystarczy wejść na qr.ksef.mf.gov.pl i wpisać numer KSeF. System zwróci podstawowe dane faktury (NIP wystawcy, kwotę, datę), potwierdzając jej autentyczność. Więcej o tym mechanizmie przeczytasz w artykule o anonimowym dostępie do KSeF.
Zastosowania numeru KSeF — gdzie i kiedy go podawać
| Zastosowanie | Gdzie podawać | Obowiązkowe? |
|---|---|---|
| Ewidencja VAT sprzedawcy | JPK_V7M(3) — pole NrKSeF w SprzedazWiersz | Tak — obowiązkowo |
| Ewidencja VAT nabywcy | JPK_V7M(3) — pole NrKSeF w ZakupWiersz | Tak — obowiązkowo |
| Przelew split payment | Tytuł przelewu: /VAT/kwota/IDC/NIP sprzedawcy/INV/numer KSeF lub własny | Zalecane — numer KSeF jako identyfikator |
| Faktura korygująca | Pole NrKSeFFaKorygowanej w FA(3) | Tak — obowiązkowo przy korektach |
| Faktura końcowa po zaliczkach | Pole ZaliczkiFaktury — lista numerów KSeF zaliczek | Tak — przy fakturach końcowych |
| Anonimowa weryfikacja | qr.ksef.mf.gov.pl — weryfikacja autentyczności przez kontrahenta | Opcjonalne |
| Faktura do paragonu fiskalnego | W treści dokumentu i w JPK_V7M | Tak — od 1.01.2027 |
| Weryfikacja w kontroli skarbowej | Na żądanie organu — numer KSeF pozwala organowi pobrać fakturę z systemu MF | Na żądanie |
Numer KSeF a split payment — jak prawidłowo podać w przelewie
Mechanizm podzielonej płatności (split payment) wymaga podania w tytule przelewu identyfikatora faktury. Od wejścia KSeF preferowanym identyfikatorem jest numer KSeF — choć nadal dopuszczalny jest numer własny faktury. W praktyce coraz więcej banków i systemów księgowych domyślnie proponuje numer KSeF jako identyfikator w tytule przelewu split payment.
Prawidłowy tytuł przelewu split payment z numerem KSeF:
/VAT/1234.56/IDC/1234567890/INV/[numer KSeF lub numer własny faktury]
Gdzie: /VAT/ — kwota VAT, /IDC/ — NIP sprzedawcy, /INV/ — numer faktury (może być numer KSeF lub własny). Użycie numeru KSeF jest preferowane, bo pozwala bankowi i organom skarbowym jednoznacznie powiązać przelew z konkretną fakturą w bazie MF — bez niejednoznaczności, która może wystąpić przy numerze własnym (dwa różni wystawcy mogą mieć fakturę FV/001/04/2026).
Pamiętaj: tytuł przelewu split payment jest generowany automatycznie przez większość programów do fakturowania po pobraniu numeru KSeF. Nie musisz go ręcznie wpisywać — wystarczy, że Twój program ma integrację z KSeF i automatycznie uzupełnia dane przelewu.
Numer KSeF a numer własny faktury — kluczowe różnice
Podatnicy często mylą te dwa numery lub nie wiedzą, który stosować w konkretnym kontekście. Poniżej jasne rozróżnienie:
- Numer własny faktury (NrFa w FA(3)) — to numer, który sam nadajesz fakturze w swoim programie (np. FV/001/04/2026). Jest to numer wynikający z Twojej wewnętrznej numeracji. Musi być unikalny w obrębie Twojej firmy i ciągły w danym roku podatkowym. Znasz go przed wysłaniem faktury do systemu — sam go generujesz.
- Numer KSeF — to numer nadany przez system MF po przyjęciu faktury. Jest unikalny globalnie, w całej bazie KSeF. Nie znasz go przed wysłaniem faktury do systemu — dopiero po wysyłce i przyjęciu otrzymujesz UPO z numerem KSeF. Nie możesz go wybrać ani zmienić.
Na fakturze mogą figurować oba numery: Twój własny numer (widoczny na wydruku jako „Nr faktury: FV/001/04/2026”) i numer KSeF (dodawany przez program jako „Nr KSeF: [35 znaków]”). Dla celów podatkowych i ewidencji VAT kluczowy jest numer KSeF — to on identyfikuje fakturę w JPK, korekcie i przelewie split payment.
Konkret: W JPK_V7M(3) w polu NrKSeF wpisujesz 35-znakowy numer KSeF, nie swój własny numer faktury. Własny numer faktury trafia do innego pola — NrFaktury — i służy do wewnętrznego porządkowania dokumentów, nie do identyfikacji w systemie skarbowym.
Kody zastępcze — gdy nie ma numeru KSeF
Są sytuacje, gdy faktura nie uzyska numeru KSeF w momencie wystawienia. Schemat JPK_V7M(3) przewiduje trzy kody zastępcze, które wpisujesz w polu NrKSeF zamiast właściwego numeru:
- OFF — faktura wystawiona w trybie offline (offline24 lub offline w awarii). Wstawiasz kod OFF i przesyłasz fakturę do KSeF w ciągu 24 godzin (offline24) lub 7 dni (awaria MF). Po jej przyjęciu przez KSeF powinieneś zaktualizować JPK — złożyć korektę za poprzedni miesiąc z właściwym numerem KSeF.
- BFK — faktura bez KSeF z powodu przepisów szczególnych (np. faktury konsumenckie B2C, faktury eksportowe do krajów trzecich, faktury wystawione przez rolnika ryczałtowego). Kod BFK sygnalizuje, że faktura nie podlega obowiązkowi KSeF z mocy prawa.
- DI — faktury z dokumentów identyfikacyjnych (np. import usług udokumentowany fakturą zagraniczną, dla której wystawiasz fakturę wewnętrzną). Kod DI stosuje się przy wewnętrznym rozliczeniu podatku.
W praktyce: kod OFF jest tymczasowy — po powrocie do trybu online i przesłaniu faktury do KSeF powinieneś uzupełnić numer KSeF w ewidencji. Kody BFK i DI są trwałe — faktura nigdy nie uzyska numeru KSeF z powodów prawnych. Szczegółowe zasady stosowania kodów opisuje artykuł o łączeniu KSeF z JPK_V7M.
FAQ — najczęstsze pytania o numer KSeF
Czy muszę podawać numer KSeF na wydruku/PDF faktury?
Przepisy nie wymagają drukowania numeru KSeF na wizualizacji faktury — ale jest to dobra praktyka, bo ułatwia nabywcy pracę z dokumentem (weryfikacja, powiązanie z JPK, przelew split payment). Większość programów dodaje numer KSeF na wydruku automatycznie po jego nadaniu przez system MF.
Czy numer KSeF zmienia się po korekcie?
Nie — numer KSeF faktury pierwotnej pozostaje bez zmian. Korekta otrzymuje własny, nowy numer KSeF. W schemacie FA(3) korekta odwołuje się do numeru KSeF faktury pierwotnej przez pole NrKSeFFaKorygowanej. Szczegółowe zasady opisuje artykuł o fakturze korygującej w KSeF.
Co jeśli faktura ma kod OFF w JPK — czy mam numer KSeF?
Nie — kod OFF w JPK_V7M oznacza, że faktura nie trafiła jeszcze do KSeF i nie ma numeru. Po przesłaniu faktury do KSeF (po powrocie z trybu offline) program pobierze numer KSeF i powinieneś zaktualizować JPK, składając korektę za poprzedni miesiąc z właściwym numerem. Szczegóły znajdziesz w artykule o numerze KSeF w JPK_V7M.
Jak długo ważny jest numer KSeF?
Numer KSeF jest ważny przez cały okres przechowywania faktury w systemie KSeF — 10 lat od końca roku wystawienia. Po tym czasie faktura może być archiwizowana przez MF, ale numer jako historyczny identyfikator pozostaje w dokumentacji podatnika. Pamiętaj, że podatnik ma obowiązek przechowywania własnej kopii faktury — system KSeF nie zwalnia z tego obowiązku, choć MF pełni rolę centralnego archiwum.
Czy numer KSeF jest widoczny dla nabywcy?
Tak — nabywca ma dostęp do faktur wystawionych na jego NIP przez panel KSeF lub API. Widzi też numer KSeF każdej faktury, co umożliwia mu wpisanie go do JPK_V7M(3) po swojej stronie. Jest to jedna z kluczowych zalet systemu: automatyczne dopasowanie faktur sprzedaży wystawcy z fakturami zakupu nabywcy eliminuje rozbieżności w ewidencji VAT obu stron.
Co się stanie, jeśli system KSeF jest niedostępny i nie można uzyskać numeru?
W czasie awarii MF lub planowanych przerw technicznych system przechodzi w tryb awaryjny. Możesz wystawiać faktury w trybie offline i używać kodu OFF w JPK. Po przywróceniu systemu masz 24 godziny (offline24) lub 7 dni (awaria MF) na przesłanie faktur do systemu i uzyskanie numerów KSeF. W sytuacji całkowitej awarii bez dostępu do systemu faktura wystawiona na kartce lub w PDF jest ważna — numer KSeF uzupełniasz po awarii.
Co dalej
Jeśli chcesz, żeby program automatycznie pobierał numer KSeF po każdej wysyłce i wstawiał go do JPK, split payment i korekt — sprawdź cennik KSeFakt albo listę funkcji. Dołącz do listy oczekujących i nie trać czasu na ręczne kopiowanie 35-znakowych numerów między systemami.