Zum Hauptinhalt springen
KSeF 2.0 · Authentifizierung

Anmeldung bei KSeF mit Zertifikat: Code 460 und XAdES-Signaturfehler

Odoo 18, 19 und 20 verbinden sich nur mit einem KSeF-Zertifikat mit KSeF: Sie signieren eine Challenge mit einer XAdES-Signatur und senden sie an POST /auth/xades-signature. Wenn beim Zertifikat oder bei der Signatur etwas nicht stimmt, antwortet KSeF mit einem der elf Codes auf dieser Seite, Odoo zeigt davon aber meist wenig an.

FlexigoTech · Verantwortlich: Víctor Gómez · Aktualisiert am 5. November 2026

Das Wichtigste

Versionen
Odoo 17, 18, 19 und 20
Geprüft
im Quellcode des Moduls, Version 20.0 · in den Quellen am Ende
Lesezeit
3 Min.

Wann Odoo sich anmeldet

Odoo authentifiziert sich zu zwei Zeitpunkten: wenn Sie das KSeF-Zertifikat mit seinem privaten Schlüssel in den Einstellungen speichern, und in der geplanten Aktion «Refresh KSeF tokens», die die vollständige Anmeldung alle 6 Tage wiederholt. Der Kontext ist die NIP des Unternehmens, daher muss die USt-IdNr. des Unternehmens mit PL beginnen. Die Challenge von KSeF ist 10 Minuten gültig.

Karte des KSeF-Codes 460 mit den XAdES-Signaturausnahmen
Der Code 460 und die zehn Ausnahmen, die POST /auth/xades-signature zurückgibt.

Die Codes und ihre Texte

CodeText von KSeF
9101«Nieprawidłowy dokument.» (ungültiges Dokument)
9102«Brak podpisu.» (Signatur fehlt)
9103«Przekroczona liczba dozwolonych podpisów.» (zu viele Signaturen)
9105«Nieprawidłowy podpis.» (ungültige Signatur)
21111«Nieprawidłowe wyzwanie autoryzacyjne.» (ungültige Autorisierungs-Challenge)
21115«Nieprawidłowy certyfikat.» (ungültiges Zertifikat)
21117«Nieprawidłowy identyfikator podmiotu dla wskazanego typu kontekstu.» (ungültige Kennung des Subjekts für den angegebenen Kontexttyp)
21217«Nieprawidłowe kodowanie znaków.» (ungültige Zeichenkodierung)
21401«Dokument nie jest zgodny ze schemą (xsd).» Hier geht es um das XML der Anmeldung, nicht um die Rechnung.
21406«Konflikt podpisu i typu uwierzytelnienia.» (Konflikt zwischen Signatur und Authentifizierungstyp)
460«Uwierzytelnianie zakończone niepowodzeniem z powodu błędu certyfikatu», mit details: «Nieważny certyfikat», «Błąd weryfikacji łańcucha certyfikatów», «Niezaufany łańcuch certyfikatów», «Certyfikat odwołany», «Certyfikat zawieszony» oder «Niepoprawny certyfikat» (abgelaufen, Kettenfehler, nicht vertrauenswürdige Kette, widerrufen, gesperrt, fehlerhaft).

Die ersten zehn kommen sofort als HTTP-Antwort 400 auf die Signatur. Der Status 460 kommt später, wenn der Anmeldestatus abgefragt wird. Ein Hinweis zur Spezifikation selbst: Die Beispiele für diese Abfrage nennen aus denselben Gründen den Code 400 mit der Beschreibung «Uwierzytelnianie zakończone niepowodzeniem», während die Statustabelle 460 angibt. Der Text im Feld details ist wichtiger als die Nummer.

Was Odoo nicht anzeigt

Schlägt die Signatur fehl, schreibt Odoo «Failed to authenticate with XAdES:», gefolgt vom Ausnahmetext der Bibliothek requests, etwa «400 Client Error: Bad Request for url: …/auth/xades-signature». Der Code aus der Tabelle erreicht den Bildschirm nicht: Odoo übernimmt den Antworttext nur, wenn das Antwortobjekt «wahr» ist, und in requests ist eine Antwort mit einem Code von 400 bis 599 falsch. Dasselbe passiert beim Anfordern der Challenge, beim Abfragen des Status und beim Einlösen der Tokens.

Bei Status 460 schreibt Odoo «KSeF Authentication failed with status 460: …» mit der Beschreibung und ohne die details (auf Polnisch in 18 und 19: «Uwierzytelnianie KSeF nie powiodło się z kodem błędu 460: …»).

Schlägt die Erneuerung alle 6 Tage fehl, hinterlässt sie nur eine Spur im Serverprotokoll. Das Refresh-Token von KSeF gilt bis zu 7 Tage; danach endet der Versand mit «Failed to refresh KSeF access token. You may need to re-authenticate manually.».

Die Liste der Zugangsdaten in unserem Modul

Liste der KSeF-Zugangsdaten im Modul, mit zwei orangefarbenen Zeilen
Screenshot mit Demodaten: Zwei Einträge sind orange, weil sie in weniger als 30 Tagen ablaufen.

Poland KSeF 2.0 Validator hat unter KSeF › Configuration › Credentials eine Liste mit KSeF-Zertifikaten, Tokens, Siegeln und qualifizierten Signaturen samt den verbleibenden Tagen: orange bei 30 Tagen oder weniger, rot nach Ablauf. Das Ablaufdatum trägt die Person ein, die den Eintrag anlegt. Das Modul liest weder das Zertifikat aus den Einstellungen von Odoo noch seinen Status bei KSeF, daher meldet es kein widerrufenes oder gesperrtes Zertifikat.

Was zu tun ist

  1. Prüfen Sie in den Einstellungen, dass der gewählte Datensatz ein KSeF-Zertifikat mit seinem privaten Schlüssel ist.
  2. Kontrollieren Sie die Gültigkeitsdaten und ob das Zertifikat bei KSeF widerrufen oder gesperrt wurde.
  3. Prüfen Sie, dass die USt-IdNr. des Unternehmens mit PL beginnt und die NIP ist, für die das Zertifikat ausgestellt wurde.
  4. Speichern Sie das Zertifikat in den Einstellungen erneut. Kehrt der Fehler zurück und zeigt Odoo nur «400 Client Error», lassen Sie die Antwort von KSeF mit ihrem Code auslesen.

Weiterlesen

KSeF-Authentifizierungsstatus: 415, 425, 450, 470 und 480Status der KSeF-2.0-Anmeldung neben dem Zertifikat: fehlende Rechte, widerrufen, fehlerhaftes Token, Sperre. Codes 21301 und 21304 und ihre Anzeige in Odoo.KSeF-Codes 410 und 415: Verkäuferberechtigungen und AnhängeKSeF 410 «Nieprawidłowy zakres uprawnień» und 415 bei Rechnungen mit Anhang: was sie in den Tests des Ministeriums auslöst und was Sie in Odoo 18, 19 und 20 prüfen.KSeF HTTP 429, 403 und 401: Anfragelimits und verweigerter ZugriffKSeF 2.0 antwortet mit 429 Too Many Requests, 403 mit reasonCode und 401 bei abgelaufenem Token. Limits und Verhalten in Odoo 18, 19 und 20.
Geprüft im Quellcode des Moduls (Version 20.0) und in den verlinkten Quellen

Quellen