⏱ Czas czytania: ok. 9 minut
Wprowadzenie
Ten artykuł stanowi próbę wyjaśnienia Państwu jednego z najistotniejszych elementów współpracy z KSeF pod kątem technologicznym.
Ministerstwo Finansów przewidziało tryby współpracy z KSeF 2.0 oraz limity, które nie są opisane w Ustawie o VAT, one zostały określone poza Ustawą, wynikają naszym zdaniem z: kwestii technologicznych i obaw o krach systemu.
Tryby pracy KSeF
Opracowaliśmy to na podstawie informacji ze strony MF: Tryby szczególne wystawiania faktur Ale przetworzyliśmy to przez nasz mechanizm analizy pod kątem implementacji i współpracy z KSeF 2.0.
Tryb ONLINE
Uważamy, że to po prostu tryb kiedy oznaczymy fakturę przy wysyłce jako wysłaną w trybie online i spełniamy warunek, że plik xml jest przesyłany do KSeF w tym samym dniu co data wystawienia faktury, wskazana przez podatnika w polu P_1 faktury (przeczytaj nasz artykuł: Data wystawienia faktury w erze KSeF)
Tryb OFFLINE
Uważamy, że to po prostu tryb kiedy oznaczymy fakturę przy wysyłce jako wysłaną w trybie offline lub dosłaniu jej później do systemu w określonym ustawowo terminie (ogólnie ujmując najczęściej w następnym dniu, przeczytaj nasz artykuł: Data wystawienia faktury w erze KSeF).
Tryb OFFLINE od strony biznesowej i prawnej oznacza kilka możliwych procedur szczególnych. Należy do nich:
- Tryb offline24 – stosowany, na przykład w razie problemów po naszej (Państwa lub ONTP.NET stronie). Bez konsekwencji masz faktury dostarczyć najpóźniej następnego dnia czyli w polu P_1 data nie może być wcześniejsza niż wczoraj – różnica będzie taka, że nawet jeśli fakturę oznaczymy przy wysyłce jako online to KSeF oznaczy ją jako ofline,
- Tryb offline – niedostępność KSeF – stosowany w czasie prowadzonych prac serwisowych w KSeF. Faktury musimy zapisać w KSeF najpóźniej następnego dnia czyli w polu P_1 data nie może być wcześniejsza niż wczoraj.
- Tryb awaryjny – wykorzystywany w przypadku ogłoszonej w BIP i oprogramowaniu interfejsowym awarii KSeF. Faktury musimy zapisać w KSeF najpóźniej do 7 dni, czyli w polu P_1 data nie może być wcześniejsza 7 dni.
Awaria całkowita
Wyjątkową sytuacją będzie awaria całkowita KSeF ogłoszona w środkach społecznego przekazu. W tych okolicznościach faktury będą wystawiane poza systemem, tak jakby KSeF nigdy nie istniał.
Patrz artykuł MF: Awaria całkowita
Limity
Poza trybami opisanymi w ustawie, Ministerstwo Finansów wprowadziło bardzo duże ograniczenia w zakresie używalności KSeF, właściwie w każdym elemencie funkcjonalności KSeF, począwszy od limitów związanych z ilością połączeń, poprzez wielkości i ilości wymienianych dokumentów, a skończywszy nawet na ilości certyfikatów obsługiwanych przez KSeF.
Informacje o limitach nie są publikowane na stronach ministerstwa tylko na stronach dokumentacji technicznej. To też istotny element komunikacyjny, ponieważ w praktyce prowadzi do sytuacji, w której zwykły przedsiębiorca przypisuje odpowiedzialność integratorowi lub dostawcy usług, nie przypuszczając, że mogą istnieć jakiekolwiek limity, a tym bardziej, że zostały one opublikowane tylko w ramach dokumentacji technicznej dla integratorów, polecamy się zapoznać z dokumentami:
Te definicje limitów to nie wszystko, trzeba bardzo dokładnie i szczegółowo analizować dokumentację, żeby doszukiwać się kolejnych limitów w ramach tych powyższych limitów. Dobrym przykładem jest dokument: Przyrostowe pobieranie faktur w którym jest dodatkowe ograniczenie:
Według dokumentu Limity mamy możliwość odpytania się maksymalnie 20 razy na godzinę z jednego IP dla jednego NIP przedsiębiorcy, ale według Przyrostowe pobieranie faktur jasno i wyraźnie widać kolejne ograniczenie:
- Nie częściej niż 15 minut – zatem już nie 20 na godzinę a 4 razy na godzinę
- To jeszcze dzieli się na: Podmiot 1, Podmiot 2, Podmiot 3, Podmiot upoważniony
Krytyczne w tym jest to, że po przekroczeniu limitów, KseF po prostu zablokuje nas, na ile – nie wiemy, bo jak mówi dokumentacja: Okres trwania blokady jest dynamiczny. Informacja o tym zwracana jest w komunikacie o błędzie, nie w jednolity sposób, np. ilości sekund ale w postaci tekstu typu: „Przekroczono limit 20 żądań na minutę. Spróbuj ponownie po 30 sekundach.”. Zatem implementując musimy szczegółowo analizować tekst, zamiast otrzymać konkretną wartość.
Konsekwencje limitów żądań API
Jak już wspomnieliśmy w najprostszy sposób limity liczone są: NIP podatnika + adres IP łączącego się serwera.
To jest krytyczne do zrozumienia wielu elementów jakie implementujemy w naszych rozwiązaniach.
Pobieranie faktur (Synchronizacja kosztów)
Najważniejszym ograniczeniem dla systemów ERP, biur rachunkowych oraz systemów pracujących w chmurach jest limit na pobieranie faktur kosztowych (trochę myląca jest jego nazwa eksport paczek faktur):
- Limit: Maksymalnie 20 zapytań na godzinę dla danego NIP-u.
- Zalecany interwał: Nie częściej niż co 15 minut dla każdego typu podmiotu (szczegóły poniżej).
Pułapka „Podmiotów”
W KSeF nie pytamy o „wszystkie faktury”. Musimy pytać o rolę, w jakiej występuje Państwa firma. Każde takie pytanie zużywa 1 z 20 dostępnych slotów na godzinę:
- Podmiot 1: Firma jako Nabywca lub Sprzedawca (99% przypadków).
- Podmiot 2: Firma jako Wystawca (np. samofakturowanie).
- Podmiot 3 / Upoważniony: Role pomocnicze.
Nie zapominajmy przy tym, że system pracuje w chmurze i o nasz NIP mogą pytać też inne firmy!
Co to oznacza w praktyce dla iCargo?
System iCargo dąży do realizacji strategii ciągłej synchronizacji przyrostowej. Oznacza to, że:
- Dla Podmiotu 1 (Państwa koszty) odpytujemy system KSeF co 15 minut. To optymalny czas, który zapewnia aktualne dane i nie naraża nas na blokadę (kod błędu 429).
- Dla pozostałych ról (Podmiot 2 i 3) synchronizacja odbywa się rzadziej (np. raz na dobę), aby nie marnować limitów potrzebnych na bieżącą pracę.
Ale oznacza to, że musimy uwzględniać wszystkie odpytania, wszystkich firm o numery NIP, dlatego tak istotne stają się nasze zalecenia i przemyślenia opublikowane w artykule: Data wystawienia faktury w erze KSeF.
Podsumowanie
W KSeF 2.0 to nie ustawodawca ani ustawa ale technologia dyktuje warunki biznesowe.
Może zatem trochę dziwić, że prace zaczęliśmy od ręcznego eksportu i importu danych do KseF poprzez Aplikację Podatnika, ale mamy świadomość, tego że technologia zawodzi i mimo, że iCargo stara się brać na siebie ciężar pilnowania tych ukrytych limitów, aby Państwa firma mogła skupić się na transporcie, a nie na liczeniu sekund do kolejnego zapytania API – to maszyny są bezduszne. W trakcie komunikacji występują awarie, błędy połączeń co wymaga np. kolejnych inicjalizacji komunikacji i łatwo jest przekroczyć tak kruche limity, tym bardziej, że one są liczone na przykład tak: 8 na sekundę, 16 na minutę, ale tylko 20 na godzinę.
Właśnie dlatego rozpoczęliśmy od trybu ręcznego i zostawimy go na stałe w iCargo, ponieważ stanowi on kontrolowaną ścieżkę awaryjną, która pozwala zachować ciągłość pracy nawet w przypadku problemów technicznych i przekroczeń limitów.