No i MF już prawie połączyło wszystkie klocki, z których składa się KSeF. Mamy ustawę, mamy w końcu komplet rozporządzeń, mamy nawet wzór zgłoszenia o chęci przesyłania załączników. No, tylko API jeszcze nie do końca. Mieliśmy mieć je zamknięte już 15 grudnia, ale komuś się kulki nie zetknęły i małe opóźnienie złapano, ale już prawie, prawie.
No i jak to bywa ze strony MF - mamy niespodzianki 😮. Albo prezenty świąteczne 🎁
Czas do godziny K: -43d18h30m. 😱
Dostaliśmy w ostatnim czasie komplet rozporządzeń wykonawczych do KSeF - niestety, póki co, bez zmiany w zakresie wygaśnięcia tokenów wraz z końcem przyszłego roku.
Mieliśmy też 15 grudnia dostać ostatnią wrzutkę do API KSeF, ale okazało się, że nikt nie ogarnia linii czasu i obietnic składanych w innych miejscach, a były już zmiany zapowiedziane na 22 grudnia - więc ostatecznie na tę datę ustalono ostatnią wrzutkę zmian w API. Łaskawcy - 2 dni przed świętami, nieco ponad miesiąc przed startem. Realnie więc mamy jakieś 3 tygodnie na implementację, testy i wdrożenie - wychodzi po tygodniu na każde. Wspaniale.
To jest komplet, który powinniśmy dostać w czerwcu, i wtedy można by twierdzić, że wszyscy dostali czas na przygotowanie się do KSeF - choć nadal nie “wystarczająco dużo czasu”, jak ostatnio sugerowano w jednym z wywiadów.
Nic to - komplet będzie i na niego czekamy, w końcu ostatnie puzzle trafią na miejsce. No ale to nie znaczy, że do API w ostatnim czasie nic zaskakującego nie wpadło. 15 grudnia opublikowano wersję RC 6.1 - a tam sporo niespodzianek 😰
1️⃣Po pierwsze - przy uwierzytelnianiu wydzielono nowy rodzaj błędu:
480 - Uwierzytelnienie zablokowane: “Podejrzenie incydentu bezpieczeństwa. Skontaktuj się z Ministerstwem Finansów przez formularz zgłoszeniowy.”
I bez dalszych wyjaśnień - nie wiemy, kiedy możemy tak zostać zablokowani, nie wiemy, kto i jak podejmuje o tym decyzję, nie wiadomo, jaka jest ścieżka odwoławcza, z kim się kontaktować. NIC. Co zrobić, jak wpadniemy w taki błąd, a musimy wystawić fakturę? Zgaduj zgadula. Zupełnie nowy warunek biznesowy powstaje chwilę przed startem i przy okazji nie mamy żadnej wiedzy, co z tym zrobić. Nie wiadomo też, jakie to ma umocowanie w przepisach - bo zdaje się, że żadnego. Ja oczywiście z punktu widzenia technicznego rozumiem, że zabezpieczenia muszą być - to jest jasne. Ale nie może być tak, że to ogon kręci psem i robimy w tak ważnym systemie państwowym coś, co nie ma umocowania w prawie. No ale nie pierwszy raz w historii KSeF prawo i zasady osoby decyzyjne mają w poszanowaniu…
2️⃣No, ale niespodzianek nie koniec, bo po drugie - mamy nowe kody błędów przy przetwarzaniu faktur w sesji interaktywnej:
21166 - Korekta techniczna niedostępna.
21167 - Status faktury nie pozwala na korektę techniczną.
I tu ta sama sytuacja: przy jakich warunkach to może wystąpić? No nie wiadomo. Teoretycznie wystawienie korekty technicznej (a to też taki byt istniejący tylko w API) powinno być zawsze możliwe. Wskazujemy wyróżnik faktury, której wcześniej nie daliśmy rady do KSeF wysłać i wysyłamy dokument, który go “zastępuje”. KSeF więc z natury rzeczy nie ma nic, co powinno przeszkodzić takiej korekcie. Co ciekawe, drugi z tych błędów mówi o jakimś statusie faktury, ale skoro korekta techniczna dotyczy dokumentów, które KSeF przetworzyć nie może - to jaki status? Jakiej faktury? No i znowu: Panie Programisto - domyśl się! Zaczynam podejrzewać, że KSeF działa na zasadach wyjętych z „Alicji w Krainie Czarów” – im głębiej wchodzisz, tym mniej to ma sensu. 🤪
3️⃣To dalej nie koniec niespodzianek (a może “prezenty” świąteczne to już są? hmm 🎁). No to po trzecie: zmiany w limitach. Część można uznać, że na plus - po poszły w górę. To cieszy. Ale dlaczego nagle odcięto ilość możliwych sesji wsadowych? Może jednak już nawet tak niewielkie obciążenie systemu, jakie występuje na środowisku test (względem tego, co będzie w produkcji) zaczęło ujawniać wąskie gardła? A może to z tego powodu czasem coś tam przestaje działać? No możemy zgadywać. Nie zmienia to faktu, że to kolejna niedobra niespodzianka - szczególnie tam, gdzie planowano intensywniej używać wysyłki wsadowej. A od jakiegoś czasu wiemy, że to taka wysyłka jest preferowana ponad taką, jak było poprzednio - czyli interaktywną.
4️⃣Ostatni prezent to dopiero jest planowany na 22 grudnia. Tu znowu ograniczenia i znowu nie wiadomo, z czego się biorą. Okres, za który pobierać możemy dokumenty w jednym zapytaniu, uległ skróceniu - z 2 lat do 3 miesięcy. Kolejny raz systemy są pisane z myślą o pewnym limicie, dostępnym od czerwca, a teraz nagle, bez żadnej zapowiedzi, ta wartość ulega zmniejszeniu. Po co i dlaczego? Nie wiadomo. Możemy, to zmieniamy. Nie mamy pańskiego kapelusza i co nam Pan zrobi?
Chwilę przed startem dowiadujemy się o jakichś nowych warunkach biznesowych - pewnie coś odkryto wraz z implementacją systemu, trafiono na nowe przypadki szczególne. I fajnie - jesteśmy zwinni i na nową wiedzę reagujemy. Ale jeszcze trzeba innym dać czas na reakcję. Te zmiany mogą wpływać na procesy biznesowe w wielu przedsiębiorstwach, tego nie da się od ręki zmienić. Tym bardziej w okresie świątecznym, na przełomie roku, kiedy biznesy te zajmują się innymi rzeczami.
To nie jest poważne traktowanie podatników - to jest droga “po trupach do celu”, byle tylko system odpalić i mieć z głowy. Otworzyć szampana i opowiadać wszędzie, jaki sukces się odniosło. Przy okazji można opowiadać bajki o tym, jak to przedsiębiorcy mieli przecież wystarczająco dużo czasu.
No nie mają.
Trzeba jeszcze wrócić do faktur wiszących w limbo, bo w ostatnim czasie niektórzy starają się przekonać, że to w sumie nie jest problem. No i może dla niektórych księgowych czy doradców podatkowych to nie jest problem, ale dla tych wszystkich, którzy myślą, jak komunikować się z systemem, by pozwolić innym bez większych przeszkód z systemem działać, to jest to już spory problem. Jest to bowiem nowy, nieudokumentowany, stan faktury. Co prawda, występujący tylko w przypadku błędów czy problemów z systemem, bo w normalnych warunkach czasy te są znacznie poniżej sekundy, ale nadal są to rzeczy, które jakoś obsłużyć trzeba. Zgodnie z dokumentacją i intuicją, jeśli faktura uzyskuje status 200 - Sukces, to znaczy, że jest przetworzona, dostępna zewnętrznie i mamy już wszystkie dane z nią związane. Ale tu - w specyficznym przypadku - tak nie jest.
No i rzeczą oczywistą jest to, że wynika to z asynchronicznego przetwarzania dokumentów. Dla każdego związanego z IT asynchroniczność w takich systemach to oczywista oczywistość. Tylko że konsumentów zewnętrznych, integratorów, szczegóły techniczne implementacji nie powinny interesować. To też taki złoty standard IT - enkapsulacja. Informacja przekazywana na zewnątrz ma być spójna. I nawet w tym świecie asynchronicznym to się zrobić da.
Obecna sytuacja ma implikacje biznesowe. Choćby tyle, że dajemy komuś fakturę, wystawioną w trybie online, z numerem KSeF. Ktoś wpisuje ten numer (czy skanuje kod QR) i dowiaduje się, że tej faktury tam nie ma. Czyli co? Oszukałeś mnie, Szanowny Sprzedawco? No właśnie. Czyli może więc system sprzedawcy powinien uznać fakturę za wystawioną, dopiero kiedy trwale zostanie zapisana? Ale to oznacza, że mimo statusu końca o nią dalej trzeba pytać. A może system nabywcy, jeśli natknie się na taki problem, to mimo wszystko przez jakiś czas powinien pytać o fakturę? A może nie - no przecież jeszcze limity. Tak dużo pytań, a tak mało odpowiedzi…
No i dalej - przekonuje się nas, że problem wystąpił w środowiskach testowych i do tego w dzień wolny. Na produkcji byłoby na pewno lepiej. Hehe - tak, już to słyszałem w czasach KSeF 1.o - środowisko testowe niedomaga, ale jak będzie produkcja, to zobaczycie, jak to będzie śmigać. No i nie śmigało ☺️
KSeF nie ma żadnego gwarantowanego SLA, więc może działać przez 99,9% czasu bez problemu. Ale równie dobrze może to być 83%. A może i 42%. Jeśli wystąpi awaria - może będzie usunięta od razu, a może w poniedziałek rano - bo jest niedziela, a wtedy się nie pracuje. Zakładanie więc, że teraz jest tak - a potem (przy wielokrotnie większych obciążeniach i częstszych przypadkach szczególnych) na produkcji będzie lepiej, to po prostu przejaw głupoty i braku wyobraźni. Zresztą nie wydaje mi się, że za monitorowaniem KSeF i w gotowości na reakcję na problemy będzie siedzieć cały sztab ludzi, szczególnie w dni wolne czy w nocy.
To jest tak jak przy KSeF 1.o - pewne problemy wychodziły dzięki temu, że środowisko testowe było używane. Wtedy też długo to bagatelizowano, ostatecznie okazało się, że jest gorzej, niż wszyscy myśleli.
Teraz co prawda prace nad systemem wyglądają o niebo lepiej, ekipa techniczna zdaje się być bardziej kompetentna, ale to nie znaczy, że wszystko będzie działać dobrze.
Nie dajemy sobie szansy do sprawdzenia systemu w boju, od razu robiąc go obowiązkowym. Po raz kolejny powiem - tak nie powinno być. Ten system potrzebuje jeszcze kilku miesięcy, by się “uleżał”. No ale wiadomo - po trupach… 😣
Temat mielony już na wiele sposobów, wielu specjalistów już się wypowiadało - certyfikaty w obecnej formie nie do końca nadają się do systemów automatycznych. Albo trzeba coś zmienić z certyfikatami, albo przedłużyć tokeny - na co liczyłem ostatnio. No ale nie, żadnej szczególnej reakcji.
Teraz, przez chwilę, wydawało się, że choć system jeszcze nie wystartował, to być może doszło do pierwszego wycieku produkcyjnego certyfikatu jakiejś firmy. W tym przypadku problem polegał na braku zrozumienia różnicy pomiędzy MCU a środowiskiem demo. Tu dodatkowo kłopot brał się pewnie z tego, że mówimy o niepolskiej integracji - a jak wiemy, dokumentacji w języku angielskim to niestety, póki co, nikt nie postanowił dostarczyć. Więc dochodzi bariera językowa, która dodatkowo utrudnia rozumienie różnic.
Różnic, których nawet osoby posługujące się polskim językiem nie rozumieją. To widać na grupach na FB czy innych miejscach, gdzie toczą się dyskusje o KSeF.
W tym konkretnym przypadku wydawało się, że firma pobrała certyfikat produkcyjny (z MCU) i udostępniła go na testy. A taki certyfikat daje posiadaczowi w zasadzie nieograniczony dostęp do produkcyjnego KSeF - szczęśliwie obecnie jeszcze go nie ma.
Koniec końców, okazało się, że alarm jest fałszywy i certyfikat był testowy. Ale ile takich wpadek będzie potem? Strach się bać 🫣
A ja dla przypomnienia - zapraszam do zapoznania się z moim wyjaśnieniem środowisk funkcjonujących w KSeF 👉 struktura środowisk KSeF.
Takie i podobne pytania ostatnio bardzo często goszczą na grupach związanych z KSeF.
No więc już spieszę z edukacją 🧑🏫
Najpierw trzeba sobie odpowiedzieć na pytanie: a co ja tam właściwie chcę sprawdzić?
Chce potestować sobie po prostu KSeF. Jeśli tak, to używamy środowiska testowego - aktualnie dostępnego pod adresem https://web2te-ksef.mf.gov.pl/web/ (ale w nieokreślonej przyszłości zmieni się na: https://ap-test.ksef.mf.gov.pl). Tutaj do logowania używamy dowolnych danych. Ten system nie wie nic o prawdziwych firmach, NIPach czy PESELach. Więc jeśli próbujecie zalogować się do waszej firmy (kontekst logowania - NIP firmy), używając podpisu z PESEL (podmiot uwierzytelniający - osoba logująca się) - to najpewniej otrzymacie błąd Uwierzytelnianie zakończone niepowodzeniem | Brak przypisanych uprawnień. I to jest poprawne. Najłatwiej do środowiska testowego logować się, podając NIP firmy i wybierając pieczęć zawierającą NIP - w obu przypadkach podając ten sam NIP. Wtedy też można ewentualnie nadać uprawnienia jakiemuś PESELowi i wtedy logowanie w kombinacji NIP/PESEL też będzie się udawać.
⚠️WAŻNE! Tu używamy tylko fikcyjnych danych. Najlepiej również fikcyjnego PESELu i NIPu. Można skorzystać z generatorów takich numerów, np. tego: generatory.itChcę zobaczyć, jak to działa w przypadku mojej prawdziwej firmy. W tym przypadku uzywamy wersji demo, aktualnie pod adresem https://web2tr-ksef.mf.gov.pl/web/ (ale wkrótce będzie to: https://ap-demo.ksef.mf.gov.pl). Tutaj system jest powiązany z prawdziwymi rejestrami państwowymi. Czyli wie, jaka firma (NIP) z jaką osobą (PESEL) jest powiązana. Znane są uprawnienia nadane za pomocą ZAW-FA, ale nie są znane uprawnienia nadane w produkcyjnym środowisku KSeF (MCU) - te należy osobno nadawać w środowisku demo. Tu logujemy się, używając prawdziwego Profilu Zaufanego, podpisu lub pieczęci kwalifikowanej. To środowisko jest zbliżone do środowiska produkcyjnego, więc tu można przeprowadzać już nieco poważniejsze testy.
⚠️WAŻNE! Mimo, że połączone z prawdziwymi rejestrami, wszystko, co tu się robi, nie ma mocy prawnej. To są nadal testowe faktury i nie służą prawdziwym rozliczeniom. Z tego względu też warto używać na nich testowych danych.Chcę przygotować się do produkcyjnego używania KSeF. Tu używamy udostępnionego modułu MCU - aktualnie pod adresem https://mcu.mf.gov.pl/web/login (a po uruchomieniu KSeFu w lutym - https://ap.ksef.mf.gov.pl). Tu logujemy się prawdziwym Profilem Zaufanym, podpisem lub pieczęcią kwalifikowaną. Tu system oczywiście połączony jest z rejestrami i wie o powiązaniach. Zna również uprawnienia nadane ZAW-FA. Tutaj wszystko dzieje się już “oficjalnie” i ma moc prawną.
⚠️UWAGA! Uprawnienia, tokeny i certyfikaty tu utworzone będą działały na środowisku produkcyjnym, więc nie rozdajemy tego na prawo i lewo.Chcę już teraz produkcyjnie działać z KSeF. Czyli potrzebujesz użyć KSeF 1.o, czyli tym razem logujesz się tu: https://ksef.mf.gov.pl/web/login. Tu oczywiście wszystko dzieje się w pełną mocą prawną. W tej wersji wyłączono nadawanie uprawnień, ale jest obejście ☺️
Drugie pytanie, jakie pojawia się w przestrzeni publicznej: jak mam z tym działać?
Tu już zależy od tego, czego używamy do wystawiania faktur - najlepiej sprawdzić, czego oczekuje i na co pozwala nam producent oprogramowania. Jedni pozwalają integrować się z KSeF 1.o za pomocą tokenów, inni nie. Jedni umożliwiają użycie wersji demo do testów, inni nie. Niektórzy producenci pozwalają już wprowadzić tokeny KSeF 2.o, inni oczekują certyfikatów, a jeszcze inni wciąż śpią i nie pozwalają na nic z KSeF 2.o.
Tu po prostu trzeba się zainteresować konkretnym oprogramowaniem.
Chyba, że ktoś ma ochotę działać z bezpłatnymi narzędziami MF - do wyboru jest więc Aplikacja Podatnika KSeF lub e-mikrofirma. Oba narzędzia umożliwiają wystawienie faktur w KSeF. W tym przypadku nie ma potrzeby generowania tokenów czy certyfikatów - logujemy się za pomocą Profilu Zaufanego lub podpisu czy pieczęci kwalifikowanej i możemy działać.
Tym razem z życzeniami wesołych świąt - za tydzień przerwa w pisaniu. Święta są, trzeba odpocząć 🙂 Choć wiadomo - ekipa od KSeF nam odpoczynku nie da. Oni kończą pracę 22 grudnia. A my dopiero wtedy realnie powinniśmy zacząć 🙂
No ale czego się nie robi ku chwale ojczyzny i dla tych wszystkich, którzy oczekują od nas działającego oprogramowania, by sami się martwić nie musieli.
Więc dla nas tegoroczne święta pod patronatem KSeF. Kto wie, może właśnie się zawiązuje jakaś “Sekta KSeF” 😀
A jeśli macie pytania - to zapraszam do kontaktu.

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.