450

    Błąd KSeF 450: błąd weryfikacji semantyki dokumentu faktury

    Kod 450 przy wysyłce znaczy, że plik faktury nie przeszedł weryfikacji: jakieś pole jest puste, ma zły format albo stoi w złym miejscu. Faktura nie dostała numeru KSeF i nie jest wystawiona — po poprawce wysyłasz ją ponownie z tym samym numerem. Przy logowaniu kod 450 znaczy coś innego: błędny token.

    Aktualizacja: 11 października 2026 · Opisy z dokumentacji API KSeF 2.0 (MF) · Przykłady sprawdzone na środowisku testowym KSeF

    Gdzie pojawia się kod 450 — brzmienie z dokumentacji MF

    • Status faktury w sesji

      „Błąd weryfikacji semantyki dokumentu faktury”

      Data wystawienia faktury nie może być późniejsza niż data przyjęcia do systemu. · Nieprawidłowy XML · The 'P_1' element is invalid - The value '11.10.2026' is invalid according to its datatype 'TDataT' - The Pattern constraint failed.

    • Status logowania (uwierzytelniania)

      „Uwierzytelnianie zakończone niepowodzeniem z powodu błędnego tokenu”

      Nieprawidłowy token. · Token nie może być użyty w kontekście nip-… · Token nieaktywny · Token unieważniony · Nieprawidłowy czas tokena · Nieprawidłowe wyzwanie autoryzacyjne

    • Status operacji na uprawnieniach

      „Operacja niedozwolona dla wskazanego identyfikatora lub jego typu”

    Wklej komunikat — przetłumaczymy go

    Szczegóły błędu 450 KSeF zwraca zwykle po angielsku, w języku walidatora XML. Wklej cały komunikat z programu, a pokażemy, którego pola dotyczy i jak je poprawić. Tekst nie jest nigdzie wysyłany.

    Przykłady:

    Tłumaczymy w Twojej przeglądarce — wklejony tekst nie jest nigdzie wysyłany.

    Dwa znaczenia kodu 450

    Gdzie się pojawiaOpis z dokumentacji MFCo znaczy
    Status faktury w sesjiBłąd weryfikacji semantyki dokumentu fakturyTreść faktury jest niezgodna ze schemą FA(3) albo z regułami KSeF.
    Status logowaniaUwierzytelnianie zakończone niepowodzeniem z powodu błędnego tokenuToken KSeF jest błędny, nieaktywny, unieważniony albo należy do innej firmy.
    Operacje na uprawnieniachOperacja niedozwolona dla wskazanego identyfikatora lub jego typuUprawnienia nie można nadać temu rodzajowi identyfikatora.

    Najczęstsze komunikaty przy wysyłce faktury

    Każdy z poniższych komunikatów wywołaliśmy sami, wysyłając celowo zepsute faktury na środowisko testowe KSeF. Nazwy pól to nazwy ze struktury FA(3).

    Komunikat KSeF (skrócony)Co jest źleJak poprawić
    The 'P_1' element is invalid - The value '11.10.2026' … TDataT - The Pattern constraint failed.Data wystawienia w formacie polskim.Daty w XML zapisuje się jako RRRR-MM-DD, np. 2026-10-11.
    The 'P_11' element is invalid - The value '100,00' … TKwotowy - The Pattern constraint failed.Kwota z przecinkiem.Kwoty zapisuje się z kropką: 100.00.
    The 'P_11' element is invalid - The value '100.005' … TKwotowy …Trzy miejsca po przecinku.Wartości i sumy: najwyżej 2 miejsca po przecinku (ilości do 6, ceny jednostkowe do 8).
    The 'NIP' element is invalid - The value 'PL9231147966' … TNrNIP …NIP z prefiksem PL.Pole NIP to same cyfry. Firmy z UE wpisuje się w KodUE + NrVatUE.
    The 'Nazwa' element is invalid - The value '' … less than the MinLength value.Puste pole nazwy.Uzupełnij nazwę nabywcy albo sprzedawcy.
    The 'KodKraju' element is invalid - The value 'Polska' … Enumeration constraint failed.Nazwa kraju zamiast kodu.Kod kraju to dwie litery: PL, DE, CZ…
    The element 'Fa' has invalid child element 'P_6'. List of possible elements expected: 'P_1M, P_2'.Brak numeru faktury (P_2).Uzupełnij numer faktury.
    The element 'Faktura' has invalid child element 'Fa'. List of possible elements expected: 'Podmiot2'.Brak sekcji z danymi nabywcy.Dodaj nabywcę (Podmiot2). Osoba prywatna zamiast NIP-u dostaje znacznik BrakID.
    The element 'Fa' has invalid child element 'Uwagi'.Pole spoza struktury FA(3).Usuń je; dodatkowe informacje wpisuje się w DodatkowyOpis.
    The value of the 'kodSystemowy' attribute does not equal its fixed value.Plik w strukturze FA(2).Od 1.02.2026 KSeF przyjmuje tylko FA(3) — zaktualizuj program.
    Data wystawienia faktury nie może być późniejsza niż data przyjęcia do systemu.Data wystawienia w przyszłości.Ustaw datę wystawienia na dziś albo wcześniejszą.
    Nieprawidłowy XMLUcięty plik albo niedozwolony znak.Wygeneruj XML ponownie; usuń niewidoczne znaki z nazw pozycji.

    Zwróć uwagę na format komunikatów o kolejności pól („has invalid child element … List of possible elements expected”). KSeF wskazuje pole, na które trafił, i pola, których oczekiwał w tym miejscu. Brakujące pole to zwykle to z listy oczekiwanych, nie to, które KSeF wymienia jako błędne.

    Przykład odpowiedzi KSeF (faktura z datą w złym formacie)GET /sessions/{sesja}/invoices/{faktura} → status 450
    {
      "status": {
        "code": 450,
        "description": "Błąd weryfikacji semantyki dokumentu faktury",
        "details": ["The 'http://crd.gov.pl/wzor/2025/06/25/13775/:P_1' element is invalid - The value '11.10.2026' is invalid according to its datatype 'http://crd.gov.pl/wzor/2025/06/25/13775/:TDataT' - The Pattern constraint failed."]
      }
    }

    Środowisko testowe MF, 11.10.2026. Numery referencyjne skróciliśmy, reszta bez zmian.

    Co KSeF sprawdza w fakturze

    • Poprawny XML w kodowaniu UTF-8 (bez znaku BOM — jego brak sprawdzany jest osobno, kod 430).
    • Zgodność ze schemą FA(3): kolejność pól, wymagane pola, formaty dat, kwot, NIP-ów, dozwolone wartości (np. stawki VAT).
    • Datę wystawienia — nie może być późniejsza niż moment przyjęcia faktury przez KSeF.
    • Sumy kontrolne NIP-ów sprzedawcy, nabywcy i innych podmiotów — tylko na produkcji. Na środowisku testowym NIP z błędną cyfrą kontrolną przechodzi, więc test „u dostawcy programu” może nie wyłapać literówki w NIP-ie.
    • Rozmiar — do 1 MB bez załączników.

    450 przy logowaniu: błędny token

    Gdy kod 450 pojawia się przy logowaniu (status uwierzytelniania), opis brzmi „Uwierzytelnianie zakończone niepowodzeniem z powodu błędnego tokenu”, a szczegół mówi dlaczego:

    • „Nieprawidłowy token.” — token jest niepełny (ucięty przy kopiowaniu), ma literówkę albo pochodzi z innego środowiska KSeF (testowego, demo).
    • „Token nie może być użyty w kontekście nip-…” — token wygenerowano dla innej firmy, niż ta wybrana w programie. Sprawdziliśmy: token firmy A użyty w kontekście NIP-u firmy B daje dokładnie ten komunikat.
    • „Token nieaktywny” — świeżo wygenerowany token przez chwilę ma status „oczekujący”; spróbuj za minutę.
    • „Token unieważniony” — ktoś unieważnił token w Aplikacji Podatnika. Wygeneruj nowy.
    • „Nieprawidłowy czas tokena” / „Nieprawidłowe wyzwanie autoryzacyjne” — problem z czasem logowania; zaloguj się ponownie i sprawdź zegar komputera.

    Więcej o tokenach: jak wygenerować token KSeF i błąd 401.

    Pytania o błąd 450

    Czy faktura odrzucona z kodem 450 jest wystawiona?

    Nie. Nie ma numeru KSeF i nie istnieje w systemie. Po poprawieniu błędu wysyłasz ją ponownie — z tym samym numerem, bo KSeF uznaje za duplikat tylko faktury przyjęte.

    Dlaczego komunikat jest po angielsku?

    Błędy struktury faktury zgłasza walidator XML, który pisze po angielsku i podaje pełne nazwy przestrzeni nazw (http://crd.gov.pl/…). Ważne są nazwa pola (np. P_1, NIP) i wartość w cudzysłowie — nasz tłumacz powyżej wyciąga je automatycznie.

    Jak sprawdzić fakturę przed wysyłką?

    Program do faktur powinien sprawdzać plik ze schemą FA(3) przed wysłaniem. Wizualizator na stronie głównej pokaże, czy dane faktury (NIP-y, kwoty, stawki) się zgadzają, a wysyłka przez nasze narzędzie zwróci dokładny komunikat KSeF, jeśli coś jest nie tak.

    Czy 450 może oznaczać problem po stronie KSeF?

    Praktycznie nie — to odpowiedź na treść pliku albo token. Gdy KSeF ma awarię, zwraca inne kody (np. 500, 503, 550).