Zum Hauptinhalt springen
KSeF 2.0 · Rechnungsstatus

KSeF-Code 450: «Błąd weryfikacji semantyki dokumentu faktury»

Status 450 bedeutet, dass KSeF die Datei zur Verarbeitung angenommen und die Rechnung danach bei der Prüfung ihres Inhalts abgelehnt hat. Er ist nicht derselbe wie der 450 bei der Anmeldung, der ein Token betrifft (erklären wir separat). Odoo zeigt Ihnen die Nummer und eine allgemeine Beschreibung; der konkrete Grund steht im Feld details der KSeF-Antwort.

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 17.0 und 20.0 · in den Quellen am Ende
Lesezeit
3 Min.

Was KSeF zurückgibt

In der Spezifikation der KSeF-API 2.9.0 hat der Status 450 einer Rechnung eine feste Beschreibung, «Błąd weryfikacji semantyki dokumentu faktury» (Fehler bei der semantischen Prüfung des Rechnungsdokuments). Was genau fehlerhaft ist, ergänzt KSeF im Feld details desselben Status. Das polnische Finanzministerium veröffentlicht keine Liste dieser Meldungen, es gibt also keine Tabelle nach dem Muster «450 bedeutet immer dieses Problem».

Es gibt aber Fälle, die das Ministerium in den Tests seiner eigenen Bibliothek ksef-client-csharp prüft und bei denen es genau den Code 450 erwartet:

  • Ausstellungsdatum P_1 auf morgen nach polnischer Zeit gesetzt, weil KSeF P_1 in der Zeitzone Warschau liest und kein Datum akzeptiert, das nach dem Zeitpunkt des Empfangs der Rechnung liegt;
  • DataWytworzeniaFa vor 2025-09-01T00:00:00Z, der untere Grenzwert dieses Feldes im Schema FA(3) 1-0E.
Kachel des KSeF-Codes 450 mit der Beschreibung aus der API
Code 450 und seine Beschreibung aus der KSeF-API 2.9.0, mit den Feldern, die Sie zuerst prüfen sollten.

Was Sie in Odoo sehen

Rechnungen gelangen über das Odoo-Modul l10n_pl_edi zu KSeF, das in Odoo 18, 19 und 20 vorhanden ist. Antwortet KSeF, setzt es «KSeF Status» auf Rejected und schreibt eine Meldung in den Verlauf der Rechnung:

VersionMeldung in Odoo
Odoo 18 und 19 auf Polnisch«Status KSeF: Odrzucono (kod: 450). Błąd weryfikacji semantyki dokumentu faktury.»
Odoo 20«KSeF Status: Rejected (Code: 450). Invoice document semantics verification error.» (die polnische Übersetzung dieses Moduls ist in 20 leer)
Odoo 17Ohne l10n_pl_edi: Die Rechnung wird von einem anderen Programm gesendet, und dieses zeigt den Fehler an.

Aus der Antwort von KSeF liest Odoo den Code, die Beschreibung und die KSeF-Nummer. Das Feld details speichert es nicht (es hängt nur die Beschreibung von KSeF für den Code 500 an), daher kann Odoo allein nicht sagen, welcher Teil der Rechnung fehlerhaft war.

Wo Sie den Grund finden

Der Text von details kommt in der Antwort von KSeF auf die Abfrage des Rechnungsstatus. Wenn Sie aus Odoo senden, brauchen Sie jemanden, der ihn über die API ausliest, oder eine Prüfung der FA(3)-Datei vor dem Senden. Odoo 18, 19 und 20 enthalten eine Kopie des Schemas FA(3) im Modul, doch außerhalb der Tests verwendet es niemand: Die Datei geht an KSeF, ohne gegen das Schema validiert zu werden.

Odoo überwacht zwei Dinge. Es sendet keine Rechnung mit einem Datum nach heute in der Zeitzone des Benutzers («The move was skipped because it is future-dated»). Und es füllt DataWytworzeniaFa mit dem Zeitpunkt der Dateierzeugung in UTC, sodass die Grenze von 2025 nicht von einer in Odoo ausgestellten Rechnung stammen sollte.

So senden Sie sie erneut

  1. Ermitteln Sie den Grund in details oder prüfen Sie die FA(3)-Datei gegen das Schema.
  2. Korrigieren Sie die Daten in Odoo: Datum, Kunde, Positionen.
  3. Setzen Sie die Rechnung auf Entwurf zurück. Bei einer abgelehnten Rechnung löscht Odoo ihren KSeF-Status, Nummer, Referenz und Sitzung.
  4. Bestätigen Sie sie und senden Sie sie erneut mit der Option «by KSeF (e-Faktura)». Odoo sendet nur Rechnungen ohne KSeF-Status, ohne Schritt 3 geht also nichts hinaus.
Schema: was KSeF mit dem Code 450 zurückgibt und was Odoo 20 anzeigt
Schema auf Grundlage des Codes von l10n_pl_edi in Odoo 20 und der Spezifikation der KSeF-API 2.9.0; durchgestrichen ist, was Odoo nicht speichert oder nicht tut.

Mit unserem Modul

Poland KSeF 2.0 Validator sendet keine Rechnungen an KSeF. Mit dem Abonnement FlexigoTech Cloud validiert es, wenn Sie vor dem Senden der Rechnung auf «Validate FA(3) (FlexigoTech Cloud)» klicken, die FA(3)-Datei gegen das Schema 1-0E und zeigt jeden Fehler als Zeile «[error] XSD (Pfad)» an: die Stelle in der Datei, ohne den Meldungstext, bis zu 100 Fehler. Das Ergebnis hält den Versand durch l10n_pl_edi nicht auf: Eine Rechnung «Not valid» geht trotzdem hinaus, wenn Sie sie senden. Es erkennt nicht, was KSeF nur auf seiner Seite prüft, etwa P_1 im Vergleich zum Zeitpunkt des Empfangs. Sobald l10n_pl_edi die Rechnung sendet, wird die frühere Validierung zu Expired, und das Modul prüft die Datei, die KSeF tatsächlich erhalten hat. In Odoo 17 validiert es die FA(3)-Datei, die an die Rechnung hochgeladen wurde.

Unser Modul erfasst den Code 450 nicht: Aus l10n_pl_edi übernimmt es nur den Status (Submitted, Accepted oder Rejected) und die KSeF-Nummer.

Weiterlesen

Die Datumsfelder in FA(3): P_1, P_6 und DataWytworzeniaFaDatumsregeln des FA(3)-Schemas 1-0E und von KSeF: P_1 in polnischer Zeit, P_6, DataWytworzeniaFa ab 2025-09-01. Wann sie 450 ergeben und wie Odoo 18-20 sie füllt.Technische Rechnungsstatus in KSeF: 550, 500, 405, 430 und 435KSeF-Status ohne Bezug zum Rechnungsinhalt: 550 «Operacja została anulowana przez system», 500, 405, 430 und 435. Was Odoo tut und warum der 550 in Sent bleibt.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.
Geprüft im Quellcode des Moduls (Version 17.0 und 20.0) und in den verlinkten Quellen

Quellen