RSS Amplifier

KSeF 3, 2, 1... · Jan 2, 2026

KSeF wchodzi na ostatnią prostą

0
Sign in to vote or save

Aleksander · KSeF 3, 2, 1...

Święta, święta i po świętach. No to wracamy do rzeczywistości KSeF. A tu jeszcze przed świętami, zgodnie z zapowiedzią 22 grudnia, opublikowano finalny kontrakt API KSeF 2.o. Pozmieniano adresy środowisk (choć, jak się okazuje, nie do końca). Dostarczono nam nowoczesnego towarzysza AI, z którym o KSeF pogadać można. I pewnie już wszyscy przygotowują się do przecięcia wstęgi - start projektu. Być może już jest gotowy przekaz na wypadek problemów - pewnie okaże się, że programiści źle zaprogramowali komunikację z KSeF, a księgowi i przedsiębiorcy źle tego używają 😀

Czas do godziny K: -29d18h30m. 😱

Tak jak zapowiadano i 22 grudnia opublikowano API w wersji 2.o - bez dopisków RC. Zgodnie z obietnicą na poziomie kontraktu jest to API kompletne na start systemu w lutym - czy tak będzie - no oby. Większość zmian w API to sprawy porządkowe, poprawa dokumentacji, nowa wersja UPO - ot takie coś, czego można spodziewać się po przeskoku z wersji kandydującej do wersji stabilnej. Kosmetyka.

Z wyjątkiem jednej rzeczy: jest nowe ograniczenie w zakresie danych pobieranych z KSeF (metadane faktur oraz paczki dokumentów). Bez zapowiedzi skrócono ten okres 8-krotnie - z 2 lat do 3 miesięcy. Dwa dni przed świętami zafundowano nam zmianę, która w połączeniu z limitami zapytań może w pewnych scenariuszach powodować niemałe kłopoty. Może nie dramatyczne - zasadniczo pobieranie danych powinno odbywać się na bieżąco, w maksymalnych oknach około miesięcznych - ale to mimo wszystko nie jest fajna zmiana na chwilę przed startem. Trochę między bajki wobec tego można wsadzić zapewnienia MF o rozwijaniu API w ścisłej współpracy z integratorami. Podrzucanie takich zmian nie jest współpracą ścisłą - to współpraca na zasadzie: my wam rzucamy patyk, a wy aportujcie 🐕

Przy okazji okazuje się, że nie do końca jasne jest, jak ten okres 3 miesięcy jest liczony. Tak prosta rzecz jak 3-miesięczne okno pobierania danych wymaga dopytywania i wyjaśniania. Nawet powstały wielokrokowe algorytmy próbujące wyjaśnić fenomen działania walidacji w tym miejscu 😵‍💫

Wystarczyłoby proste wyjaśnienie - pod warunkiem, że zostanie to prosto zaimplementowane i tak powinno być - a tu mamy już tydzień analiz. Nie do pomyślenia.

Wiadomo, że w świecie oprogramowania okresy liczone miesiącami są problematyczne - to nic nowego. No bo - miesiąc od 31 stycznia to do kiedy jest? Do 28 lutego? Do 2 marca? Do 3 marca? No nie wiadomo. Prosto jest tylko, jeśli mówimy o pełnych miesiącach. Ale jeśli ma być dowolnie, to po prostu stosuje się zakresy dniowe - pytamy o okno maksymalnie 90 dniowe, z przedziałem domkniętym. Prosto i jasno. No ale w KSeF nawet tak prosta rzecz jak filtr jest po prostu skomplikowana.

No, w każdym razie wszyscy cieszymy się, że w końcu mamy stabilny kontakt, na którym możemy pracować. Czasu jeszcze dużo, więc teraz możemy spokojnie ustabilizować nasze rozwiązania 🙂

A tak przy okazji - zgodnie z komunikatem od 15 grudnia komponenty KSeF miały być dostępne pod nowymi adresami. O ile API i weryfikacja QR zostały przypięte, to Aplikacja Podatnika wciąż dostępna jest tylko pod starymi adresami. Przez ponad 2 tygodnie w MF nie udało się przekonfigurować serwerów DNS 🙂

Na GitHubie, ale i w licznych wpisach w mediach zaczyna się zauważać problem kodów QR II - które nic nie weryfikują, oraz kodów/linków w ogóle - które mogą być narzędziem do naciągania ludzi.

Ja też już oba te tematy poruszałem - problem z naciąganiem/scamem to zresztą pierwszy mój wpis w świecie KSeF321 ☺️ A o kodach weryfikacyjnych QR II, które nic nie potwierdzają, pisałem przy okazji największej dostawy zabawek KSeF.

Czy coś od tego czasu się zmieniło? No niewiele. Z dokumentacji poznikało stwierdzenie, że to jakaś weryfikacja. Tylko że rozporządzenia się tu nie zmieniły. Mamy kompletnie bezużyteczne narzędzie, które nie tylko do niczego nie służy - ale powoduje daremne komplikacje. Kod nic nie potwierdza, w ogóle rzadko się go używa (tryb awaria i faktura przekazana poza KSeF, oraz faktury offline24/niedostępność przekazana B2C lub za granicę - 2 ostatnie przypadki mają ten kod gdzieś), a powoduje to jakiś popłoch w komunikacji. Jeden certyfikat, dwa certyfikaty - któryś jest obowiązkowy, albo nie jest. Muszę mieć czy nie - takie pytania zalewają grupy. I niestety, ze względu na to, że często odpowiadają osoby “które coś usłyszały”, a nie analizowały temat - szerzy się głupoty. A to tylko jeden z przykładów zamieszania. Można by z tego po prostu zrezygnować.

No ale - MF wie lepiej. No to niech sobie wie.

Mniej niż 30 dni do KSeFu, mniej niż miesiąc. Do tego koniec roku, nowy rok - no to taka subiektywna lista największych bolączek KSeFu. Gdyby je usunąć, byłoby łatwiej, prościej i przyjemniej. No KSeF mlekiem i miodem płynący 😂

Oto moja subiektywna topka, kolejność przypadkowa 🏅

Jak już wyżej pisałem o kodach QR, to i na tej liście trzeba je umieścić. To jeden z takich elementów, który pokazuje, że ewolucja systemu KSeF przebiega w sposób chaotyczny. Jakby nad założeniami biznesowymi systemu pracowało 10 ludzi i jednocześnie mieli między sobą zakaz komunikacji. Kody QR powstały w czasach KSeF 1.o, choć nigdy nie doczekały się implementacji na wersji produkcyjnej. Początkowo miały dawać dostęp do faktury - tu oczywiście mamy problem z linkami, które mogą ludzi naciągać, no ale mniejsza. Jakiś to tam pomysł był. Potem zaczęto mnożyć tryby, zmieniać założenia, mnożyć certyfikaty i pomnożeniu uległy kody QR - powstały dwa: dostęp do faktury oraz weryfikacja. Tylko zespół od weryfikacji zapomniał, co one mają weryfikować ☺️ No i wyszło jak wyszło.

Czy wystarczyłby 1 kod - ano wystarczyłby. Zapomnijmy o jakiejś tam weryfikacji, ona nie ma sensu. Mamy jeden kod, który generowany jest na podstawie cech dokumentu - np. numer, NIP, skrót dokumentu, to podpisane certyfikatem i już. Po skanowaniu dostajemy info, że FV jest już w KSeF (jeśli jest, identyfikowana po w/w danych) lub, że jeszcze nie ma - ale dotyczy takiego i takiego NIPu, takiego numeru i trzeba poczekać, aż się pojawi. I już.

Zamiast linku po prostu kod, który skanujemy aplikacją - rządową lub komercyjną, ale zaufaną. Minimalizujemy w ten sposób ryzyko naciągania.

No - namnożyło się ich nam. Online, offline24, niedostępność, awaria, całkowita niedostępność. A wszystko zaczęło się od jednego trybu - online. Ale okazało się, że zespół nie przewidział, że coś może czasem nie działać - czy po stronie podatnika, czy po stronie MF (noo tego to nawet nie dopuszczano do myśli). No to wymyślono offline i certyfikaty - ale nie może być tak, że my zaufamy podatnikowi. To musi być awaria - taka czy inna. Ale jak udokumentować taką awarię, jak ją w ogóle zdefiniować? No dobra, to zrobimy offline24 dla podatnika, a dla rządu awarię. A potem jeszcze tą awarię rozmnożymy na niedostępność (taka zapowiadana awaria) i awaria - ale żeby było ciekawiej, zrobimy tak, że w jednym i w drugim podatnik działać musi inaczej. Raz ma jeden dzień, a raz siedem dni. Raz wizualizacje może, a innym razem nie powinien przekazywać 🤯

A jeszcze rzutem na taśmę nam się przypomni, że ruskie mogą nas zaatakować i co wtedy? No to jeszcze dorzucimy całkowitą niedostępność, która oznacza kapitulację KSeF i powrót do starych metod.

Od przybytku głowa nie boli - podobno, ale tu jest jednak inaczej.

W świecie IT jest taka zasada: Keep IT simple, stupid! I dokładnie tak powinno się do tego podejść (i do wszystkiego zresztą). Zróbmy jeden jedyny tryb: offline120 (albo 72, albo cokolwiek więcej niż te 48h) - każda jedna faktura jest wystawiana w takim trybie, masz 3, 4, 5 dni na dostarczenie jej do KSeF. Bez względu na awarie takie czy inne. Po wystawieniu FV normalnie przekazujesz wizualizację, z kodem QR jak w poprzednim punkcie. I wszystko gra - przepisy proste, zasady proste, nawet implementacja się upraszcza, bo nie trzeba wysyłki interaktywnej, wsadowej - wszystko zawsze w paczkach.

Kolejny problem wynikający z powyższego. Jak potwierdzać klientom, że zapłacili nam, że pieniądze nie przepadły w czeluściach? Skoro w przepisach napisaliśmy, że klient odbiera FV z KSeF (choć, de facto nie zakazaliśmy przekazywania czegoś podobnego do FV). No to tęgie głowy myślały i wymyśliły - potwierdzenie transakcji. Ale że w przepisach tego zawrzeć się nie dało, to zrobimy to w podręczniku. No i możemy udawać, że MF dzielnie rozwiązało problem zgłaszany przez przedsiębiorców. Coś niby mamy, ale w zasadzie nie mamy - no bo to byt poza przepisami, więc nie dość, że nikt tego nie musi robić, to dodatkowo nie jest to dla nas żadna gwarancja. A gdyby zrobić jeden tryb i dać wprost możliwość przekazania FV zawsze… tak no. Byłoby za prosto, a to nie jest nasza tradycja 😞

W związku z tym wytworzyliśmy coś, co sensu nie ma, a powoduje jedynie dodatkowe zamieszanie w systemie, który i tak już budzi więcej pytań niż odpowiedzi.

Tokeny, a w zasadzie ich zapowiadany brak - to jest kolejny kłopot. Poważny, bo zahacza o bezpieczeństwo. Pisałem już o tym nie raz, więc teraz tylko w skrócie.

Certyfikaty zastępują nasz sposób uwierzytelnienia w systemie. Taki nasz login i hasło w jednym. Dzięki temu można się dostać do KSeF, i w zamierzeniu miały one służyć integracji z API. I pewnie w niektórych scenariuszach są one dobrym rozwiązaniem. Ale w wielu - m.in. w aplikacjach chmurowych lub w systemach, gdzie chcemy z przyczyn bezpieczeństwa ograniczyć to, co one mogą robić - są one bezużyteczne. Z certyfikatem nie są związane uprawnienia, czyli np. w przypadku JDG zawsze certyfikat będzie posiadać pełne uprawnienia.

Problem ten dość dobrze rozwiązują tokeny, bo one są powiązane z osobą logującą się do konkretnej firmy i maksymalnym zakresem uprawnień do operacji, jakie można wykonywać po uwierzytelnieniu się tym tokenem.

Dlaczego muszą one zniknąć? Nie wiadomo. To tym bardziej dziwne, że w KSeF 2.o one i tak zostały zaimplementowane i jedynie rozporządzenie ogranicza ich czas życia. Mamy nadzieję, że choć w tym temacie MF pójdzie po rozum do głowy i zmieni podejście, bo obecnie nie bardzo jest alternatywa.

No chyba, że będą jeszcze bardziej nowocześni i zaimplementują OAuth2/OpenID. Kto wie - choć wiadomo, nadzieja matką głupich 😀

Kolejna wesoła twórczość naszych elit rządzących. Na potrzeby KSeF wymyślamy swój własny standard dokumentu. Niezgodny z normą używaną w VIDA - EN 16931. Standard w języku polskim, czyli każdy spoza Polski musi się mierzyć nie tylko z absurdami samej schemy, ale jeszcze pokonać barierę językową.

Standard ten obecnie jest w wersji 3, istnieje od 4 lat - a wciąż budzi wiele pytań. Co i jak zrobić. Do tego brak jasnego opisu, jak pewne rzeczy powinno się wykonywać. Na przykład korekty - możemy korygować pozycję poprzez stornowanie, poprzez wykazywanie różnicy lub poprzez stan przed i po. W sumie nic nie stoi na przeszkodzie, by te 3 sposoby łączyć w jednym dokumencie - no bo czemu nie. Nie deklaruje się tego na korekcie, po prostu robi się tak albo inaczej. A dla każdego, kto taki dokument chce potem wczytać, rozpoczyna się koszmar implementacyjny. No i niby system mam ułatwić cyfryzację, a tutaj zdecydowanie utrudnia.

Takich absurdów w schemie jest więcej. Ale to efekt tego, że wymyślona była w oderwaniu od wiedzy biznesowej. Od wiedzy rynkowej.

Czemu nie użyć sprawdzonych standardów? Dobrze znanych i opisanych przez branżę już, a przy okazji takich, które w przyszłości i tak będą wymagane przez VIDA? Ba - czemu nie użyć standardu e-fakturowania, który już w Polsce mamy? PEF w Polsce istnieje od 2019 roku. Tam jest używany standard dokumentu zgodny z normami.

No chyba ktoś w MF chciał się bardzo wykazać…

Czas, a w zasadzie jego brak - to jest największy problem tego systemu. Wesołe opowiadanie o tym, że czasu było wystarczająco, to po prostu bredzenie od rzeczy. Co prawda KSeF w Polsce mamy od 2022 roku, tylko że wersja 1.o to coś innego niż wersja 2.o. Choć początkowo obiecywano tutaj zgodność i wtedy takie twierdzenie może i miałoby rację bytu, ale w międzyczasie zapomniano o obietnicach i już tak dobrze nie jest. Przy okazji - skoro już olano zapewnienia o zgodności, to trzeba było pójść od razu 5 kroków dalej i przemyśleć system od początku, usuwając między innymi w/w absurdy.

Sam KSeF 2.o poznaliśmy na koniec czerwca, ale to nie było coś, czego można było używać. Wersja testowa to koniec września - 4 miesiące do startu. Ale nadal - to nie była ostateczna wersja, ta pojawiła się dopiero pod koniec grudnia. Miesiąc do startu.

Integratorzy i producenci nie mają czasu, by to zaimplementować, przedsiębiorcy i księgowi - by się z tym zapoznać. Mówienie o środach z KSeF czy podręcznikach to jakieś kuriozum. Tam co prawda dowiemy się o teoretycznych założeniach systemu, ale nikt nie dowie się, jak to będzie zrobione tam, gdzie będzie używane - w aplikacjach. A o to ostatnio najczęściej padają pytania: jak ja mam to wdrożyć w programie X/Y/Z?

Część producentów podjęło rękawicę i stara się pomóc użytkownikom - realizują liczne webinary, szkolenia, publikacje. Poza tym niektórzy z nich starali się jak najszybciej wdrożyć choć szczątkowy KSeF w programach, tak by pokazać, jak to będzie w realu działać. Pozwalają użyć wersji DEMO lub TEST.

Inni - no cóż, jeszcze w lesie. Coś tam niby robią, coś tam niby mówią - ale dla użytkowników to ciągle zagadka. Nie jest to zresztą ich wina do końca - takie ramy czasowe mamy niestety.

No więc czas - gdyby dać go sobie więcej - do końca roku? Pousuwać absurdy i dać produkcyjną wersję dla chętnych. Nie udając, że to niby obowiązkowe, ale kar nie będzie - więc róbta, co chceta. Bo to powoduje jeszcze większe zamieszanie. Tu kary są, tam ich nie ma. I czy fakturę mogę, czy nie mogę jej rozliczyć.

Zrobić po prostu okres przejściowy. No ale to jak zwykle w komunikacji z MF - jak grochem w ścianę. Oni po prostu żyją w innym świecie ☹️

To oczywiście nie wszystkie problemy KSeFu - ale to takie moje TOP 6. Ich usunięcie wszystkim wpłynęłoby na zdrowie, a sam system mógłby rzeczywiście stać się użyteczny i ułatwiający życie. Ale nie o ułatwienia chodzi - wiadomo 😡

Czy to może być Urząd Skarbowy albo MF?

Nie wiem, choć się domyślam 🙂

Nic sugerować nie chcę, ale NIP autorów KSeF, czyli MF, jest inny: 5260250274 😈

No ale żarty żartami - to może być poważny kłopot KSeFu. Masowe faktury na przypadkowe firmy (albo nie przypadkowe). Biorąc pod uwagę, że wiele integracji z KSeF za pobieranie dokumentów będzie liczyło sobie opłatę i często nie da się jej pominąć, to może generować poważne problemy. Bo sam KSeF nie daje żadnego rozsądnego wsparcia do niechcianych dokumentów.

Gdyby chociaż było zapowiadane API do ukrywania faktur - można wtedy by stworzyć proste narzędzia, które pozwolą przejrzeć i odfiltrować faktury jeszcze na poziomie KSeF, a potem już pobrać to, co potrzeba. Ale teraz, no może być kłopot.

Swoją drogą, opłaty pobierane przez producentów za komunikację z KSeF - ja je rozumiem, bo to często dodatkowa infrastruktura. Ale jeśli jej pominąć się nie da - kosztem trudniejszej obsługi, ale jednak obsługi, to już tak średnio jednak. A to też rzecz, która ciąży nad “dobrym imieniem KSeF” - czy tu MF planuje jakieś ruchy? Czy po prostu mówi - daliśmy za darmo nasze narzędzia, Aplikacja Podatnika i e-mikrofirma, więc odczepcie się od nas 😀 No tak, po co ja pytam.

Zbliżamy się do końca tego narodowego eposu - KSeF. Na otrzeźwienie ze strony rządzących i przemyślenie tego systemu nie ma już co liczyć. Więc zamiast czegoś, co mogłoby być naprawdę dobre, dostaniemy coś, co będzie takie japońskie - jako-takie.

Po wielu miesiącach wszyscy przywykną do tego, sam KSeF będzie działać lepiej lub gorzej. Marzenia o pełnej automatyzacji rozpłyną się i będzie tak jak teraz, tylko że z użyciem komputera w pełni. Co prawda, oprogramowanie samo sobie odczyta część danych z faktur, ale tak naprawdę nadal będzie trzeba stosować robótki ręczne, by to jakoś się kulało. Za kilka lat powtórzymy zabawę jeszcze raz, tym razem pod sztandarem VIDA. A w kierunku tego systemu mogliśmy już teraz zrobić pierwszy krok - używając odpowiedniej schemy. Nie dość, że byłaby to naturalna ewolucja już istniejącego systemu - PEF, to jeszcze przygotowałaby nas na przyszłość. A do tego byłaby łatwiejsza w zrozumieniu.

Ale jesteśmy, gdzie jesteśmy. Za to możemy sobie pogadać z niezwykle mądrym KSeFanem - widać w MF czasu jest nadmiar, skoro możemy stawiać takie zabawki 🙂

No nic - to szczęśliwego Nowego Roku! 🎉

Read the original on ksef321.substack.com

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.