So sehen Sie sie in Odoo
Wenn KSeF die Anfrage ablehnt, zeigt l10n_pl_edi in Odoo 18, 19 und 20 an der Rechnung „Error when sending invoices to the KSeF“ und darunter „KSeF API Error: “ mit der Antwort genau so, wie sie eingegangen ist, einschließlich exceptionCode. In Odoo 18 und 19 lautet die Meldung auf Polnisch: „Podczas wysyłania faktur do KSeF wystąpił błąd“ und „Błąd API KSeF: …“. Lehnt KSeF schon das Öffnen der Sitzung ab, beginnt die Meldung mit „Failed to open KSeF session: “. Die Rechnung erhält keinen KSeF-Status. Nach der Korrektur senden Sie sie daher wie zuvor.

Codes, Texte und was zu tun ist
| Code | Text von KSeF | Was zu tun ist |
|---|---|---|
| 21405 | „Błąd walidacji danych wejściowych.“ (Fehler bei der Validierung der Eingabedaten), details des Validators | Lesen Sie die details; das Beispiel der Dokumentation lautet „Wskazany kod formularza nie jest wspierany.“ (Formularcode wird nicht unterstützt). |
| 21001 | „Nieczytelna treść.“ (unlesbarer Inhalt), details mit einer Beschreibung | KSeF konnte die Anfrage nicht lesen; in der API 2.9.0 dokumentiert, wurde früher ebenfalls zurückgegeben. |
| 21155 | „Przekroczono dozwoloną liczbę faktur w sesji.“ (zu viele Rechnungen in der Sitzung) | Eine Sitzung nimmt bis zu 10.000 Rechnungen auf; es ist eine neue Sitzung nötig. |
| 21173 | „Brak sesji o wskazanym numerze referencyjnym.“ (keine Sitzung mit dieser Referenznummer) | KSeF kennt die im Unternehmen gespeicherte Sitzung nicht; Odoo ersetzt sie nicht von selbst (siehe unten). |
| 21180 | „Status sesji nie pozwala na wykonanie operacji.“ (Sitzungsstatus erlaubt die Operation nicht), z. B. „Status sesji {code} uniemożliwia wysyłkę faktur.“ | Die Sitzung wurde zwischen Prüfung und Versand geschlossen oder ist abgelaufen. |
| 21184 | „Sesja tymczasowo niedostępna.“ (Sitzung vorübergehend nicht verfügbar), mit details zur Wartung | KSeF empfiehlt, später erneut zu versuchen oder eine neue Sitzung zu öffnen. |
| 21402 | „Nieprawidłowy rozmiar pliku.“ (falsche Dateigröße) | Die Größenangabe der Anfrage stimmt nicht mit dem Inhalt überein. |
| 21403 | „Nieprawidłowy skrót pliku.“ (falscher Dateihash) | Der SHA-256-Hash stimmt nicht mit dem Inhalt überein. |
| 21166 | „Korekta techniczna niedostępna.“ (technische Korrektur nicht verfügbar) | Betrifft die technische Korrektur einer Offline-Rechnung. |
| 21167 | „Status faktury nie pozwala na korektę techniczną.“ (Rechnungsstatus erlaubt keine technische Korrektur) | Ebenso: Für eine korrekt verarbeitete Rechnung gibt es keine technische Korrektur. |
Die Sitzung in Odoo
Odoo speichert die Nummer der interaktiven Sitzung am Unternehmen. Vor dem Versand fragt Odoo bei KSeF den Sitzungsstatus ab: Bei 100, offene Sitzung, wird sie weiterverwendet; andernfalls öffnet Odoo eine neue mit dem Formular FA (3) 1-0E. Deshalb verschwindet der Fehler 21180 meist beim nächsten Versuch. Bei 21173 ist es anders: Beim nächsten Versand fragt Odoo nach derselben Sitzung, erhält denselben Fehler („Failed to check KSeF session: …“) und öffnet keine neue. Die gespeicherte Sitzung wird nur gelöscht, indem Sie das KSeF-Zertifikat in den Einstellungen entfernen und speichern und das Zertifikat danach wieder hinzufügen. Das ergibt sich aus dem Code von Odoo; wir haben es nicht gegen KSeF getestet. Bei 21184 schlägt KSeF eine neue Sitzung vor, doch Odoo öffnet nur dann eine, wenn die gespeicherte Sitzung nicht mehr den Status 100 hat. Wiederholt sich der Fehler, warten Sie, wie die Meldung rät.
Die Codes 21402 und 21403 betreffen Berechnungen, die das versendende Programm selbst ausführt: Odoo berechnet Hash und Größe der Rechnung vor und nach der Verschlüsselung. Bei einem Standard-Odoo stammen sie nicht aus den Rechnungsdaten. Odoo sendet keine technischen Korrekturen von Offline-Rechnungen, daher stammen 21166 und 21167 von einem anderen Programm.
Bevor Sie das Problem melden
- Kopieren Sie die vollständige Meldung von Odoo, einschließlich des JSON nach „KSeF API Error:“.
- Notieren Sie den Code und den Text von details.
- Prüfen Sie, ob der Fehler eine Rechnung oder alle versendeten Rechnungen betrifft.
- Prüfen Sie, ob er im Produktivsystem oder in der Testumgebung auftritt.

Status der Sitzung selbst: 440 und 445
Auch die interaktive Sitzung hat einen eigenen Status. 440 „Sesja anulowana“ (Sitzung storniert) mit details „Nie przesłano faktur“ bedeutet, dass in der Sitzung keine Rechnung gesendet wurde; 445 „Błąd weryfikacji, brak poprawnych faktur“, dass keine Rechnung die Prüfung bestanden hat. Odoo prüft nur, ob die Sitzung den Status 100 hat, und zeigt diese daher nicht an. Suchen Sie die Ursache bei den Rechnungsstatus, etwa 450.
Unser Modul Poland KSeF 2.0 Validator versendet keine Rechnungen und sieht diese Codes nicht; mit dem Abonnement von FlexigoTech Cloud prüft es bei Klick auf „Validate FA(3) (FlexigoTech Cloud)“ vor dem Versand die Datei FA(3) gegen das Schema. Dieses Ergebnis hält den Versand durch l10n_pl_edi nicht auf: Eine als „Not valid“ markierte Rechnung wird trotzdem versendet, wenn Sie sie senden.
Weiterlesen
Geprüft im Quellcode des Moduls (Version 20.0) und in den verlinkten Quellen
Quellen
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/tool
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/open-api.json
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/api-changelog.md#
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/api-changelog.md#
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/weryfikac
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/weryfikac
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/api-changelog.md
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/tool
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/tool
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/tool
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/l10n_pl_edi/i18n
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- Quellcode des Moduls: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): views/account_move_views.xml
