Zum Hauptinhalt springen
KSeF 2.0 · API

KSeF HTTP 429, 403 und 401: Anfragelimits und verweigerter Zugriff

Diese drei Antworten haben keinen fünfstelligen KSeF-Code, weil es normale HTTP-Codes sind. Trotzdem folgen sie festen Regeln: Der 429 kommt mit dem Header Retry-After, der 403 mit einem Feld reasonCode, das sagt, was fehlt, und der 401 bedeutet, dass das Zugriffstoken abgelaufen ist.

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

Das Wichtigste

Versionen
Odoo 17, 18, 19 und 20
Geprüft
in den Quellen am Ende
Lesezeit
3 Min.

Anfragelimit: 429

Bei Überschreitung des Limits antwortet KSeF mit HTTP 429 «Too Many Requests», einem Header Retry-After und sperrt den Zugriff auf die API für die angegebene Zeit. Das Beispiel aus der Dokumentation: «Przekroczono limit 20 żądań na minutę. Spróbuj ponownie po 30 sekundach.» (Limit von 20 Anfragen pro Minute überschritten. Bitte nach 30 Sekunden erneut versuchen). Die Limits werden pro Sekunde, Minute und Stunde gezählt. Die höheren Limits zwischen 20:00 und 06:00 Uhr gelten nur für den Download, und ihre Werte sind noch nicht veröffentlicht; für das Senden von Rechnungen gibt es nachts keine höheren Limits.

Am wichtigsten beim Senden aus Odoo:

  • Senden einer Rechnung: 10 pro Sekunde, 30 pro Minute, 180 pro Stunde;
  • Öffnen einer interaktiven Sitzung: 10, 30 und 120;
  • Status einer Rechnung in der Sitzung: 30, 120 und 1200;
  • übrige Anfragen: 10, 30 und 120.
Karte der HTTP-Codes 429, 403 und 401 von KSeF
Der 429 mit dem Text der API sowie der 401 und der 403, die ohne KSeF-Code kommen.

Verweigerter Zugriff: der 403 und sein reasonCode

reasonCodeText von KSeF
missing-permissions«Brak wymaganych uprawnień do wykonania operacji w bieżącym kontekście.» (im aktuellen Kontext fehlen die erforderlichen Berechtigungen)
ip-not-allowed«Żądanie pochodzi z adresu IP innego niż wskazany podczas uwierzytelnienia.» (die Anfrage kommt von einer anderen IP als der bei der Anmeldung angegebenen)
insufficient-resource-access«Brak dostępu do wskazanego zasobu.» (kein Zugriff auf diese Ressource)
auth-method-not-allowed«Ta operacja nie jest dostępna dla użytej metody uwierzytelnienia.» (für diese Anmeldemethode nicht verfügbar)
security-service-blocked«Żądanie zostało zablokowane przez mechanizmy bezpieczeństwa.» (von den Sicherheitsmechanismen blockiert)
context-type-not-allowed«Operacja nie jest dostępna dla uwierzytelnionego typu kontekstu.» (für diesen Kontakttyp nicht verfügbar)

Die Antworten 401 und 403 kommen im Format Problem Details, und die 400 und 429 können es ebenfalls, wenn das Programm den Header X-Error-Format: problem-details sendet. Odoo sendet ihn nicht.

Was Odoo 18, 19 und 20 tun

Bei einem 401 erneuert Odoo das Zugriffstoken und wiederholt die Anfrage einmal. Bei einem 403 zeigt es «KSeF API Error: » mit dem Inhalt der Antwort an, sodass der reasonCode in der Meldung erscheint. Bei einem 429 wirft es den Fehler «Too Many Requests»:

  • beim Senden erhält die Rechnung diesen Fehler und bleibt ohne KSeF-Status, Retry-After wird dabei nicht berücksichtigt: Senden Sie sie etwas später erneut;
  • der Download von Lieferantenrechnungen, den Odoo alle 3 Stunden durchführt, liest Retry-After und plant sich selbst neu ein.

Nach dem Senden fragt Odoo bis zu 5 Mal im Abstand von 2 Sekunden den Status ab. Werden viele Rechnungen auf einmal gesendet, zählen diese Anfragen ebenfalls auf das Statuslimit.

Schema: was KSeF bei den HTTP-Antworten 429, 403 und 401 zurückgibt und was Odoo 20 anzeigt
Schema auf Grundlage des Codes von l10n_pl_edi in Odoo 20 und der API-Spezifikation von KSeF 2.9.0; durchgestrichen ist, was Odoo nicht speichert oder nicht tut.

So vermeiden Sie den 429

Eine Rechnung mit dem Fehler «Too Many Requests» hat keinen KSeF-Status, weil KSeF die Anfrage nicht angenommen hat. Sie kehrt daher zu den noch zu sendenden Rechnungen zurück, und es besteht kein Risiko, dass sie zweimal bei KSeF ankommt. Senden Sie die Rechnungen in kleineren Gruppen und klicken Sie nicht wiederholt auf erneut senden. Wenn Sie häufig die Sendelimits der interaktiven Sitzung erreichen, empfiehlt das Finanzministerium, zuerst den Stapelmodus zu prüfen und, falls die interaktive Sitzung unverzichtbar ist, den KSeF-Support zu kontaktieren. Odoo sendet Rechnungen nur in einer interaktiven Sitzung. Unser Modul, Poland KSeF 2.0 Validator, sendet keine Anfragen an KSeF und verbraucht diese Limits daher nicht; mit dem Abonnement geht seine Validierung des FA(3) an FlexigoTech Cloud.

Erledigt sich ein 403 security-service-blocked von selbst?

Die Dokumentation sagt nur, dass die Anfrage von den Sicherheitsmechanismen blockiert wurde. Wenn es mit korrekten Daten weiterhin passiert, wenden Sie sich an den KSeF-Support.

Weiterlesen

KSeF-Ausnahmen beim Rechnungsversand: 21405, 21180, 21184 und die übrigenKSeF-Ausnahmen beim Rechnungsversand: 21405, 21001, 21155, 21166, 21167, 21173, 21180, 21184, 21402 und 21403. Was sie bedeuten und wie sie in Odoo erscheinen.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.
Geprüft in den verlinkten Quellen

Quellen