Vai al contenuto principale
KSeF 2.0 · autenticazione

Accesso a KSeF con certificato: codice 460 ed errori di firma XAdES

Odoo 18, 19 e 20 si collegano a KSeF solo con un certificato KSeF: firmano una sfida con firma XAdES e la inviano a POST /auth/xades-signature. Se qualcosa non va nel certificato o nella firma, KSeF risponde con uno degli undici codici di questa pagina, ma Odoo di solito mostra poco di essi.

FlexigoTech · Responsabile: Víctor Gómez · Aggiornato il 5 novembre 2026

In breve

Modulo
KSeF 2.0
Versioni
Odoo 17, 18, 19 e 20
Verificato
nel codice del modulo, versione 20.0 · nelle fonti collegate in fondo
Lettura
3 min

Quando Odoo accede

Odoo si autentica in due momenti: quando salvi nelle impostazioni il certificato KSeF con la sua chiave privata e nell'azione pianificata «Refresh KSeF tokens», che ripete l'accesso completo ogni 6 giorni. Il contesto è il NIP dell'azienda, quindi la partita IVA dell'azienda deve iniziare con PL. La sfida (challenge) di KSeF è valida 10 minuti.

Scheda del codice 460 di KSeF con le eccezioni della firma XAdES
Il codice 460 e le dieci eccezioni restituite da POST /auth/xades-signature.

I codici e i loro testi

CodiceTesto di KSeF
9101«Nieprawidłowy dokument.» (documento non valido)
9102«Brak podpisu.» (firma mancante)
9103«Przekroczona liczba dozwolonych podpisów.» (troppe firme)
9105«Nieprawidłowy podpis.» (firma non valida)
21111«Nieprawidłowe wyzwanie autoryzacyjne.» (sfida di autorizzazione non valida)
21115«Nieprawidłowy certyfikat.» (certificato non valido)
21117«Nieprawidłowy identyfikator podmiotu dla wskazanego typu kontekstu.» (identificativo del soggetto non valido per il tipo di contesto indicato)
21217«Nieprawidłowe kodowanie znaków.» (codifica dei caratteri non valida)
21401«Dokument nie jest zgodny ze schemą (xsd).» Qui si tratta dell'XML di accesso, non della fattura.
21406«Konflikt podpisu i typu uwierzytelnienia.» (conflitto tra firma e tipo di autenticazione)
460«Uwierzytelnianie zakończone niepowodzeniem z powodu błędu certyfikatu», con details: «Nieważny certyfikat», «Błąd weryfikacji łańcucha certyfikatów», «Niezaufany łańcuch certyfikatów», «Certyfikat odwołany», «Certyfikat zawieszony» o «Niepoprawny certyfikat» (scaduto, errore di catena, catena non attendibile, revocato, sospeso, non corretto).

I primi dieci arrivano subito, come risposta HTTP 400 alla firma. Lo stato 460 arriva dopo, quando si consulta lo stato dell'accesso. Attenzione alla specifica stessa: gli esempi di quella richiesta danno, per gli stessi motivi, il codice 400 con la descrizione «Uwierzytelnianie zakończone niepowodzeniem», mentre la sua tabella degli stati riporta 460. Conta più il testo di details che il numero.

Ciò che Odoo non mostra

Se la firma fallisce, Odoo scrive «Failed to authenticate with XAdES:» seguito dal testo dell'eccezione della libreria requests, del tipo «400 Client Error: Bad Request for url: …/auth/xades-signature». Il codice della tabella non arriva allo schermo: Odoo prende il corpo della risposta solo quando l'oggetto risposta è «vero», e in requests una risposta con codice da 400 a 599 è falsa. Lo stesso accade richiedendo la sfida, consultando lo stato e riscattando i token.

Con lo stato 460, Odoo scrive «KSeF Authentication failed with status 460: …» con la descrizione e senza i details (in polacco nella 18 e nella 19: «Uwierzytelnianie KSeF nie powiodło się z kodem błędu 460: …»).

Se il rinnovo ogni 6 giorni fallisce, lascia traccia solo nel log del server. Il token di refresh di KSeF dura fino a 7 giorni; dopodiché l'invio termina con «Failed to refresh KSeF access token. You may need to re-authenticate manually.».

L'elenco delle credenziali del nostro modulo

Elenco delle credenziali KSeF del modulo, con due righe in arancione
Schermata con dati dimostrativi: due voci sono in arancione perché scadono entro 30 giorni.

Poland KSeF 2.0 Validator ha in KSeF › Configuration › Credentials un elenco di certificati KSeF, token, sigilli e firme qualificate con i giorni che restano: in arancione con 30 giorni o meno e in rosso se già scaduti. La data di scadenza la inserisce chi crea la voce. Il modulo non legge il certificato dalle impostazioni di Odoo né il suo stato in KSeF, quindi non segnalerà un certificato revocato o sospeso.

Cosa fare

  1. Verifica nelle impostazioni che il record scelto sia un certificato KSeF con la sua chiave privata.
  2. Controlla le date di validità e se il certificato è revocato o sospeso in KSeF.
  3. Verifica che la partita IVA dell'azienda inizi con PL ed è il NIP per cui è stato emesso il certificato.
  4. Salva di nuovo il certificato nelle impostazioni. Se l'errore ritorna e in Odoo vedi solo «400 Client Error», chiedi di leggere la risposta di KSeF con il suo codice.

Continua a leggere

Stati di autenticazione KSeF: 415, 425, 450, 470 e 480Stati dell'accesso a KSeF 2.0 diversi dal certificato: senza permessi, revocato, token errato, bloccato. Codici 21301 e 21304 e come appaiono in Odoo.Codici 410 e 415 di KSeF: permessi del venditore e allegatiIl 410 «Nieprawidłowy zakres uprawnień» e il 415 per le fatture con allegato: cosa li causa nei test del Ministero e cosa controllare in Odoo 18, 19 e 20.KSeF HTTP 429, 403 e 401: limiti di richieste e accesso negatoKSeF 2.0 risponde 429 Too Many Requests oltre il limite, 403 con reasonCode senza accesso e 401 con il token scaduto. Limiti e comportamento di Odoo 18, 19 e 20.
Verificato nel codice del modulo (versione 20.0) e nelle fonti collegate

Fonti