Infostar - iRevo

»  Przerost formy nad treścią
2025.12.13

Kurde, kto to wymyślił, przerost formy nad treścią. Ktoś bardzo się starał, żeby maksymalnie utrudnić życie programistom, a za integracje z dotychczasowym oprogramowaniem zapłacić jak za zboże. Myślisz, raz zapłacę i koniec. O nie, znajdź firmę, która ci da integrację na stałe za jedną opłatę. Nie, wszędzie abonamenty i/lub opłaty za każdą wystawioną fakturę. Komplikacja już samej autentykacji to absurd. Żeby jeszcze było jakieś wsparcie (o tym później).
Zrobili ksef wersja 1.0. Nie było łatwo, ale dało radę. Teraz to koszmar.
Zacznijmy od dziś:
- wystawiasz fakturę bez podpisu
- zapisujesz do pliku
- plik przesyłasz mailem
- nie interesuje cię co z nią się dalej dzieje
- reagujesz jak zapłaty nie dostaniesz lub klient zapłacił i nie dostał
Teraz KSEF (tylko autentykacja):
- łączysz się za pomocą zaszyfrowanym protokołem Https
- wywalasz ponad 1000 zł na pieczęć kwalifikowaną bo ci ktoś powiedział, że bez niej to dupa (“a propos możesz uzyskać w Infostarze), lub tworzysz sobie ksefToken (o tym jeszcze będzie później)
- robisz Challenge (tak, po polsku to wyzwanie i jest to wyzwanie, walcz człowieku, ale to dopiero początek)
- teraz (wybrałem logowanie ksefToken) zamieniasz token na ciąg bajtów ( wygląda to tak: 50 48 50 53 49 49 50(...))
- żeby było łatwiej trzeba go zaszyfrować kluczem publicznym(jeszcze szukaj gdzie ten klucz)(wygląda to tak:140 90 40 246 34 118
- O nie, to nie koniec, teraz jeszcze trzeba z tego zrobić konwersję do podstawy 64 (wygląda to tak: jFoo9iJ2(...))
- jak już mamy to wszystko zaszyfrowane, to wysyłamy to zaszyfrowanym protokołem Https do Ksef
- no nie, to nie koniec, teraz czekamy na gotowość accessTokena (to takie potwierdzenie, że pieron wie co), w pętli wysyłamy zaszyfrowanym protokołem Https zapytanie, czy już jest
- jak dostaniemy odpowiedź, że już jest wysyłamy żądanie pobrania tedo accessTokena, oczywiście zaszyfrowanym protokołem Https i otrzymujemy coś takiego: eyJhbGciOiJ(...)
Proste, no nie? Żeby jeszcze dokumentacja jakoś pomogła, ale nie, przecież mamy gotowe przykłady api w c# i Java. Super, ale nasi wspaniali programiści poszli na całość, zastosowali najnowsze technologie z DI (Dependency Injection) .net9, teraz już .net10 i zajefajne skróty myślowe. Jakieś opisy - no są ale są jakieś, jakby ktoś chciał czegoś dociec, to tylko debugowanie zostaje, ale kto ma na to czas i pieniądze.

»  Walka z wysyłką faktury
2025.12.13

Niby proste, zmieniasz fakturę na plik w formacie xml (no już był JPK więc podobnie) i teraz wysyłka, no ale to nie jest wersja 1.0, to 2.0 więc nie martwmy się, będzie co robić. No to zaczynamy Przed otwarciem sesji oraz wysłaniem faktur wymagane jest: - wygenerowanie klucza symetrycznego o długości 256 bitów i wektora inicjującego o długości 128 bitów (IV), dołączanego jako prefiks do szyfrogramu, - zaszyfrowanie dokumentu algorytmem AES-256-CBC z dopełnianiem PKCS#7, - zaszyfrowanie klucza symetrycznego algorytmem RSAES-OAEP (padding OAEP z funkcją MGF1 opartą na SHA-256 oraz skrótem SHA-256), przy użyciu klucza publicznego KSeF Ministerstwa Finansów. Proste, no nie, a to tylko otwarcie sesji! Po co ta sesja, czy nie można by po prostu wysłać fakturę bez żadnej sesji. Przecież teraz robię PDF-a i wysyłam mailem i już, proste - proste, ale to już było, teraz będzie lepiej. Wysyłamy fakturę - oczywiście coś z nią trzeba zrobić, no to może zmienić ją na ciąg bajtów - kurde, jak mamy zaszyfrowaną sesję to czemu nie zaszyfrować faktury, przecież będzie przesyłana zaszyfrowanym protokołem Https - teraz czekamy na potwierdzenie przyjęcia faktury Yeeeeeeees, success!!! No to wchodzimy na stronę ksef-test i szukamy sesji JEST! no sukces pełen, tym bardziej, że widać, że dokument jest przesłany, widać nr faktury i nr Ksef. Super, Wchodzimy w listę faktur a tu zonk. Nie ma faktury. Te co robiliśmy na stronie Ksefu są a tej naszej nie ma. No to z powrotem patrzymy na historię sesji i jak byk jest, no to telefon do pomocy MF. Dzwonię czekam jest, sukces. Witam, mam problem, wyjaśniam, No nie wiem, jakoś tak, to skomplikowane, to api, ja tylko wiem podstawy wymaga pomocy przez formularz na stronie. Dobra wchodzimy na stronę piszę: Wiadomość zgłoszenia: mam sesię: Nr KSeF Nr faktury Data przesłania Status faktury 3757662371-20251201-010000BD6D48-A2 FA/GRQMB-174256ae-d88c-4448-a527-941197502e0f/05/2025 01.12.2025 Sukces ale nie ma tej faktury: Identyfikator nabywcy Nazwa nabywcy Nr KSeF Nr faktury Data wystawienia Data zapisania w KSeF Netto Brutto VAT Tryb wysyłki faktury 9724077707 firma 97 3757662371-20251201-0100A0AF4049-6C 1234 01.12.2025 01.12.2025 1,00 PLN 1,23 PLN 0,23 PLN Online Sesja zgłoszenia: Błąd zgłoszenia: Numer zgłoszenia: Data zgłoszenia: 12/01/2025 11:46:21 Opis zgłoszenia: Załaczniki: Zaakceptowany kontakt: True I jest odpowiedź: Identyfikator zapytania: Ticket#2025120111004048 Szanowni Państwo, Dokument o identyfikatorze kończącym się na „A2” nie jest fakturą KSeF. Jest to wyłącznie techniczny identyfikator dokumentu przesłanego do KSeF – taki numer jest nadawany od razu przy wysyłce. Ten dokument nie przeszedł pełnej walidacji i nie został zamieniony przez KSeF na fakturę, dlatego nie jest widoczny w wykazach faktur. Jedyną przyjętą fakturą jest dokument z numerem KSeF kończącym się na „6C”. Należałoby przeanalizować co zwróciło API podczas wysyłki dokumentu A2. Warto również zauważyć, że dokument A2 nie widnieje również w kontekście podmiotu wystawiającego, co potwierdza tezę o błędzie wysyłanym dokumencie. Wsparcie Techniczne Usługi KSeF
TEXT UKRYTY


System

Zapis paragonów i dokumentów magazynowych z kas Revo, podglad pracy kas, raportowanie. Przedstawiamy Państwu innowacyjny system pozwalający na sprawne zarządzanie punktami sprzedaży wyposażonymi w kasy fiskalne. Dzięki zastosowaniu naszego systemu możliwe jest zaoszczędzenie pieniędzy i czasu koniecznego do realizacji podstawowych działań logistycznych, handlowych i analiz biznesowych. Stworzony przez nas system pozwala zintegrować kasy fiskalne Posnet Revo, Bingo XL lub NEO pracujące w różnych lokalizacjach (również jako kasy przenośne) z systemami sprzedaży Subiekt GT oraz Axel. Integracja jest możliwa na dwa sposoby w zależności od potrzeb Klienta: integracja z komunikacją offline- w tym scenariuszu komunikacja z kasą nie jest realizowana na bieżąco lecz w wyznaczonym czasie (np. na koniec dnia). W takim przypadku konieczne jest podłączenie kasy do komputera na którym pracuje system, firmowej sieci LAN lub WiFi. Dzięki temu odczytamy z kasy dane o sprzedaży (obejmujące dane od ostatniego odczytu) lub zaprogramujemy kasę (np. nowymi towarami, cennikiem itp.). Minimalistycznym wariantem tej komunikacji jest dostarczanie pendive'a z kopią pamięci elektronicznej- w tym przypadku otrzymujemy jedynie informacje o dokumentach wystawionych na kasie. Integracja z komunikacją online- kasa fiskalna jest wtedy podłączona do Internetu poprzez wpięcie do sieci LAN lub WiFi w oddziale lub jeśli oddział nie posiada łącza internetowego albo jest to kasa mobilna, komunikacja jest realizowana przy użyciu modemu GPRS sieci komórkowej. Informacje spływają do firmy w bardzo krótkich odstępach czasu (już od 0,2 minuty), dzięki czemu możemy mieć na bieżąco informację m.in. na temat sprzedaży czy stanów magazynowych.

Pamięć elektroniczna

Zapis danych z kopii elektronicznej do bazy danych, również weryfikacja danych z sieci ethernet, WiFi oraz modemów GPRS. współpraca z systemami Subiekt GT i Axel, odczyt paragonów z kas fiskalnych i bezpośredni zapis do bazy danych, wystawianie i automatyczne wysyłanie do Subiekta/Axela zamówień bezpośrednio z kasy, wystawianie dokumentów przesunięć międzymagazynowych do Subiekta/Axela bezpośrednio z kasy fiskalnej, aktualizacja on-line stanów magazynowych na podstawie danych o sprzedaży, aktualizacja on-line stanów magazynowych na podstawie dokumentów magazynowych, wykonywanie inwentaryzacji na kasie i zapis bezpośrednio do Subiekta/Axela, automatyczna zmiana czasu na letni i zimowy, kontrola prawidłowej godziny, automatyczne programowanie/synchronizacja cenników, towarów, jednostek miary bezpośrednio z Subiekta/Axela komunikacja po WiFi, LAN i GPRS (poprzez dodatkowy modem), wczytywanie danych o sprzedaży z kopii elektronicznej bezpośrednio do Subiekta/Axela, rozbudowane, z możliwością rozszerzenia do potrzeb klienta analizy i statystyki (dostępne poprzez interfejs www systemu z każdego miejsca na Ziemi)

Dlaczego Revo?

sprawne zarządzanie i komunikacja z oddziałami, zautomatyzowane zmniejszanie stanów magazynowych w systemie, mechanizm prostej realizacji zamówień na dostawy z centrali, przeniesienia magazynowe z poziomu kasy ze skutkiem wywołanym na magazynie źródłowym i docelowym, inwentaryzacje z poziomu kasy z zapisem do programu, aktualne informacje o obrotach i stanach magazynowych, rozbudowane analizy, możliwość lepszego rozplanowania czasu i obsady personelu dzięki dziennej i godzinowej statystyce sprzedaży, dostęp do analiz i statystyk z dowolnego komputera lub smartfona z dostępem do Internetu, niski koszt zakupu w porównaniu do zakupu komputerów i licencji na oprogramowanie, wysoka niezawodność urządzeń (kasy psują się znacznie rzadziej niż komputery), niskie koszty utrzymania


Czat
>Witamy
Napisz, odpowiemy
tekst: