taxmachine.pl

Pobieranie e-faktur bez zatrzymywania się na kwietniu, złe długi po stronie dłużnika, dane firmy z pięciu rejestrów i płatności w księgach rachunkowych

Naprawione pobieranie e-faktur, które u części biur kończyło się na kwietniu i przy każdym przebiegu zaczynało od nowa. Asystent sprawdza obowiązek korekty VAT naliczonego z niezapłaconych faktur zakupu (art. 89b) — termin płatności czyta z samej e-faktury, a braku danych o zapłacie nie uznaje za niezapłacenie. Pobranie danych firmy pyta obok REGON także wykaz VAT, VIES, KRS, CRBR i CEIDG, rozróżniając brak podmiotu od rejestru, który nie odpowiedział. Odświeżanie PKD idzie w tle, tylko przy bezczynności i z zapamiętanym postępem. Płatności w księgach rachunkowych czytają hub, liczą różnice kursowe i przyjmują KP/KW. Biura dostały kolumnę okresu ostatniej faktury i filtr faktur wystawionych, a niewysłanych. Do tego sufit puli okien edycyjnych, opóźniony start usług MCP, skanowanie WIA i przeliczenie amortyzacji od wskazanego miesiąca (wersja testowa).

Opublikowano

Wydanie, w którym najważniejsza jest naprawa: pobieranie e-faktur przestaje zapominać, dokąd doszło. Obok niej druga strona ulgi na złe długi, dane firmy z pięciu rejestrów zamiast jednego i porządek w płatnościach ksiąg rachunkowych — a na koniec kilka poprawek stabilności, z których każda miała swoje zgłoszenie.

Pobieranie e-faktur nie kończy się już „na kwietniu"

Usterka, którą zgłaszało kilka biur naraz: pobieranie e-faktur z KSeF ściągało dokumenty tylko do końca kwietnia, a kolejne pobrania zaczynały od początku roku i kończyły w tym samym miejscu. Przyczyną było okno bez faktur — każde puste okno kasowało zapamiętany punkt kontynuacji, a w trybie przyrostowym okno za bieżącym punktem jest puste z definicji. Program zapominał więc, dokąd doszedł, przy każdym przebiegu.

Naprawione: puste okno nie rusza już punktu kontynuacji, tak samo jak nie ruszało go dotąd okno obcięte. Kolejne pobranie startuje od miejsca, w którym skończyło się poprzednie. Poprawka obejmuje pobieranie z okna programu i przez asystenta.

Ulga na złe długi po stronie dłużnika (art. 89b)

Dotychczasowe narzędzia ulgi na złe długi patrzyły od strony wierzyciela — prawo do obniżenia VAT należnego. Doszła druga strona: obowiązek oddania odliczonego VAT z faktury zakupu, która nie została zapłacona w ciągu 90 dni od terminu płatności. Asystent znajduje faktury zakupu, którym dziewięćdziesiąty dzień mija w danym miesiącu — czyli w rozliczeniu za który miesiąc trzeba skorygować podatek naliczony, jeśli do końca miesiąca nie zapłacono.

Termin płatności i oznaczenie „zapłacono przy wystawieniu" asystent czyta z samej e-faktury, bo księga ich nie zna: termin w księdze jest niemal zawsze równy dacie dokumentu, a pola zapłaty w księdze stoją puste. Stan rozliczenia bierze z daty i kwoty zapłaty na e-fakturze — tych samych, które wypełniają płatności z wyciągów.

Najważniejsza zasada: brak zapisu o zapłacie nie znaczy „niezapłacona". Firma, która nie prowadzi w programie rozrachunków, dostaje jedno ustalenie zbiorcze („tyle faktur z dziewięćdziesiątym dniem w tym okresie, obowiązku nie da się ocenić"), a nie listę tysięcy rzekomych korekt. Firma prowadząca rozrachunki dostaje ustalenia per faktura. Kontrola weszła też do zbiorczego audytu biura jako szesnasta. Asystent tylko analizuje — korekt nie księguje.

Dane firmy z pięciu rejestrów, nie z jednego

Przycisk Pobierz REGON w kartotece firmy pytał wyłącznie REGON, a gdy ten nie znał podmiotu, kończył się ciszą — puste pola i żaden komunikat. Teraz to samo pobranie pyta po kolei wykaz podatników VAT, VIES, KRS, CRBR i CEIDG, każdy rejestr z własnym stanem: znaleziono, nie znaleziono albo rejestr nie odpowiedział. To rozróżnienie jest istotą zmiany — niedostępna usługa przestaje wyglądać jak nieistniejąca firma. Wykaz VAT idzie pierwszy, bo to on oddaje numer KRS, bez którego rejestru sądowego nie ma czym zapytać.

Pobranie uzupełnia tylko puste pola i zawsze kończy komunikatem — z podsumowaniem per rejestr. Wydruk danych firmy (Ctrl+R) dostał tabelę pozostałych rejestrów z kolumną stanu, a fałszywy komunikat „wystąpił błąd" w sytuacji, gdy REGON po prostu nie zna NIP-u, zniknął — to były trzy różne przypadki zlane w jeden.

CEIDG wymaga własnego tokenu. Wpisuje się go w Ustawieniach bazy i każde biuro używa swojego, celowo: token CEIDG jest wydawany osobie, nie programowi, i zawiera dane wnioskodawcy — wkompilowanie jednego tokenu w program oznaczałoby rozesłanie tych danych wszystkim. Puste pole to pominięcie rejestru bez błędu.

Odświeżanie PKD z REGON przestaje zatrzymywać program

Comiesięczne odświeżanie kodów PKD klientów przechodziło całą listę firm po jednej na kilka sekund, a każde pytanie do REGON wykonywało się na głównym wątku — biuro z kilkuset klientami miało kilkanaście minut mikroprzerwań przy pierwszym uruchomieniu w miesiącu. Trzy zmiany:

  • odświeżanie rusza tylko po pół minucie bezczynności i bierze jedną firmę na minutę, a samo zapytanie do REGON idzie w tle — zapis wyniku zostaje na głównym wątku;
  • przebieg zapamiętuje postęp po każdej firmie; wcześniej znacznik miesiąca zapadał dopiero po przejściu całej listy w jednej sesji, więc kto zamykał program wcześniej, zaczynał następnym razem od pierwszej firmy — „raz w miesiącu" było w większych biurach fikcją;
  • nieudane pobranie zostawia ślad w logu z powodem (logowanie, brak raportu, podmiot nieodszukany, raport bez kodów) — dotąd wracało zero po cichu.

Przy okazji naprawiony Runtime error 217 przy zamykaniu programu po ręcznym pobieraniu danych z REGON.

Płatności w księgach rachunkowych: jedno źródło, różnice kursowe, kasa

Księgowanie płatności w księgach rachunkowych czytało dotąd tabelę modułu fakturowania, która w księgach rachunkowych nie miała żadnego użycia. Teraz czyta hub płatności — ten sam, który karmią wyciągi. Zmienia się przy tym meritum: księgowane są oba kierunki (wypłata idzie Wn kontrahent / Ma kasa-bank, wcześniej taki dokument dostawał dekret bez żadnego księgowania), płatności z wyciągów są pomijane (mają własną ścieżkę z regułami — drugi dekret byłby dubletem), kontrahent rozpoznawany jest po NIP-ie albo nazwie bez wymogu kartoteki, a na koniec jest raport pominięć zamiast ciszy.

Różnice kursowe liczone są jednym wzorem — księgi rachunkowe nie liczyły ich wcale — i księgowane jako para zapisów w dekrecie rozliczenia: zysk Wn kontrahent / Ma przychody finansowe, strata Wn koszty finansowe / Ma kontrahent. Konto bierze się z planu kont po rodzaju pozycji RZiS, nie po numerze, bo biura numerują inaczej; gdy kandydatów jest kilku i żaden nie jest nazwany, program nie zgaduje, a brak konta nie blokuje zaksięgowania samej zapłaty — raport mówi, której różnicy nie zaksięgowano i dlaczego.

KP i KW z modułu fakturowania trafiają do huba jako trzecie źródło (obok wyciągów i faktur) — dotąd klient na księgach rachunkowych nie miał ich tam nigdy. Kwota zapłacona faktury jest teraz sumą pozycji rozliczeń, a nie osobno wpisywaną liczbą, więc zmienia się razem z nimi; przy racie przelew porównywany jest z resztą faktury, nie z pełną kwotą — faktura rozliczona częściowo przestaje przegrywać z obcą fakturą na kwotę raty.

Lista klientów: okres ostatniej faktury i filtr „wystawiona, a niewysłana"

Wersja dla biur dostała na liście klientów kolumnę Okres ostatniej faktury — miesiąc sprzedaży ostatniej faktury biura — oraz filtr faktura biura wystawiona, a niewysłana: wysyłka włączona, faktura wystawiona, a jej okres nowszy niż okres ostatnio wysłanej. Przy wysyłce faktur biuro widzi od razu, komu wystawiono, a nie wysłano.

Okres liczony jest z miesiąca sprzedaży, nie wystawienia: fakturę za sierpień wolno wystawić do 15 września, więc data wystawienia myli okresy — sierpniowa i wrześniowa wystawione w tym samym wrześniu wyglądałyby jak jeden okres. Kolumna i filtr biorą się z tego samego pola i są zawsze świeże, bo lista klientów przelicza je przy każdym otwarciu.

Plan kont: powtórzony numer to komunikat, nie awaria

Drugie kliknięcie Dodaj konto bez nadania numeru pierwszemu kończyło się surowym komunikatem bazy danych, wysyłanym jako awaria programu. Teraz edytor sprawdza niepowtarzalność numeru sam, przed zapisem — z osobnym komunikatem dla pustego symbolu („nadaj numer poprzedniemu"). Naprawiony też błąd przy zamykaniu okna planu kont.

Stabilność: okna edycyjne, start usług, PITy

Okna edycyjne — okna faktur i dokumentów są przechowywane w puli do ponownego użycia, a pula rosła bez ograniczeń: kilkanaście instancji formularza faktury naraz wyczerpywało limit zasobów systemowych i kolejne okno kończyło się błędem „brak zasobów". Pula ma teraz sufit; okna ponad nim zwalniają się przy zamknięciu.

Serwery MCP — przy starcie komputera kilka instancji ruszało w tej samej sekundzie i część z nich zamierała, nie zgłaszając niczego: port odpowiadał, ale żadne zapytanie nie kończyło się odpowiedzią. Usługi startują teraz z opóźnieniem po właściwym starcie systemu, rozsunięte w czasie.

PITy — poprawka z 29.08 do przycisku „Dodaj" w wyszukiwaniu urzędów i właścicieli w jednym z buildów pośrednich wprowadziła inną awarię pod otwartym edytorem. Obie drogi są już czyste.

Skanowanie WIA w wersji 64-bitowej

Gdy lista skanerów z WIA wracała pusta, program kończył od razu komunikatem „brak skanera" — także na stanowisku, gdzie skaner był i działał w innych programach. Teraz przed komunikatem szansę dostaje systemowe okno skanowania, które pyta o urządzenie samo, a log mówi, który krok wyliczania urządzeń zawiódł, zamiast tylko że coś zawiodło.

Środki trwałe (wersja testowa): przeliczenie amortyzacji od wskazanego miesiąca

W nowej ewidencji środków trwałych doszedł przycisk Przelicz od miesiąca — plan amortyzacji liczony jest od zaznaczonego wiersza odpisów, z uwzględnieniem umorzenia już dokonanego (także ręcznych korekt), a wcześniejsze wiersze zostają nietknięte. Funkcja dostępna w kanale testowym, razem z resztą nowej ewidencji.