KSeFGPT
Rozpocznij za darmo
Poradnik
7 czerwca 202612 minRafał Zeidler

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ę.

Faktura odrzucona przez KSeF? Najczęstsze błędy i sposoby naprawy

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.

KodZnaczenie operacyjneCo zrobić
100Faktura przyjęta do dalszego przetwarzaniaCzekaj i ponownie sprawdź status tej samej faktury.
150Trwa przetwarzanieNie wysyłaj duplikatu. Kontynuuj monitorowanie.
200SukcesZapisz numer KSeF i pobierz UPO.
405Anulowanie lub błąd wskazany przez APIOdczytaj description, details i extensions, a następnie usuń wskazaną przyczynę.
410Nieprawidłowy zakres uprawnień fakturySprawdź kontekst podatnika, sesję i prawo do wystawiania.
415Anulowanie lub błąd wskazany przez APISprawdź szczegóły techniczne odpowiedzi przed ponowieniem.
430Błąd weryfikacji pliku fakturySprawdź XML, XSD, szyfrowanie i wymagane dane.
435Anulowanie lub błąd wskazany przez APIPostępuj zgodnie ze szczegółami zwróconymi przez API.
440Duplikat fakturyZnajdź pierwotną sesję, numer KSeF i UPO.
450Błąd weryfikacji semantyki dokumentuPopraw znaczenie lub zależności danych wskazane w szczegółach.
500Błąd po stronie przetwarzaniaZachowaj identyfikatory i szczegóły, a ponowienie wykonaj dopiero po rozpoznaniu stanu.
550Anulowanie lub błąd wskazany przez APIOdczytaj 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 dokumentKiedy powstajeCo potwierdza
Numer referencyjnyPrzy rozpoczęciu operacji lub wysyłkiPozwala śledzić sesję i przetwarzanie.
Numer KSeFPo pozytywnym przetworzeniu fakturyIdentyfikuje przyjętą fakturę w KSeF.
UPOPo przyjęciu dokumentuPotwierdza 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łaniaTryb lub wynikPrzykład
P_1 równe dacie przesłaniaTryb onlineP_1: 2 czerwca, przesłanie: 2 czerwca.
P_1 wcześniejsze niż data przesłaniaOffline24, bez automatycznego odrzucenia z tego powoduP_1: 2 czerwca, przesłanie: 3 czerwca.
P_1 późniejsze niż data przesłaniaOdrzucenie z powodu daty z przyszłościP_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.

PrzyczynaCo sprawdzićCo zrobić
Data P_1Relację P_1 do dnia przesłaniaUsuń datę z przyszłości. Nie zmieniaj prawidłowego offline24 na siłę.
FA(3) lub XSDWersję schematu, pola wymagane, formaty i strukturę elementówPopraw dane źródłowe i wygeneruj nowy XML FA(3).
SemantykaDescription, details i zależności między wartościamiUsuń wskazaną niespójność znaczeniową.
UprawnieniaKontekst podatnika, ważność sesji i InvoiceWriteNadaj lub wybierz właściwy dostęp.
Szyfrowanie lub załącznikMetadane, skróty, rozmiary i sposób przygotowania danychPonownie przygotuj przesyłane dane zgodnie z API.
DuplikatOriginalSessionReferenceNumber, originalKsefNumber i UPOUznaj wcześniejszy sukces albo wyjaśnij wskazaną wysyłkę.
Błąd technicznyKod, czas, identyfikatory i stan usługiPonó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.

Widok KSeFGPT po poprawnej wysyłce faktury, pokazany jako kontrast wobec odrzucenia dokumentu

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.

KontrolaPytanie przed ponowieniem
Status i szczegółyCzy masz końcowy kod oraz pełne description, details i extensions?
P_1Czy data nie jest późniejsza niż dzień przesłania?
Wersja FA(3)Czy plik korzysta z obowiązującej struktury?
Walidacja XSDCzy XML jest zgodny z zadeklarowanym schematem?
Dane wymaganeCzy wszystkie obowiązkowe pola mają prawidłowy format i typ?
Kontekst podatnikaCzy sesja dotyczy właściwego NIP i podmiotu?
Prawo do wystawianiaCzy wysyłający ma wymagane uprawnienie InvoiceWrite?
Ślad wcześniejszego sukcesuCzy API nie zwróciło numeru KSeF lub danych pierwotnej sesji?
Numer KSeF i UPOCzy 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 KSeF

Gdzie 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.

  1. 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.

  2. 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.

  3. Tryb offline24

    Ministerstwo Finansów · dostęp: 7 czerwca 2026

    Oficjalny opis korzystania z offline24 i terminu przesłania faktury do KSeF.

  4. 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