Faktura odrzucona przez KSeF? Najczęstsze błędy i sposoby naprawy
Sprawdź, dlaczego KSeF odrzucił fakturę, jak odczytać status, poprawić P_1, XML FA(3), uprawnienia lub duplikat i bezpiecznie ponowić wysyłkę.

Streszczenie artykułu
Poprawna odpowiedź techniczna na żądanie wysyłki nie oznacza jeszcze, że KSeF przyjął fakturę. Status 100 informuje o przyjęciu do dalszego przetwarzania, status 150 o trwającym przetwarzaniu, a dopiero status 200 oznacza sukces faktury.
Odrzucony dokument nie otrzymuje numeru KSeF ani UPO i nie zostaje wystawiony w KSeF. Najpierw odczytaj kod, opis i szczegóły błędu. Dopiero potem popraw datę P_1, XML FA(3), uprawnienia, sposób szyfrowania lub inną wskazaną przyczynę.
Najkrótsza bezpieczna procedura to: sprawdź status, zachowaj szczegóły odpowiedzi i wysłany XML, wyklucz wcześniejszy sukces, popraw źródło błędu, zwaliduj nowy plik, wyślij go ponownie i monitoruj wynik do uzyskania numeru KSeF oraz UPO.
Czy faktura została odrzucona, czy nadal jest przetwarzana?
Widzisz komunikat po wysyłce, ale nie masz numeru KSeF ani UPO. Najgorszą reakcją jest natychmiastowe ponowienie wysyłki bez sprawdzenia wyniku. Endpoint może przyjąć żądanie, zaszyfrowany plik i metadane, a następnie dopiero rozpocząć przetwarzanie faktury.
Statusy 100 i 150 nie oznaczają odrzucenia. Nie są też sukcesem końcowym. W tych stanach należy kontynuować sprawdzanie statusu tej samej faktury, zamiast tworzyć kolejną wysyłkę.
Kody błędów trzeba interpretować razem z polami description, details i extensions. Sam kod wskazuje kategorię problemu, ale szczegóły odpowiedzi prowadzą do konkretnej przyczyny.
Nie wysyłaj ponownie dokumentu tylko dlatego, że nie widzisz jeszcze UPO. Najpierw sprawdź status i numer KSeF.
| Kod | Znaczenie operacyjne | Co zrobić |
|---|---|---|
| 100 | Faktura przyjęta do dalszego przetwarzania | Czekaj i ponownie sprawdź status tej samej faktury. |
| 150 | Trwa przetwarzanie | Nie wysyłaj duplikatu. Kontynuuj monitorowanie. |
| 200 | Sukces | Zapisz numer KSeF i pobierz UPO. |
| 405 | Anulowanie lub błąd wskazany przez API | Odczytaj description, details i extensions, a następnie usuń wskazaną przyczynę. |
| 410 | Nieprawidłowy zakres uprawnień faktury | Sprawdź kontekst podatnika, sesję i prawo do wystawiania. |
| 415 | Anulowanie lub błąd wskazany przez API | Sprawdź szczegóły techniczne odpowiedzi przed ponowieniem. |
| 430 | Błąd weryfikacji pliku faktury | Sprawdź XML, XSD, szyfrowanie i wymagane dane. |
| 435 | Anulowanie lub błąd wskazany przez API | Postępuj zgodnie ze szczegółami zwróconymi przez API. |
| 440 | Duplikat faktury | Znajdź pierwotną sesję, numer KSeF i UPO. |
| 450 | Błąd weryfikacji semantyki dokumentu | Popraw znaczenie lub zależności danych wskazane w szczegółach. |
| 500 | Błąd po stronie przetwarzania | Zachowaj identyfikatory i szczegóły, a ponowienie wykonaj dopiero po rozpoznaniu stanu. |
| 550 | Anulowanie lub błąd wskazany przez API | Odczytaj pełną odpowiedź i ustal, czy potrzebna jest poprawa dokumentu, dostępu czy ponowienie techniczne. |
Numer KSeF i UPO pojawiają się dopiero po sukcesie
Numer referencyjny sesji lub faktury służy do śledzenia operacji technicznej. Nie jest numerem KSeF. Numer KSeF identyfikuje fakturę przyjętą przez system, a UPO jest urzędowym potwierdzeniem dostępnym po pozytywnym przetworzeniu.
Status faktury może zawierać numer KSeF, datę jego nadania i adres do pobrania UPO. Dane te są skutkiem sukcesu faktury, a nie samego rozpoczęcia wysyłki.
Jeżeli weryfikacja jest negatywna, KSeF nie nadaje numeru. Taki dokument nie został wystawiony w KSeF. Można więc poprawić jego dane i ponowić wysyłkę jako faktury pierwotnej, a nie jako korekty.
| Identyfikator lub dokument | Kiedy powstaje | Co potwierdza |
|---|---|---|
| Numer referencyjny | Przy rozpoczęciu operacji lub wysyłki | Pozwala śledzić sesję i przetwarzanie. |
| Numer KSeF | Po pozytywnym przetworzeniu faktury | Identyfikuje przyjętą fakturę w KSeF. |
| UPO | Po przyjęciu dokumentu | Potwierdza przyjęcie faktury przez KSeF. |
Błąd daty P_1
Pole P_1 zawiera datę wystawienia wskazaną przez wystawcę. Trzeba porównać ją z faktyczną datą przesłania dokumentu do KSeF. Trzy możliwe relacje prowadzą do trzech różnych wyników.
Przykład odrzucenia: plik przesyłasz 2 czerwca 2026 r., ale w P_1 wpisano 3 czerwca 2026 r. Data z przyszłości powoduje odrzucenie XML na bramce.
Przykład offline24: w P_1 wpisano 2 czerwca 2026 r., a fakturę przesyłasz 3 czerwca 2026 r. Wcześniejsze P_1 nie powoduje automatycznego odrzucenia. Dokument jest kwalifikowany jako wystawiony w trybie offline24 i podlega terminowi właściwemu dla tego trybu.
| Relacja P_1 do daty przesłania | Tryb lub wynik | Przykład |
|---|---|---|
| P_1 równe dacie przesłania | Tryb online | P_1: 2 czerwca, przesłanie: 2 czerwca. |
| P_1 wcześniejsze niż data przesłania | Offline24, bez automatycznego odrzucenia z tego powodu | P_1: 2 czerwca, przesłanie: 3 czerwca. |
| P_1 późniejsze niż data przesłania | Odrzucenie z powodu daty z przyszłości | P_1: 3 czerwca, przesłanie: 2 czerwca. |
Niezgodność XML ze strukturą FA(3)
Od 1 lutego 2026 r. obowiązującym wzorem faktury ustrukturyzowanej jest FA(3). KSeF porównuje przesłany XML z zadeklarowaną strukturą XSD. Brak pola wymaganego, niedozwolony format wartości, niewłaściwy typ danych, błędna kolejność lub struktura elementów albo użycie niezgodnego schematu może zakończyć się odrzuceniem.
Kod 430 oznacza błąd weryfikacji pliku faktury. Kod 450 wskazuje błąd weryfikacji semantyki dokumentu. W obu przypadkach trzeba przeczytać szczegóły odpowiedzi i poprawić dane w systemie źródłowym, a następnie wygenerować XML ponownie.
Walidacja KSeF ma granice. Ministerstwo Finansów wskazuje, że system nie weryfikuje obliczeń matematycznych faktury i nie odrzuca jej wyłącznie dlatego, że VAT został błędnie wyliczony względem kwoty netto. Przyjęcie dokumentu nie potwierdza więc pełnej poprawności rachunkowej, podatkowej ani biznesowej danych.
Uwierzytelnienie i zakres uprawnień
Możliwość uwierzytelnienia w KSeF nie oznacza automatycznie prawa do wystawiania faktur w każdym kontekście. Chronione zasoby API wymagają tokenu dostępu, a wysłanie zwykłej faktury wymaga właściwego uprawnienia, wskazanego w API jako InvoiceWrite.
Kod 410 oznacza nieprawidłowy zakres uprawnień faktury. Sprawdź, czy sesja została otwarta dla właściwego podatnika, czy token lub sesja są nadal ważne, kto faktycznie wysyła dokument i czy ta osoba albo podmiot ma prawo do wystawiania w danym kontekście.
Poprawianie XML nie pomoże, jeśli przyczyną jest dostęp. W takim przypadku trzeba naprawić konfigurację uwierzytelnienia lub uprawnień i dopiero potem ponowić wysyłkę niezmienionego merytorycznie dokumentu.
Duplikat faktury
Kod 440 oznacza, że KSeF rozpoznał duplikat faktury. Odpowiedź może zawierać originalSessionReferenceNumber oraz originalKsefNumber, czyli dane prowadzące do pierwotnej sesji i wcześniej nadanego numeru KSeF.
Najpierw odszukaj wskazaną fakturę, sprawdź jej status i pobierz UPO. Nie generuj nowego dokumentu ani nie zmieniaj numeru faktury tylko po to, aby ominąć kontrolę duplikatu.
Oficjalne źródła potwierdzają kod 440 i dane zwracane przez API, ale nie dają podstawy do publikowania szczegółowego algorytmu rozpoznawania duplikatów. W praktyce należy opierać decyzję na wyniku API i śladzie wcześniejszego sukcesu.
Jak znaleźć przyczynę odrzucenia
1. Zachowaj numer referencyjny sesji, numer referencyjny faktury, dokładny czas operacji i wysłany XML. Bez tego trudniej odtworzyć przebieg zdarzeń.
2. Pobierz status konkretnej faktury. Nie ograniczaj się do komunikatu, że żądanie zostało przyjęte przez endpoint.
3. Odczytaj pola code, description, details i extensions. Zapisz pełną odpowiedź, ponieważ skrócony komunikat w interfejsie może nie pokazywać wszystkich danych diagnostycznych.
4. Przypisz błąd do kategorii: data P_1, FA(3) lub XSD, semantyka, uprawnienia, szyfrowanie, załącznik, duplikat albo problem techniczny.
5. Sprawdź, czy dokument nie ma już numeru KSeF. Jest to obowiązkowe przed każdą ponowną wysyłką.
6. Popraw źródło danych, nie tylko końcowy tekst XML. Dzięki temu kolejny dokument wygenerowany przez system nie powtórzy tego samego błędu.
| Przyczyna | Co sprawdzić | Co zrobić |
|---|---|---|
| Data P_1 | Relację P_1 do dnia przesłania | Usuń datę z przyszłości. Nie zmieniaj prawidłowego offline24 na siłę. |
| FA(3) lub XSD | Wersję schematu, pola wymagane, formaty i strukturę elementów | Popraw dane źródłowe i wygeneruj nowy XML FA(3). |
| Semantyka | Description, details i zależności między wartościami | Usuń wskazaną niespójność znaczeniową. |
| Uprawnienia | Kontekst podatnika, ważność sesji i InvoiceWrite | Nadaj lub wybierz właściwy dostęp. |
| Szyfrowanie lub załącznik | Metadane, skróty, rozmiary i sposób przygotowania danych | Ponownie przygotuj przesyłane dane zgodnie z API. |
| Duplikat | OriginalSessionReferenceNumber, originalKsefNumber i UPO | Uznaj wcześniejszy sukces albo wyjaśnij wskazaną wysyłkę. |
| Błąd techniczny | Kod, czas, identyfikatory i stan usługi | Ponów dopiero po ustaleniu, że wcześniejsza operacja nie zakończyła się sukcesem. |
Jak poprawić fakturę i wysłać ją ponownie
Jeżeli faktura nie dostała numeru KSeF, popraw dane źródłowe lub dostęp. Następnie wygeneruj nowy XML FA(3), sprawdź zgodność struktury, rozpocznij prawidłową sesję i prześlij dokument ponownie.
Po wysyłce monitoruj tę fakturę aż do statusu końcowego. Statusy 100 i 150 wymagają dalszego oczekiwania. Status błędu wymaga ponownej diagnozy. Proces uznaj za zakończony dopiero po statusie 200, nadaniu numeru KSeF i udostępnieniu UPO.
Jeżeli dokument ma już numer KSeF, nie edytuj go i nie wysyłaj poprawionej wersji jako tej samej faktury. Przyjęty dokument pozostaje w systemie, a błąd poprawia się według zasad faktury korygującej.

Co sprawdzić przed ponowną wysyłką
Przed utworzeniem kolejnej wysyłki przejdź całą listę kontroli. Najważniejszy punkt to wykluczenie, że wcześniejsza operacja zakończyła się sukcesem, mimo że Twoja aplikacja nie pokazała jeszcze UPO.
Lokalny walidator pomaga wykrywać problemy techniczne w XML przed wysyłką, ale nie zastępuje biznesowej walidacji KSeF, nie potwierdza przyjęcia przez system i nie gwarantuje pełnej poprawności podatkowej dokumentu.
| Kontrola | Pytanie przed ponowieniem |
|---|---|
| Status i szczegóły | Czy masz końcowy kod oraz pełne description, details i extensions? |
| P_1 | Czy data nie jest późniejsza niż dzień przesłania? |
| Wersja FA(3) | Czy plik korzysta z obowiązującej struktury? |
| Walidacja XSD | Czy XML jest zgodny z zadeklarowanym schematem? |
| Dane wymagane | Czy wszystkie obowiązkowe pola mają prawidłowy format i typ? |
| Kontekst podatnika | Czy sesja dotyczy właściwego NIP i podmiotu? |
| Prawo do wystawiania | Czy wysyłający ma wymagane uprawnienie InvoiceWrite? |
| Ślad wcześniejszego sukcesu | Czy API nie zwróciło numeru KSeF lub danych pierwotnej sesji? |
| Numer KSeF i UPO | Czy dokument na pewno nie został już przyjęty? |
Sprawdź XML przed ponowną wysyłką
Użyj walidatora XML KSeF, aby sprawdzić techniczną strukturę pliku. Wystarczy podać adres email bez zakładania pełnego konta. Darmowy plan obejmuje 5 walidacji dziennie. Walidator nie potwierdza przyjęcia przez KSeF ani pełnej poprawności podatkowej faktury.
Otwórz walidator XML KSeFGdzie znaleźć szersze wyjaśnienia
Ten poradnik służy do diagnozy konkretnego odrzucenia. Pełny przebieg procesu opisuje artykuł Wysyłka faktur do KSeF, a znaczenie potwierdzenia po sukcesie wyjaśnia poradnik UPO w KSeF.
Budowę dokumentu i rolę schematu opisuje artykuł XML i format FA(3) w KSeF. Jeżeli błąd dotyczy faktury, która ma już numer KSeF, właściwą ścieżkę znajdziesz w poradniku Faktura korygująca w KSeF.
Najczęściej zadawane pytania
Czy wcześniejsza data P_1 powoduje odrzucenie faktury?
Nie. Jeżeli P_1 jest wcześniejsze niż dzień przesłania, faktura jest kwalifikowana jako wystawiona w trybie offline24. Odrzucenie powoduje P_1 późniejsze niż dzień przesłania, czyli data z przyszłości.
Czy status 100 oznacza sukces?
Nie. Status 100 oznacza przyjęcie faktury do dalszego przetwarzania. Trzeba dalej sprawdzać wynik. Końcowy sukces faktury oznacza status 200.
Czy odrzucona faktura ma numer KSeF?
Nie. Negatywnie zweryfikowany dokument nie otrzymuje numeru KSeF i nie zostaje wystawiony w KSeF. Po usunięciu przyczyny błędu można wygenerować poprawiony XML i wysłać go ponownie.
Czy brak UPO zawsze oznacza odrzucenie?
Nie. Dokument może nadal mieć status 100 lub 150, a aplikacja może jeszcze nie pobrać potwierdzenia. Najpierw sprawdź status faktury, numer KSeF i szczegóły odpowiedzi.
Co zrobić z kodem 440?
Kod 440 oznacza duplikat. Odczytaj dane pierwotnej wysyłki, w tym originalSessionReferenceNumber i originalKsefNumber, jeżeli zostały zwrócone. Sprawdź wskazaną fakturę i jej UPO, zamiast zmieniać numer dokumentu tylko po to, aby wysłać go ponownie.
Czy po odrzuceniu można wysłać poprawiony XML ponownie?
Tak. Jeżeli dokument nie otrzymał numeru KSeF, popraw dane źródłowe lub dostęp, wygeneruj nowy XML FA(3), sprawdź go i ponów wysyłkę w prawidłowej sesji.
Co zrobić, jeśli błąd wykryto dopiero po nadaniu numeru KSeF?
Nie edytuj przyjętej faktury i nie wysyłaj jej poprawionej wersji jako tego samego dokumentu. Faktura z numerem KSeF weszła do obrotu, więc błąd poprawia się zgodnie z zasadami faktury korygującej.
Rekomendacja
Po błędzie nie zaczynaj od edycji przypadkowych pól. Najpierw ustal końcowy status i zachowaj pełną odpowiedź API. Wyklucz wcześniejszy sukces, przypisz problem do jednej kategorii i popraw dane w systemie źródłowym.
Po wygenerowaniu nowego XML sprawdź strukturę, uprawnienia i P_1. Następnie wyślij dokument w prawidłowej sesji i monitoruj go do statusu 200, numeru KSeF oraz UPO. Jeżeli numer KSeF już istnieje, przejdź do korekty zamiast ponownej wysyłki.
Rekomendowane poradniki: Wysyłka faktur do KSeF, UPO w KSeF, XML i format FA(3) w KSeF oraz Faktura korygująca w KSeF.
Sprawdź XML przed wysyłką do KSeF
Walidator XML KSeF pomaga wykryć problemy techniczne w strukturze pliku. Podaj adres email bez zakładania pełnego konta i skorzystaj z 5 darmowych walidacji dziennie.
Sprawdź XMLŹródła
Artykuł opracowano na podstawie oficjalnych materiałów Ministerstwa Finansów i dokumentacji KSeF API 2.0, według stanu zweryfikowanego 7 czerwca 2026 r.
- Faktura ustrukturyzowana i struktura logiczna FA
Ministerstwo Finansów · dostęp: 7 czerwca 2026
Oficjalne informacje o FA(3), dacie wystawienia, polu P_1, numerze KSeF i dacie otrzymania faktury.
- Podręcznik KSeF 2.0 część II: wystawianie i otrzymywanie faktur w KSeF
Ministerstwo Finansów · dostęp: 7 czerwca 2026
Zasady P_1, odrzucenia pliku, walidacji XSD, uprawnień, braku numeru KSeF po negatywnej weryfikacji oraz korekty dokumentu już przyjętego.
- Tryb offline24
Ministerstwo Finansów · dostęp: 7 czerwca 2026
Oficjalny opis korzystania z offline24 i terminu przesłania faktury do KSeF.
- KSeF API 2.0
Ministerstwo Finansów · dostęp: 7 czerwca 2026
Dokumentacja endpointów wysyłki i statusu faktury, kodów 100, 150, 200, 410, 430, 440 i 450, danych duplikatu, tokenu dostępu oraz uprawnienia InvoiceWrite.
Zweryfikowano merytorycznie: Bogdan Mazurek
Doradca podatkowy · 7 czerwca 2026
Zweryfikowano rozróżnienie między odrzuceniem pliku, trybem offline24 i korektą faktury już przyjętej do KSeF oraz zgodność procedury ze stanem źródeł MF na dzień recenzji.
Zobacz inne artykuły dotyczące krajowego systemu e-faktur
Sztuczna inteligencja w księgowości: co realnie automatyzuje w 2026 roku?
Praktyczny przewodnik dla księgowych, biur rachunkowych i CFO: gdzie AI skraca pracę na dokumentach, gdzie wymaga kontroli człowieka oraz jak ocenić narzędzie pod KSeF, RODO i AI Act.
Porównanie konwerterów PDF do XML dla KSeF 2026 - który wybrać?
Nie każdy konwerter PDF do XML nadaje się do KSeF. Sprawdź, kiedy wybrać KSeFGPT, Aplikację Podatnika, ERP, ksefpdf.pl albo inne narzędzie i dlaczego zwykły XML z PDF nie wystarczy.
Jak odczytać XML z KSeF?
Sprawdź, jak otworzyć plik XML FA(3), znaleźć dane faktury, numer KSeF, NIP-y, pozycje i kwoty oraz kiedy użyć walidatora albo konwertera XML do PDF.
KSeF a JPK. Jak system faktur działa z rodziną struktur JPK?
KSeF nie zastępuje JPK_VAT. Sprawdź różnice między FA(3), JPK_V7M, JPK_V7K i JPK_FA oraz zasady numeru KSeF, korekt i trybów offline.