taxmachine.pl

Kursy walut brane z faktury i z właściwego dnia, dwukierunkowa weryfikacja księgowań, zamawianie w całości przez stronę oraz szereg poprawek księgowania

Duże wydanie po stronie księgowania. Kurs waluty jest teraz czytany z samej faktury i z właściwego dnia, a dokument bez wiarygodnego kursu nie wchodzi już po cichu do ksiąg po złotówce. Weryfikacja księgowań działa w obie strony — dokłada brakujące znaczniki, nie tylko je zdejmuje — a faktura dzielona na kilka wpisów dostaje kwotę liczoną raz i rozdzieloną proporcjonalnie. Zamawianie i przedłużanie licencji przechodzi w całości przez stronę, z właściwym kluczem. Audyt ryczałtu rozróżnia poprawne zero, nowy rok dziedziczy stawki, a zestaw kontroli asystenta AI rośnie o kolejne — z dziennikiem decyzji, który pozwala wyciszyć ustalenie, ale z podanym powodem. W tle kilkanaście poprawek: numery rejestracyjne z e-faktur, kraj kontrahenta z numeru VAT UE, podpisywanie e-dokumentów mimo jednego wadliwego certyfikatu i naprawa wysypki przy zamykaniu.

Opublikowano

Największe z ostatnich wydań dotyka rdzenia księgowania — kursów walut, znaczników zaksięgowania i kwot dzielonych między dokumenty — a przy okazji domyka przejście zamówień na stronę i rozbudowuje kontrole asystenta AI.

Zamówienia i przedłużanie licencji — w całości przez stronę

Program nie prowadzi już własnych okien zamawiania i rejestracji. Z głównego okna znikają przyciski Zamówienia, Rejestracja użytkownika oraz Przedłużanie aktualizacji z 1,5% podatku — wszystko to odbywa się teraz w sklepie na taxmachine.pl/sklep, o czym pisaliśmy wcześniej.

Ważniejsza jest zmiana, której nie widać na pierwszy rzut oka. Kiedy przechodzisz z programu, żeby przedłużyć aktualizacje, program przekazuje do sklepu właściwy klucz — ten o najpóźniejszej dacie ważności, a nie o najwyższej wersji. Klient, który przez lata uzbierał kilka kluczy (starsze postacie licencji sprzed ulepszeń, licencje już nieużywane), trafiał dotąd do sklepu z kluczem, którego nie używa, i mógł przedłużyć nie tę licencję. Teraz w przedłużenie wchodzi ten klucz, który jest naprawdę aktualny.

Audyt ryczałtu rozróżnia zero, które jest w porządku

Asystent sprawdzający stawki ryczałtu zgłaszał jako ryzyko każdy dokument sprzedaży stojący w ewidencji z kwotą 0,00. Na przeglądzie całego roku u 69 klientów takich dokumentów było 18 — i żaden nie był błędem. Zero bywa poprawne z trzech powodów, które program teraz rozpoznaje sam:

  • faktura do paragonu u klienta z kasą fiskalną — przychód wszedł już raportem fiskalnym, a wpisanie go przy fakturze zdublowałoby go;
  • zaliczka — w ryczałcie nie jest przychodem aż do faktury rozliczeniowej;
  • PIT kasowy — faktura z zerem w dacie wystawienia, a przychód osobnym wpisem w dacie zapłaty.

Te przypadki nie zaśmiecają już listy ustaleń, a prawdziwy problem — rozjazd stawki między fakturą a księgą — zostaje nietknięty.

Przy okazji audyt bierze pod uwagę całą listę PKD z REGON, nie tylko kod przeważający. To ma znaczenie, bo firmy o identycznym PKD mogą zgodnie z prawem mieć różne stawki — jedna wytwarza (5,5%), druga świadczy usługę (8,5%) — a sam kod przeważający tego nie rozstrzyga. Stawkę można też poprawić wprost z poziomu audytu, bez wracania do kartoteki klienta.

Zbiorcze księgowanie wynagrodzeń ze zleceń

Wynagrodzenia z umów zlecenia trafiały do księgi jednym wpisem na każdy rachunek. Biura, które jednego dnia wypłacają wiele zleceń, prosiły o zaksięgowanie ich łącznie.

Dochodzi opcja zbiorczego księgowania zleceń per dzień wypłaty — w danych firmy, w sekcji Płace. Po jej włączeniu rachunki wypłacone tego samego dnia dają jeden wpis zamiast kilkunastu. Grupowanie idzie po dniu, a nie po całym miesiącu, celowo: wynagrodzenie ze zlecenia jest kosztem w dacie faktycznej wypłaty konkretnego rachunku, więc jedna data dla całego miesiąca byłaby dla części kwoty błędna.

Opcja jest domyślnie wyłączona — nikomu nie zmieniamy sposobu księgowania bez jego decyzji. Włącza się ją osobno dla każdego klienta, u którego ma to sens.

Podpisywanie e-dokumentów: jeden wadliwy certyfikat nie chowa pozostałych

Przy podpisywaniu JPK i innych e-dokumentów zdarzało się, że lista certyfikatów była pusta, mimo że w systemie były ważne certyfikaty. Wystarczył jeden certyfikat z datą, której program nie potrafił odczytać — przerywał on budowanie całej listy i nie dało się podpisać dokumentu żadnym z własnych, najzupełniej poprawnych certyfikatów.

Teraz każdy certyfikat wczytywany jest osobno: wadliwy zostaje pominięty, a reszta listy powstaje normalnie. Zniknął też mylący komunikat, który przy pustej liście twierdził, że w systemie nie ma żadnego certyfikatu, i kazał go instalować — podczas gdy certyfikaty były, tylko nie dało się ich odczytać.

Faktury w walucie obcej: kurs brany z faktury i z właściwego dnia

Zgłoszenie z biura rachunkowego: faktura sprzedaży w euro — sprzedaż 7 lipca, wystawienie 8 lipca — sama podawała kurs 4,2872, a program policzył 4,2938. Zgłaszający miał rację, a pod spodem były dwie osobne sprawy.

Program nie czytał kursu, który podaje sama faktura. E-faktura może podać kurs w nagłówku albo przy każdej pozycji — i to drugie miejsce jest właściwe dla faktur innych niż zaliczkowe. Czytaliśmy wyłącznie nagłówek, więc dla większości faktur z obcych systemów program pobierał kurs z NBP, mimo że wystawca podał go wprost. W przeważającej części takich faktur kurs jest deklarowany właśnie przy pozycjach, więc do tej pory program pomijał go dla większości z nich.

Teraz kurs zadeklarowany na fakturze jest czytany w obu miejscach i to on decyduje. Przy zakupie ma to dodatkowe uzasadnienie: podatek naliczony to kwota wynikająca z otrzymanej faktury, nabywca nie przelicza jej po swojemu. Kurs zadeklarowany na fakturze odtwarza przy tym podany na niej VAT co do grosza w niemal wszystkich walutowych zakupach.

Zła data kursu przy sprzedaży. Gdy sprzedaż jest wcześniejsza niż wystawienie, kurs schodzi na dzień poprzedzający sprzedaż; program brał dzień przed wystawieniem. Przy sprzedaży bierze teraz wcześniejszą z dat — i tak samo robi to na dokumentach wpisywanych ręcznie, nie tylko na e-fakturach. Zakup zostaje bez zmian, bo koszt przelicza się według dnia poniesienia i ta różnica jest wpisana w konstrukcję przepisu.

Dwie rzeczy przy okazji. Kurs do podatku dochodowego był lepki: raz ustalony zostawał na fakturze na zawsze, więc po ponownym rozpoznaniu kurs VAT szedł już według nowej reguły, a dochodowy według starej — dwie kwoty tej samej faktury cicho rozjeżdżały się na dwa różne kursy. I druga: na wydruku rejestru kurs pokazuje się teraz z datą notowania, ale tylko wtedy, gdy odpowiada notowaniu NBP. Jeżeli wystawca użył innego źródła, data zostaje pusta — zamiast podawać dzień wpisany na oko, który na wydruku wyglądałby na ustalenie programu.

Waluta bez wiarygodnego kursu nie wchodzi już po cichu do ksiąg

Trzy układy potrafiły zepsuć kwoty bez jednego komunikatu:

  • kurs zero — kwoty rejestru VAT liczą się z kursu, więc dokument wchodził na 0,00 do całego rejestru i dalej do JPK_V7;
  • kod waluty, którego program nie zna — kwota wchodziła jeden do jednego, jakby była w złotych: kwota w obcej walucie wchodziła jako ta sama liczba złotych. Zdarzyło się to m.in. hrywnie, która wypadła ze słownika walut przez uszkodzony symbol zapisany w bazie — program poprawia to teraz sam przy uruchomieniu;
  • nieudane pobranie kursu z NBP na dokumencie wpisywanym ręcznie — komunikat Brak kursu nie pokazywał się nigdy, a program po cichu wpisywał 0 w księgach albo 1 w księgach rachunkowych, więc dokument walutowy przeliczał się na zero albo po złotówce.

W żadnym z tych układów dokument nie zostaje już zaksięgowany, a komunikat rozróżnia „brak kursu" od „kod waluty nieznany programowi". Przy księgowaniu wsadowym takie faktury mają w raporcie własną pozycję, razem z numerami.

Rachunki i zapłaty walutowe. Operacja z wyciągu w walucie obcej księgowała się jeden do jednego, jakby była w złotych — teraz jest zatrzymywana tak samo jak faktura bez kursu. Podobnie zapłata wpisywana do faktury walutowej: kwota w euro siadała jako ta sama liczba złotych i tak wchodziła do sald kontrahenta. Płatność pamięta teraz walutę i kurs z dnia poprzedzającego zapłatę — dopiero to pozwala poprawnie policzyć różnicę kursową, bo kurs przepisany z faktury zafałszowałby ją na zero.

Zawieszenie programu przy różnicach kursowych

Zaznaczenie opcji nie licz różnic kursowych na płatności dokumentu walutowego i wejście na zakładkę Płatności potrafiło zawiesić program na amen — bez wyjścia innego niż Menedżer zadań. Układ jest rzadki i nikt go nie zgłosił, ale gdy już zachodził, nie dawał się obejść.

Przy okazji: różnica kursowa liczona przy zerowym kursie płatności dawała liczbę bez sensu — całą wartość pozycji ze znakiem straty — którą księgowa widziała w oknie jako gotowy wynik. Taka pozycja jest teraz pomijana.

Ponowne rozpoznanie zaksięgowanej faktury pyta o zgodę

Przycisk Rozpoznaj księgowanie w edytorze e-faktury przeliczał wszystko od nowa — kurs, kwoty, okresy, rejestry VAT — i zapisywał wynik na karcie faktury, podczas gdy dokument w księgach zostawał nietknięty. Karta rozjeżdżała się z księgą po cichu, a kontrole porównujące oba źródła zaczynały zgłaszać różnice, których nikt nie wprowadzał.

Ryzyko urosło właśnie teraz, bo zmieniły się reguły kursowe: ponowne rozpoznanie starej faktury walutowej często daje inny kurs niż pierwotne — dotyczy to znacznej części starych faktur walutowych.

Program pyta teraz o potwierdzenie. Nie odmawia, bo czasem właśnie o przeliczenie chodzi — na przykład po poprawieniu daty sprzedaży. W pytaniu jest wprost napisane, że księgi i złożone deklaracje zostaną bez zmian, i podpowiedziana właściwa droga: poprawić dokument w księgach albo cofnąć księgowanie. Księgowanie wsadowe faktury zaksięgowane pomijało od dawna — brakowało tego tylko przy pojedynczej fakturze.

Faktura trafiająca do kilku wpisów: kwota do księgi liczona raz

Zgłoszenie: używany samochód wchodził do kolumny 10 KPiR z zawyżoną kwotą — i to dwa razy, bo powstały dwa dokumenty, więc w księdze stał wielokrotny koszt przy jednej fakturze.

Złożyły się na to dwie rzeczy. Wystawca podał tę samą kwotę w dwóch polach podsumowania e-faktury: jako podstawę opodatkowania i jako sprzedaż na zasadzie marży, a program dokładał marżę osobno — co przy fakturze czysto marżowej jest konieczne, bo inaczej kwota księgi wyszłaby zerowa. Do tego każdy status VAT tworzył własny dokument, więc faktura pasująca do dwóch dawała dwa wpisy, każdy z pełną kwotą.

Teraz marża dokładana jest tylko w tej części, której podstawy jeszcze nie zawierają (rozstrzyga kwota należności ogółem), a faktura, która rzeczywiście dzieli się na kilka dokumentów — krajowe, NP, eksport, WDT, odwrotne obciążenie — dostaje kwotę rozdzieloną proporcjonalnie między nie, tak że suma wpisów równa się kwocie faktury co do grosza. Nie powstają już przy okazji puste dokumenty z zerową kwotą i bez rejestru.

Weryfikacja księgowań działa w obie strony

Przycisk Weryfikacja księgowań umiał dotąd tylko zdejmować znacznik „zaksięgowane" z faktury, której nie potwierdza żaden dokument. Sytuacja odwrotna — dokument w księdze jest, a faktura pokazuje się jako niezaksięgowana — zostawała nierozpoznana na zawsze. Objawy są mylące: lista e-Faktur pokazuje fakturę do zaksięgowania mimo wpisu w ewidencji, a ponowne zaksięgowanie wygląda potem na zdublowanie danych. Potrafi to dotyczyć wielu faktur naraz.

Weryfikacja dokłada teraz brakujące znaczniki, a dowód bierze z samego dokumentu — osobno dla księgi i osobno dla każdego z dwóch rejestrów VAT — i nie miesza sprzedaży z zakupem. Znaczniki uzupełnione w ten sposób znikają normalnie po usunięciu księgowania, dokładnie tak samo jak te postawione w chwili księgowania.

Faktura pominięta jako duplikat przestaje wracać na listę

Gdy przy księgowaniu partii trafi się faktura, dla której dokument o tym samym numerze KSeF już w danym miesiącu w księdze siedzi, program ją pomija — słusznie, bo drugi raz księgować nie ma czego. Przy takim pominięciu faktura zostawała jednak bez znacznika „zaksięgowana": w kartotece wyglądała na niezaksięgowaną, a przy każdym kolejnym przebiegu zgłaszała się od nowa jako duplikat do pominięcia — i tak w kółko.

Znacznik jest teraz uzupełniany od razu, razem ze wskazaniem dokumentu, który w księdze już jest. Dla duplikatu z innego miesiąca działo się to od dawna; brakowało dokładnie tego samego dla bieżącego.

Numery rejestracyjne wyciągane z e-faktur

Kontrola kosztów samochodowych zgłaszała setki „cudzych aut" z numerami w rodzaju „I0OOOIPV17" czy „BEZNUMERUP". Numer rejestracyjny bierze się z opisu dodatkowego e-faktury, a to pole jest całkowicie dowolne — i psuły go trzy rzeczy naraz:

  • stacje paliw dopisują referencję w nawiasie („SC512EX (PV 4979K2/4709/26)"), a program sklejał to w jeden ciąg i przycinał;
  • program brał pierwszy pasujący opis, więc trafiał na markę albo numer nadwozia, chociaż kilka pozycji dalej stał wprost numer rejestracyjny;
  • nie sprawdzał, czy wynik w ogóle wygląda jak tablica.

Teraz opisy mają pierwszeństwo (numer rejestracyjny wygrywa z samym słowem „pojazd", a numer nadwozia jest odrzucany), wynik musi mieć kształt tablicy, a gdy go nie ma — pole zostaje puste. Lepiej nie wiedzieć, niż twierdzić, że na fakturze jest cudze auto. Poprawnie odczytywane są też tablice z literami w drugiej grupie: „EPJ LL52" nie zapisze się już jako „LL52".

Kraj kontrahenta ustalany z numeru VAT UE

Kod kraju w adresie faktury wpisuje wystawca ręcznie i bywa, że się myli — zdarza się faktura od portugalskiego kontrahenta z kodem „PL", a wtedy do księgi wchodził nabywca opisany jako Polska. Prefiks numeru VAT UE jest weryfikowalny, więc to on ma teraz pierwszeństwo we wszystkich miejscach księgowania. Gdy numer jest krajowy albo bez prefiksu, zostaje to, co podała faktura — dla sprzedaży krajowej nic się nie zmienia.

Nowy rok dziedziczy stawki ryczałtu

Każdy nowo zakładany rok startował ze stawką 3% i pustą stawką dla usług, niezależnie od tego, co klient miał rok wcześniej. Przy przejściu na nowy rok część klientów ryczałtowych traciła w ten sposób ustawione stawki, a kolejni — samą stawkę dla usług.

Skutek widać było dopiero w codziennej pracy: firmie budowlanej program podpowiadał 3% na każdej e-fakturze, księgowa poprawiała ręcznie na 5,5%, a kontrola zgłaszała rozjazd co miesiąc. Nowy rok przejmuje teraz stawki z roku poprzedniego.

Ewidencja przebiegu pojazdów: kolumna „Podpisujący"

Kolumna Podpisujący w ewidencji przebiegu na potrzeby VAT była zawsze pusta — odwoływała się do danych, których ewidencja w tej postaci nie przechowuje. W jej miejsce są teraz dwie kolumny wypełnione realnymi danymi: Podpisujący — nazwisko i Podpisujący — imię.

Własny pasek na wstążce wraca na swoje miejsce

Zgłoszenie: układ wstążki nie chciał się utrzymać między uruchomieniami — własny pasek z ulubionymi przyciskami wracał pod wstążką, jako osobny pasek narzędzi, zamiast na swojej zakładce. Pasek nie ginął, gubił tylko przypisanie do zakładki, na której go umieszczono. Teraz zostaje tam, gdzie go ustawiono.

Wysypka przy zamykaniu programu

W logach zebranych od klientów powtarzał się błąd przy zamykaniu programu, na wielu maszynach i wersjach — część zgłoszeń o identycznym przebiegu, zawsze wtedy, gdy przy wyjściu wykonywała się kopia bezpieczeństwa. Usterka siedziała tam od dawna i nie była skutkiem żadnej niedawnej zmiany. Naprawione.

Asystent AI: nowe kontrole poprawności księgowania

Zestaw kontroli, którymi asystent sprawdza zaksięgowany okres, urósł o kilka pozycji. Wszystkie działają zarówno dla jednego klienta, jak i dla całego biura:

  • Data VAT poza oknem rejestru. Rejestr za dany miesiąc zbiera dokumenty z niego i z sześciu poprzednich, a potem filtruje je po dacie obowiązku podatkowego. Dokument z datą VAT poza tym oknem nie trafia do żadnego rejestru — koszt albo przychód zostaje w księdze, a VAT nie zostaje rozliczony, i to bez żadnego komunikatu. Reguła pilnowała dotąd tylko nowych zapisów; teraz ktoś przechodzi także po tym, co już w bazie jest.
  • Faktura zakupu wystawiona na kogo innego. Chodzi o faktury pobrane jako podmiot trzeci, gdzie nabywcą jest ktoś inny, a nasz klient jest tylko odbiorcą, płatnikiem albo faktorem — odliczenie VAT i koszt należą wtedy do nabywcy. Takie faktury trafiają się regularnie, część z nich z obcym nabywcą, w tym leasingowe.
  • Zaliczki policzone dwa razy. Zaliczka i faktura końcowa opisują jedną transakcję; kontrola działała dotąd wyłącznie w trakcie księgowania bieżącej partii, więc dokumentu sprzed miesiąca nikt już nie oglądał.
  • Gotówka powyżej 15 000 zł i brak adnotacji o podzielonej płatności — dwie sankcje, których program dotąd w ogóle nie sprawdzał.
  • Stawki VAT na sprzedaży — dziewięć reguł opartych na sprzecznościach wewnątrz samego dokumentu. Świadomie bez katalogu towarów: dla sprzedaży kody są na nielicznych pozycjach, a dopasowywanie po samych cyfrach dawało w próbie same fałszywe trafienia i ani jednego prawdziwego.
  • Przegląd pozycji sprzedaży ze stawkami obniżonymi — zestawienie nazw pozycji z liczbą wystąpień, kwotą i stawkami, którymi je rozliczono, zamiast listy alarmów. Oceny treści świadczenia i tak nie da się zautomatyzować, ale na takim zestawieniu widać ją od ręki.
  • Odpisy amortyzacyjne — niedobór roczny liczony bilansem, z podaniem brakującej kwoty zamiast zgadywania, którego miesiąca brakuje, a do tego podwójny odpis i wpis w niewłaściwym miejscu.
  • Duplikaty księgowań w oknie 12 miesięcy. Poprzednia kontrola widziała tylko wnętrze jednego miesiąca, a część duplikatów leży w dwóch różnych miesiącach — niektóre przekraczają nawet granicę roku. Gdy zapis ma numer KSeF, kontrola porównuje dodatkowo kwotę wpisu z kwotą faktury — bo zdarza się, że duplikat jest tylko połową szkody: dwa wpisy tej samej faktury zostawiają nadwyżkę także po usunięciu jednego z nich.

Kontrole można uruchomić także przed księgowaniem, nie tylko po nim, oraz wszystkie naraz jednym poleceniem dla całego biura. Przy okazji pierwszych przebiegów na danych poprawiliśmy dwa fałszywe alarmy: ostatnia zaliczka bez faktury rozliczeniowej to domknięcie transakcji, a nie błąd, a biura rachunkowe dają się teraz odfiltrować od własnych klientów.

Audyt patrzy na księgi, a e-faktura jest dowodem

Przy kontroli poprawności asystent ocenia księgowania — zapisy w księdze przychodów i rozchodów, w ewidencji ryczałtu, w rejestrach VAT i w księgach rachunkowych. E-faktura służy do ich sprawdzenia jako dokument źródłowy, a nie jako wzorzec, któremu zapis ma być posłuszny.

Skutek jest praktyczny: nie jest błędem, że sposób księgowania ustawiony na e-fakturze nie pokrywa się z tym, co ostatecznie weszło do ksiąg. Faktura nie musi być poprawnie oznaczona do księgowania, a samo księgowanie wolno poprawić już po zaksięgowaniu, w oknie dokumentu — i nikt nie ma obowiązku przenosić tej poprawki z powrotem na fakturę. Plan zapisany na e-fakturze bywa po prostu błędny, więc jego zgodność z księgą nie dowodzi niczego w żadną stronę.

Asystent zgłasza więc dopiero to, co jest nie tak w samej księdze: kwotę niezgodną z dokumentem źródłowym, dokument ujęty dwa razy albo wcale, zapis w złym okresie, VAT odliczony tam, gdzie nie przysługuje. Znacznik Księguj na fakturze mówi o zamiarze, nie o stanie ksiąg.

Dziennik decyzji: ustalenie można wyciszyć, ale z powodem

Bez pamięci decyzji drugi przebieg kontroli czyta się gorzej niż pierwszy, a trzeciego nikt już nie przeczyta — te same uwagi o kartotekach wracają co miesiąc. Dlatego przy każdym ustaleniu można teraz zapisać decyzję: fałszywy alarm, poprawione, do poprawy albo przyjęte świadomie.

Powód przy „fałszywym alarmie" jest wymagany, i to celowo: wyciszenie bez uzasadnienia po pół roku jest nie do odróżnienia od przeoczenia i dokładnie tak zostanie odczytane przy kontroli. Przy „do poprawy" można podać termin, przy „poprawione" — opis korekty.

Serwery MCP: baza plikowa odrzucana przy zakładaniu usługi

Okno Usługi pozwalało założyć i uruchomić serwer asystenta na bazie plikowej, choć w takim układzie część narzędzi — wszystkie zapisujące — odmawia działania: plik bazy trzyma otwarty działający TaxMachine, a usługa sięga po niego z osobnego procesu. Warunek był opisany na stronie, tylko program go nie pilnował, więc usługę dało się uruchomić i dopiero potem zderzyć z jej ograniczeniami.

Teraz instalacja i uruchomienie takiej instancji są odrzucane z wyjaśnieniem dlaczego. Zatrzymanie i odinstalowanie działają bez zmian — żeby dało się posprzątać usługę założoną wcześniej.