Po wysyłce faktury do Krajowego Systemu e-Faktur (KSeF) podatnicy często pytają: „gdzie jest ten numer KSeF, o którym wszyscy mówią?”. Pytanie nie jest trywialne, bo każda faktura w KSeF ma w praktyce trzy różne identyfikatory, a tylko jeden z nich pełni rolę dowodu doręczenia. W tym artykule pokazujemy, czym dokładnie jest „numer KSeF”, gdzie go znaleźć w Urzędowym Poświadczeniu Odbioru (UPO), w pliku XML faktury oraz w aplikacji webowej Ministerstwa Finansów. Wyjaśniamy też, czym różni się od numeru własnego faktury (np. „FV/2026/04/001”) i kiedy który z nich należy podać klientowi, kontrahentowi albo urzędowi skarbowemu.
Numer KSeF kontra numer faktury: dlaczego to nie to samo
Zanim zaczniemy szukać numeru KSeF, warto zrozumieć, że na każdej fakturze ustrukturyzowanej istnieje co najmniej kilka identyfikatorów, które łatwo ze sobą pomylić.
Numer faktury (P_2 w schemacie FA(3)) to numer nadawany przez wystawcę zgodnie z jego własną konwencją: „FV/2026/04/001”, „FA-001/04/26”, „2026/04/123” (co kto lubi). Ten numer pojawia się w polu <P_2> w XML i jest tym, co klient widzi na PDF-ie wysłanym e-mailem.
Numer KSeF (w API KSeF pole ksefNumber) to identyfikator nadawany przez system Ministerstwa Finansów dopiero po pomyślnym przyjęciu faktury. Ma 35 znaków i zaczyna się od NIP-u sprzedawcy, np. 5252763266-20260923-751BF3800000-CB. Bez niego faktura formalnie nie istnieje w KSeF, nawet jeśli wystawca wpisał już własny P_2.
Numery referencyjne to identyfikatory pomocnicze, które KSeF nadaje sesji i każdej wysyłce faktury (w API pole referenceNumber). Mają 36 znaków i zaczynają się od daty, np. 20250626-SO-2F14610000-242991F8C9-B4 (numer sesji z dokumentacji MF). Przydają się przy diagnostyce, ale nie zastępują numeru KSeF.
W praktyce: klientowi wysyłasz numer faktury (P_2), do księgowości i KAS-u podajesz numer KSeF, a numer sesji zostawiasz sobie na wypadek reklamacji. Pomyłka w tej hierarchii to najczęstszy błąd, jaki widzimy w biurach rachunkowych w pierwszych tygodniach pracy z KSeF.
Gdzie znaleźć numer KSeF: pięć miejsc po kolei
W odpowiedzi z API po wysyłce faktury
Jeżeli korzystasz z systemu zintegrowanego z KSeF API (jak Cockpit KSeF FakturaFlow albo własna integracja), numer KSeF dostajesz w statusie faktury. Sama wysyłka zwraca tylko numer referencyjny faktury. Numer KSeF pojawia się później, w odpowiedzi JSON z endpointu sessions/{referenceNumber}/invoices (lista faktur sesji) albo sessions/{referenceNumber}/invoices/{invoiceReferenceNumber} (jedna faktura). Wygląda to mniej więcej tak (skrócony przykład z dokumentacji MF):
{
"ordinalNumber": 1,
"invoiceNumber": "FA/XPWIC-7900685789/06/2025",
"ksefNumber": "5265877635-20250626-010080DD2B5E-26",
"referenceNumber": "20250918-EE-2F15D39000-242207E5C4-1B",
"acquisitionDate": "2025-09-18T12:24:16.0154302+00:00",
"status": {
"code": 200,
"description": "Sukces"
}
}
Pole ksefNumber to właśnie numer KSeF. Pole referenceNumber to numer referencyjny wysyłki tej faktury, a nie numer KSeF. Pole invoiceNumber to Twój numer własny z P_2. W komunikacji z klientem trzymamy się nazwy „numer KSeF”.
W UPO (Urzędowe Poświadczenie Odbioru)
UPO (Urzędowe Poświadczenie Odbioru) to dokument XML wystawiany przez Ministerstwo Finansów po przetworzeniu sesji wysyłkowej. Pobierasz go z API (zbiorcze UPO sesji z sessions/{referenceNumber}/upo/{upoReferenceNumber} albo UPO jednej faktury z sessions/{referenceNumber}/invoices/ksef/{ksefNumber}/upo) albo bezpośrednio z aplikacji web KSeF. Każda faktura ma w UPO własny blok <Dokument>, a numer KSeF siedzi w elemencie <NumerKSeFDokumentu>. Skrócony przykład z dokumentacji MF (schemat UPO v4-3):
<Potwierdzenie xmlns="http://upo.schematy.mf.gov.pl/KSeF/v4-3">
<NazwaPodmiotuPrzyjmujacego>Ministerstwo Finansów - środowisko testowe (TE)</NazwaPodmiotuPrzyjmujacego>
<NumerReferencyjnySesji>…</NumerReferencyjnySesji>
<!-- dane uwierzytelnienia i schematu pominięte -->
<Dokument>
<NipSprzedawcy>5265877635</NipSprzedawcy>
<NumerKSeFDokumentu>5265877635-20250916-0200A0D6723E-C2</NumerKSeFDokumentu>
<NumerFaktury>FA/XVQUD-9997622510/04/2027</NumerFaktury>
<DataWystawieniaFaktury>2025-09-16</DataWystawieniaFaktury>
<DataPrzeslaniaDokumentu>2025-09-16T11:05:40.841+02:00</DataPrzeslaniaDokumentu>
<DataNadaniaNumeruKSeF>2025-09-16T11:05:41.045+02:00</DataNadaniaNumeruKSeF>
<SkrotDokumentu>GZMGNVzs3krF6URKgvaw77OOeG3nJ+WGziT5xguliQ8=</SkrotDokumentu>
<TrybWysylki>Online</TrybWysylki>
</Dokument>
</Potwierdzenie>
Ten sam blok zawiera numer własny faktury (NumerFaktury) i datę nadania numeru KSeF (DataNadaniaNumeruKSeF).
UPO jest dokumentem urzędowym i to właśnie on (nie sam komunikat z API) stanowi ostateczny dowód, że faktura trafiła do systemu. Dlatego biuro rachunkowe powinno archiwizować UPO dla każdej sesji przez pełny okres przechowywania faktur (10 lat).
W aplikacji web KSeF Ministerstwa Finansów
Najprostszy sposób dla księgowej, która nie chce grzebać w XML-ach: zaloguj się do Aplikacji Podatnika KSeF (produkcja: ap.ksef.mf.gov.pl, środowisko testowe: ap-test.ksef.mf.gov.pl), przejdź do faktur i wyszukaj fakturę po jej numerze własnym (P_2) albo dacie wystawienia. Numer KSeF zobaczysz przy fakturze. Sposób logowania opisujemy w poradniku jak zalogować się do KSeF.
W bazie danych Twojego systemu KSeF
Każda integracja zapisuje numer KSeF lokalnie w bazie danych. W FakturaFlow przy wysyłce wsadowej numer KSeF trafia do bazy od razu po przyjęciu faktury. Przy wysyłce pojedynczej najpierw zapisujemy numer referencyjny, a numer KSeF odczytujemy z UPO (element NumerKSeFDokumentu). Gotowy numer widać w oknie „Szczegóły KSeF” (menu „⋯” przy fakturze).
Jeżeli pracujesz w innym narzędziu, sprawdź dokumentację dostawcy. Większość rozwiązań ujmuje numer KSeF w jednym z trzech miejsc: stopce PDF-a faktury, dedykowanej kolumnie w widoku listy faktur, albo eksporcie XML do księgowości.
W pliku PDF faktury (od kwietnia 2026 r.)
Od 1 kwietnia 2026 r., gdy obowiązek KSeF objął wszystkich czynnych podatników VAT (po pierwszym etapie 1 lutego 2026 r. dla największych podatników z obrotem > 200 mln zł, a przed 1 stycznia 2027 r. dla najmniejszych), Ministerstwo Finansów zaleca, aby wystawcy umieszczali numer KSeF na wizualizacji faktury (PDF). Choć formalnie nie jest to obowiązek wynikający z ustawy, w praktyce odbiorca często prosi o numer KSeF, żeby móc zweryfikować fakturę w aplikacji KSeF po stronie nabywcy. Dokumentacja MF wskazuje miejsce pod kodem QR (KOD I) na wizualizacji: tam drukuje się numer KSeF, np. „5252763266-20260923-751BF3800000-CB”. Dopóki numeru jeszcze nie ma, pod kodem widnieje napis „OFFLINE”.
Co oznaczają poszczególne segmenty numeru KSeF
Numer KSeF nie jest losowy. Ministerstwo Finansów opisuje jego budowę w dokumentacji KSeF 2.0, w rozdziale o strukturze i walidacji numeru KSeF. Numer ma zawsze 35 znaków i cztery segmenty rozdzielone łącznikami: 9999999999-RRRRMMDD-FFFFFFFFFFFF-FF.
| Segment | Przykład | Znaczenie |
|---|---|---|
9999999999 | 5252763266 | NIP sprzedawcy (10 cyfr) |
RRRRMMDD | 20260923 | Data przyjęcia faktury przez KSeF do dalszego przetwarzania |
FFFFFFFFFFFF | 751BF3800000 | Część techniczna: 12 znaków szesnastkowych (cyfry 0-9 i wielkie litery A-F) |
FF | CB | Suma kontrolna CRC-8: 2 znaki szesnastkowe |
Data w numerze to dzień przyjęcia faktury przez KSeF, a nie data wystawienia z pola P_1. Jeśli fakturę wysłano dzień po wystawieniu, te dwie daty się różnią.
Znajomość tych segmentów przydaje się przy diagnostyce. Numer KSeF zaczyna się od NIP-u. Numer referencyjny ma 36 znaków i budowę RRRRMMDD-XX-FFFFFFFFFF-FFFFFFFFFF-FF: zaczyna się od daty, po której stoi dwuznakowy znacznik. W przykładach z dokumentacji MF SO oznacza sesję interaktywną, SB sesję wsadową, AU operację uwierzytelnienia, a EE wysyłkę pojedynczej faktury w sesji. Jeżeli w logach widzisz ciąg w rodzaju 20250918-EE-2F15D39000-242207E5C4-1B, to nie jest numer KSeF, tylko numer referencyjny. Łatwo je pomylić.
Numer KSeF w korekcie i fakturze zaliczkowej
Każdy dokument w KSeF, w tym korekta faktury oraz faktura zaliczkowa, dostaje swój własny, niezależny numer KSeF. Nie dziedziczy go po fakturze pierwotnej. Oznacza to, że w korekcie do faktury z numerem KSeF 1234567890-20261001-XXXXXXXXXXXX-XX znajdziesz dwa identyfikatory:
- numer KSeF samej korekty (np.
1234567890-20261005-XXXXXXXXXXXX-XX), nadany po jej przyjęciu, - numer KSeF faktury pierwotnej (
1234567890-20261001-XXXXXXXXXXXX-XX), umieszczany w polu<NrKSeFFaKorygowanej>w bloku<DaneFaKorygowanej>w XML korekty. Obok stoi znacznik<NrKSeF>1</NrKSeF>.
Jeśli korygujesz fakturę wystawioną poza KSeF, numeru KSeF nie ma. Wtedy zamiast tych dwóch pól schemat FA(3) wymaga znacznika <NrKSeFN>1</NrKSeFN>. Korekta bez żadnego z tych wariantów nie przejdzie walidacji schematu i KSeF jej nie przyjmie. Po szczegóły zajrzyj do naszego przeglądu najczęstszych błędów KSeF i listy kodów błędów KSeF.
Jak Cockpit KSeF FakturaFlow upraszcza obsługę numeru KSeF
W panelu FakturaFlow numer KSeF jest widoczny w dwóch miejscach, które pokrywają codzienne potrzeby biura rachunkowego:
- Szczegóły KSeF (menu „⋯” przy fakturze): pełny numer KSeF, przebieg wysyłki i link do weryfikacji faktury w KSeF.
- PDF faktury: numer KSeF na wizualizacji faktury wysłanej do KSeF.
Dodatkowo FakturaFlow sam pobiera UPO dla każdej przyjętej faktury i zapisuje je przy niej w oryginalnym XML-u. Nie musisz ręcznie pobierać poświadczeń z aplikacji MF, a przycisk „Pobierz UPO” na liście faktur zapisuje UPO wszystkich wysłanych faktur w jednym pliku ZIP. Pamiętaj, że obowiązek przechowywania dokumentów spoczywa na podatniku, więc UPO warto co jakiś czas przenosić do archiwum biura.
Cockpit KSeF FakturaFlow dostępny jest w trzech planach: Starter (199 zł / mies.), Professional (319 zł / mies.) oraz Enterprise (499 zł / mies.). W każdym z nich numer KSeF jest widoczny w czasie rzeczywistym, bez ograniczeń ilościowych.
Częste pytania: gdzie jest mój numer KSeF?
Wysłałem fakturę 5 minut temu i numer KSeF wciąż nie pojawia się w panelu. Czy coś poszło nie tak?
Najczęściej nie. Sesja wysyłkowa w KSeF jest asynchroniczna: faktura przechodzi przez kolejkę walidacyjną Ministerstwa Finansów i numer nadawany jest dopiero po przyjęciu (status 200, „Sukces”). W godzinach szczytu (koniec miesiąca) opóźnienia sięgają kilkunastu minut. Jeżeli po godzinie numer wciąż się nie pojawił, sprawdź status sesji; być może faktura została odrzucona, np. z powodu błędnego NIP-u albo niezgodnej kwoty VAT.
Klient prosi o numer KSeF, ale nie potrafi go zweryfikować po swojej stronie. Co robić?
Najczęstsza przyczyna: klient szuka numeru w skrzynce mailowej, podczas gdy KSeF nie wysyła e-maili. Faktura w KSeF jest doręczana przez sam fakt jej przyjęcia do systemu (data nadania numeru KSeF, w API pole acquisitionDate), niezależnie od tego, czy nabywca ją pobierze. Klient powinien zalogować się do aplikacji web KSeF, przejść do zakładki „Faktury otrzymane” i wyszukać dokument po Twoim NIP-ie wystawcy.
Czy numer KSeF zmienia się, gdy fakturę cofnę i wystawię ponownie?
To zależy od numeru własnego. Faktura z nowym numerem P_2 dostanie nowy numer KSeF. Ponowna wysyłka z tym samym NIP-em sprzedawcy, tym samym rodzajem faktury i tym samym P_2 zostanie odrzucona jako duplikat (kod 440, „Duplikat faktury”). W odpowiedzi KSeF poda numer KSeF faktury przyjętej wcześniej. Dlatego anulowanie i ponowna wysyłka nie są bezkosztowe. Sprawdź najpierw, czy nie wystarczy korekta.
Czy numer KSeF zastępuje wymóg drukowania faktury?
Tak. Od momentu przyjęcia do KSeF faktura jest doręczona, a wystawca nie ma obowiązku przekazywać jej w innej formie. PDF z numerem KSeF to wyłącznie wizualizacja dla wygody odbiorcy, a nie odrębny dokument prawny.
Podsumowanie
Numer KSeF to 35-znakowy identyfikator złożony z NIP-u sprzedawcy, daty przyjęcia, części technicznej i sumy kontrolnej CRC-8. Nadaje go Ministerstwo Finansów po pomyślnym przyjęciu faktury do systemu. Jest dostępny w pięciu miejscach: w odpowiedzi z API, w UPO (Urzędowe Poświadczenie Odbioru), w aplikacji web KSeF, w bazie danych systemu integracyjnego oraz na wizualizacji PDF faktury. Nie należy mylić go z numerem własnym faktury (P_2), który nadaje wystawca, ani z numerami referencyjnymi sesji i wysyłki, które służą diagnostyce.
W codziennej pracy biura rachunkowego numer KSeF pełni rolę: dowodu wysyłki przed klientem, identyfikatora w komunikacji z urzędem skarbowym oraz klucza referencyjnego w korektach. Dlatego najprostsza rekomendacja: zawsze archiwizuj UPO razem z numerem KSeF, niezależnie od tego, w jakim systemie pracujesz. To jedyny sposób, żeby udowodnić, że wysyłka faktury rzeczywiście doszła do skutku.