Vai al contenuto principale
KSeF 2.0 · invio della fattura

Eccezioni di KSeF all'invio di una fattura: 21405, 21180, 21184 e le altre

Questi codici arrivano subito, come risposta HTTP 400 all'invio della fattura, prima che KSeF esamini il suo contenuto. È questa la differenza rispetto a stati come il 450, che arrivano dopo. In Odoo li vedi insieme alla risposta completa di KSeF.

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

Come vederli in Odoo

Quando KSeF rifiuta la richiesta, l10n_pl_edi in Odoo 18, 19 e 20 mostra sulla fattura «Error when sending invoices to the KSeF» e, sotto, «KSeF API Error: » con la risposta esattamente come è arrivata, exceptionCode incluso. Nella 18 e nella 19 in polacco: «Podczas wysyłania faktur do KSeF wystąpił błąd» e «Błąd API KSeF: …». Se KSeF si rifiuta già all'apertura della sessione, il messaggio inizia con «Failed to open KSeF session: ». La fattura non riceve uno stato KSeF, quindi, una volta corretta, la invii come prima.

Scheda dell'eccezione 21405 di KSeF con i codici dell'invio
Il codice 21405 con la sua descrizione dell'API e le altre eccezioni che restituisce l'invio di una fattura in sessione interattiva.

Codici, testi e cosa fare

CodiceTesto di KSeFCosa fare
21405«Błąd walidacji danych wejściowych.» (errore di validazione dei dati di ingresso), details del validatoreLeggi i details; l'esempio della documentazione è «Wskazany kod formularza nie jest wspierany.» (codice del modulo non supportato).
21001«Nieczytelna treść.» (contenuto illeggibile), details con una descrizioneKSeF non è riuscito a leggere la richiesta; documentato nell'API 2.9.0 e restituito anche prima.
21155«Przekroczono dozwoloną liczbę faktur w sesji.» (troppe fatture nella sessione)Una sessione ammette fino a 10 000 fatture; serve una sessione nuova.
21173«Brak sesji o wskazanym numerze referencyjnym.» (nessuna sessione con quel numero di riferimento)KSeF non conosce la sessione memorizzata nell'azienda; Odoo non la sostituisce da sola (vedi sotto).
21180«Status sesji nie pozwala na wykonanie operacji.» (lo stato della sessione non lo consente), p. es. «Status sesji {code} uniemożliwia wysyłkę faktur.»La sessione si è chiusa o è scaduta tra il controllo e l'invio.
21184«Sesja tymczasowo niedostępna.» (sessione temporaneamente non disponibile), con details di manutenzioneKSeF consiglia di riprovare più tardi o di aprire un'altra sessione.
21402«Nieprawidłowy rozmiar pliku.» (dimensione del file non valida)La dimensione della richiesta non corrisponde al contenuto.
21403«Nieprawidłowy skrót pliku.» (impronta del file non valida)L'impronta SHA-256 non corrisponde al contenuto.
21166«Korekta techniczna niedostępna.» (correzione tecnica non disponibile)Riguarda la correzione tecnica di una fattura offline.
21167«Status faktury nie pozwala na korektę techniczną.» (lo stato della fattura non consente la correzione tecnica)Lo stesso: non c'è correzione tecnica per una fattura elaborata correttamente.

La sessione in Odoo

Odoo memorizza il numero della sessione interattiva sull'azienda. Prima dell'invio chiede a KSeF lo stato della sessione: se è 100, sessione aperta, continua a usarla; altrimenti ne apre una nuova con il modulo FA (3) 1-0E. Per questo il 21180 di solito scompare al tentativo successivo. Con il 21173 è diverso: all'invio successivo Odoo chiede informazioni sulla stessa sessione, riceve lo stesso errore («Failed to check KSeF session: …») e non ne apre un'altra. La sessione memorizzata si cancella solo rimuovendo il certificato KSeF nelle impostazioni e salvando, poi aggiungendo di nuovo il certificato. Questo deriva dal codice di Odoo; non l'abbiamo provato con KSeF. Davanti a un 21184 KSeF suggerisce una sessione nuova, ma Odoo ne apre una solo quando quella memorizzata non ha più lo stato 100; se l'errore si ripete, aspetta, come consiglia il messaggio.

I codici 21402 e 21403 riguardano calcoli che fa il programma che invia: Odoo calcola l'impronta e la dimensione della fattura prima e dopo la cifratura. Con un Odoo standard non derivano dai dati della fattura. Odoo non invia correzioni tecniche di fatture offline, quindi il 21166 e il 21167 provengono da un altro programma.

Prima di segnalare il problema

  • Copia il messaggio intero di Odoo, con il JSON che segue «KSeF API Error:».
  • Annota il codice e il testo di details.
  • Verifica se l'errore riguarda una fattura o tutte quelle che stai inviando.
  • Verifica se succede in produzione o nell'ambiente di prova.
Schema: cosa restituisce KSeF con l'eccezione 21405 e cosa mostra Odoo 20
Schema realizzato a partire dal codice di l10n_pl_edi di Odoo 20 e dalla specifica dell'API di KSeF 2.9.0; ciò che è barrato è ciò che Odoo non conserva o non fa.

Stati della sessione stessa: 440 e 445

Anche la sessione interattiva ha un proprio stato. Il 440 «Sesja anulowana» (sessione annullata) con details «Nie przesłano faktur» significa che nella sessione non è stata inviata nessuna fattura, e il 445 «Błąd weryfikacji, brak poprawnych faktur», che nessuna ha superato la verifica. Odoo controlla solo se la sessione ha lo stato 100, quindi non li mostrerà; cerca la causa negli stati delle fatture, come il 450.

Il nostro modulo, Poland KSeF 2.0 Validator, non invia fatture e non vede questi codici; con l'abbonamento a FlexigoTech Cloud, se premi «Validate FA(3) (FlexigoTech Cloud)» prima di inviare la fattura, controlla il file FA(3) rispetto allo schema. Quel risultato non blocca l'invio di l10n_pl_edi: una fattura «Not valid» parte comunque se la invii.

Continua a leggere

Codice 450 di KSeF: «Błąd weryfikacji semantyki dokumentu faktury»Il codice 450 di KSeF respinge una fattura FA(3) dopo averne controllato il contenuto. Dove sta il motivo reale, cosa non mostra Odoo 18, 19 e 20 e come reinviarla.Stati tecnici della fattura in KSeF: 550, 500, 405, 430 e 435Stati KSeF non legati al contenuto della fattura: 550 «Operacja została anulowana przez system», 500, 405, 430 e 435. Cosa fa Odoo e perché il 550 resta in Sent.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