Naar hoofdinhoud
KSeF 2.0 · API

KSeF HTTP 429, 403 en 401: aanvraaglimieten en geweigerde toegang

Deze drie antwoorden hebben geen vijfcijferige KSeF-code, omdat het gewone HTTP-codes zijn. Toch volgen ze vaste regels: de 429 komt met een Retry-After-header, de 403 met een reasonCode-veld dat aangeeft wat ontbreekt, en de 401 betekent dat het toegangstoken verlopen is.

FlexigoTech · Verantwoordelijk: Víctor Gómez · Bijgewerkt op 5 november 2026

In het kort

Module
KSeF 2.0
Versies
Odoo 17, 18, 19 en 20
Gecontroleerd
in de bronnen onderaan
Leestijd
3 min

Aanvraaglimiet: 429

Bij overschrijding van de limiet antwoordt KSeF met HTTP 429 «Too Many Requests» en een Retry-After-header, en blokkeert het de toegang tot de API gedurende de aangegeven tijd. Het voorbeeld uit de documentatie: «Przekroczono limit 20 żądań na minutę. Spróbuj ponownie po 30 sekundach.» (limiet van 20 aanvragen per minuut overschreden; probeer het over 30 seconden opnieuw). Limieten worden geteld per seconde, minuut en uur. De hogere limieten tussen 20:00 en 06:00 gelden alleen voor downloaden, en de waarden zijn nog niet gepubliceerd; facturen verzenden krijgt 's nachts geen hogere limieten.

Wat het meest telt bij verzenden vanuit Odoo:

  • een factuur verzenden: 10 per seconde, 30 per minuut, 180 per uur;
  • een interactieve sessie openen: 10, 30 en 120;
  • de status van een factuur in de sessie: 30, 120 en 1200;
  • overige aanvragen: 10, 30 en 120.
Kaart met de HTTP-codes 429, 403 en 401 van KSeF
De 429 met de tekst van de API, en de 401 en 403, die zonder KSeF-code komen.

Geweigerde toegang: de 403 en zijn reasonCode

reasonCodeTekst van KSeF
missing-permissions«Brak wymaganych uprawnień do wykonania operacji w bieżącym kontekście.» (ontbrekende rechten in de huidige context)
ip-not-allowed«Żądanie pochodzi z adresu IP innego niż wskazany podczas uwierzytelnienia.» (aanvraag van een ander IP-adres dan bij het aanmelden opgegeven)
insufficient-resource-access«Brak dostępu do wskazanego zasobu.» (geen toegang tot die bron)
auth-method-not-allowed«Ta operacja nie jest dostępna dla użytej metody uwierzytelnienia.» (niet beschikbaar voor die aanmeldmethode)
security-service-blocked«Żądanie zostało zablokowane przez mechanizmy bezpieczeństwa.» (geblokkeerd door de beveiligingsmechanismen)
context-type-not-allowed«Operacja nie jest dostępna dla uwierzytelnionego typu kontekstu.» (niet beschikbaar voor dat contexttype)

De antwoorden 401 en 403 komen in het Problem Details-formaat, en de 400 en 429 kunnen dat ook, als het programma de header X-Error-Format: problem-details meestuurt. Odoo stuurt die niet mee.

Wat Odoo 18, 19 en 20 doen

Bij een 401 vernieuwt Odoo het toegangstoken en herhaalt het de aanvraag één keer. Bij een 403 toont het «KSeF API Error: » met de inhoud van het antwoord, dus je ziet de reasonCode in het bericht. Bij een 429 gooit het de fout «Too Many Requests»:

  • bij verzenden krijgt de factuur die fout en blijft zonder KSeF-status, en Retry-After wordt genegeerd: verstuur haar iets later opnieuw;
  • het downloaden van leveranciersfacturen, dat Odoo elke 3 uur doet, leest Retry-After en plant zichzelf opnieuw in.

Na het verzenden vraagt Odoo tot 5 keer om de status, telkens 2 seconden na elkaar. Bij veel tegelijk verzonden facturen tellen die aanvragen ook mee voor de statuslimiet.

Schema: wat KSeF retourneert bij de HTTP-antwoorden 429, 403 en 401 en wat Odoo 20 toont
Schema gebaseerd op de code van l10n_pl_edi van Odoo 20 en de specificatie van de KSeF API 2.9.0; doorgehaald is wat Odoo niet bewaart of niet doet.

Zo voorkom je de 429

Een factuur met de fout «Too Many Requests» heeft geen KSeF-status, omdat KSeF de aanvraag niet heeft aangenomen. Ze gaat dus terug naar de facturen die nog verzonden moeten worden, en er is geen risico dat ze twee keer bij KSeF aankomt. Verstuur facturen in kleinere groepen en klik niet herhaaldelijk op opnieuw verzenden. Als je regelmatig de verzendlimieten van de interactieve sessie raakt, adviseert het Ministerie van Financiën eerst de batchmodus te overwegen en, als de interactieve sessie onmisbaar is, contact op te nemen met de KSeF-support. Odoo verstuurt facturen alleen in een interactieve sessie. Onze module, Poland KSeF 2.0 Validator, doet geen aanvragen aan KSeF en verbruikt dus deze limieten niet; met het abonnement gaat de FA(3)-validatie ervan naar FlexigoTech Cloud.

Verdwijnt een 403 security-service-blocked vanzelf?

De documentatie zegt alleen dat de aanvraag door de beveiligingsmechanismen is geblokkeerd. Als het blijft gebeuren met correcte gegevens, meld het dan bij de KSeF-support.

Lees verder

KSeF-uitzonderingen bij het verzenden van een factuur: 21405, 21180, 21184 en de restKSeF-uitzonderingen bij het verzenden van een factuur: 21405, 21001, 21155, 21166, 21167, 21173, 21180, 21184, 21402 en 21403. Betekenis en weergave in Odoo.KSeF-authenticatiestatussen: 415, 425, 450, 470 en 480Statussen van de KSeF 2.0-aanmelding naast het certificaat: geen rechten, ingetrokken, verkeerd token, geblokkeerd. Codes 21301 en 21304 en hoe ze eruitzien in Odoo.Codes 410 en 415 van KSeF: rechten van de verkoper en bijlagenKSeF 410 «Nieprawidłowy zakres uprawnień» en 415 bij facturen met bijlage: wat ze veroorzaakt in de tests van het Ministerie en wat je in Odoo 18, 19 en 20 moet nakijken.
Gecontroleerd in de gelinkte bronnen

Bronnen