Limity i terminy ustawowe
Limity liczby wywołań i wysyłek do sieci, ponowienia i terminy ustawowe.
- W sandboxie
Prostymi słowami
Niektóre systemy krajowe ograniczają tempo wysyłania faktur, a niektóre przepisy wyznaczają termin liczony od daty faktury. Ta strona wymienia limity, które liczymy, i terminy ustawowe, których pilnujemy, aby firma mogła zaplanować wielkość partii i ostatni dzień, w którym można wysłać fakturę. Daty i limity pochodzą z oficjalnych źródeł i trzeba je ponownie sprawdzić, zanim ktokolwiek się na nich oprze.
Tempo wyznaczają cztery rzeczy: wielkość żądania, częstotliwość, z jaką klient może wywoływać API, limit wysyłek do sieci dla każdego klienta oraz termin ustawowy w kanałach, które go mają.
Wielkość żądania
Treść większa niż 5 MB (5 000 000 bajtów) kończy się odpowiedzią 413 z treścią opisującą problem (payload-too-large). Dotyczy to POST /invoices, POST /invoices/xml, POST /validate i POST /credentials.
Częstotliwość żądań
Każdy klient ma budżet dla każdego zakresu klucza. Jest on liczony dla klienta, a nie dla klucza, więc więcej kluczy nie daje więcej żądań.
| Zakres | Wywołań na sekundę | Wywołań na minutę |
|---|---|---|
submit | 20 | 600 |
read | 50 | 3000 |
admin | 20 | 600 |
Dodatkowo listę do obsługi można odczytywać 30 razy na minutę, a dowody z obsługi 10 razy na minutę. Po przekroczeniu limitu odpowiedzią jest 429 z nagłówkiem Retry-After w sekundach. Należy odczekać tyle czasu i wysłać to samo wywołanie ponownie. Przebieg próbny, w którym wszystkie walidatory są zajęte, kończy się w ten sam sposób odpowiedzią 503 (busy) z Retry-After.
Wyszukiwanie nabywcy w Peppol też jest ograniczone: 30 wyszukiwań na minutę i 300 na godzinę dla każdego klienta. Odpowiedź, która jest już zapisana, nic nie kosztuje.
Limity sieci
Usługa liczy wywołania każdego klienta do sieci i porównuje je z limitem opublikowanym przez sieć. Klientem jest wartość client na fakturze. Faktura bez client jest liczona jako local. Liczniki są przechowywane w bazie danych, więc ponowne uruchomienie ich nie zeruje.
| Kanał | Wywołanie | Limit |
|---|---|---|
PL-KSEF | Wysłanie faktury | 10 na sekundę, 30 na minutę, 180 na godzinę |
PL-KSEF | Odczyt statusu | 30 na sekundę, 120 na minutę, 1200 na godzinę |
RO-EFACTURA | Dowolne wywołanie | 1000 na minutę |
DE-XRECHNUNG, PEPPOL, FR-PA | Brak opublikowanego limitu, żaden nie jest stosowany |
Gdy klient przekroczy limit, jego faktura pozostaje w kolejce, a wysyłka jest ponawiana sekundę później. Nic nie zostaje odrzucone i nic nie pojawia się jako błąd.
Źródła, odczytane 2 paź 2026: limity API KSeF i procedura OAuth ANAF. KSeF liczy każdą parę kontekstu i adresu IP osobno. ANAF podaje 1000 żądań na minutę dla swojego API i powyżej tego zwraca 429, ale nie podaje, do czego ten limit się odnosi.
Wysyłki w kanale polskim się sumują: przy 180 na godzinę 1000 faktur jednego klienta zajmuje około pięciu i pół godziny. Polski tryb offline24 daje czas na wysłanie do końca następnego dnia roboczego. Sesje wsadowe są planowane i jeszcze nie istnieją.
Ponowienia po błędzie sieci
Wysyłka jest ponawiana tylko po przejściowym błędzie sieci. Po odrzuceniu nie jest: faktura trafia na listę do obsługi.
| Niepowodzenie | Oczekiwanie przed kolejną próbą |
|---|---|
| 1. | 30 sekund |
| 2. | 2 minuty |
| 3. | 10 minut |
| 4. | 30 minut |
| 5. | 1 godzina |
| 6. | Brak. Faktura przechodzi do stanu dead_letter i trafia na listę do obsługi. |
Zadanie, które zostanie przerwane w trakcie wysyłki, przed ponowną wysyłką pyta kanał, czy ma już fakturę. Ponowienia webhooków mają własny harmonogram (zob. webhooki).
Terminy ustawowe
Dwa kanały mają termin liczony od daty na fakturze. Usługa oblicza go dla każdej faktury na wejściu.
| Kanał | Termin | Źródło |
|---|---|---|
RO-EFACTURA | Koniec piątego dnia roboczego po dacie wystawienia. | OUG 89/2025 i komunikat ANAF. |
PL-KSEF | Koniec następnego dnia roboczego po dacie wystawienia, czyli termin trybu offline24. Usługa stosuje go do każdej polskiej faktury. | Ustawa o VAT, art. 106nda, w brzmieniu nadanym przez Dz.U. z 2025 r. poz. 1203. |
Pozostałe kanały nie mają terminu. Dla faktury, która nadal jest w stanie queued, usługa zapisuje alert, gdy minie połowa czasu od początku dnia wystawienia do terminu, i ponownie po upływie czterech piątych.
Ostrzeżenie
Dwa ograniczenia liczenia terminu
- Liczy od poniedziałku do piątku. Nie ma kalendarza świąt państwowych, więc święto liczy się jako dzień roboczy, a rzeczywisty termin może przypadać później niż ten, którego używa usługa.
- Liczy dni w UTC. Administracje podatkowe liczą według czasu lokalnego, więc granica dnia różni się o godzinę lub dwie.
Alerty są zapisywane w usłudze i nie są wysyłane (zob. monitorowanie i alerty). Terminy są też pokazywane dla każdej faktury jako deadline_at, dla Rumunii i Polski, gdy faktura zawiera datę wystawienia (zob. odczyt faktury). Oba terminy sprawdzono ostatnio w tych źródłach 27 wrz 2026; przed opublikowaniem dokumentacji są sprawdzane ponownie.