Automatyczne uzupełnianie kodów Tmap dla kont księgowych
Problem
Każde konto księgowe w mKsiegowa może mieć przypisany tzw. kod Tmap — kod mapowania do sprawozdania finansowego (bilans, rachunek zysków i strat). Część kont, zwłaszcza nowo dodanych, nie ma tego kodu ustawionego. Ręczne przechodzenie po całym planie kont i uzupełnianie kodu konto po koncie jest żmudne — dlatego funkcja Księgowość -> Plan Kont ma wbudowany mechanizm, który sam podpowiada i potrafi uzupełnić brakujące kody na podstawie numeru konta.
Kody Tmap są niezbędne, aby generować pliki JPK_PD_KR.
Krok 1: pokazanie kont bez kodu Tmap
Na stronie grup kont księgowych, po zaznaczeniu checkboxa "Show sub-accounts", pojawia się drugi checkbox: "Wybierz subkonta bez kodu Tmap". Po jego zaznaczeniu widok tabeli zmienia się w istotny sposób:
- Znikają wiersze grup/typów kont — zwykle widoczne jako pogrubione nagłówki grup.
- W tabeli pozostają wyłącznie konta, które nie mają jeszcze przypisanego kodu Tmap.
Krok 2: propozycja kodów — słownik prefiksów
Poniżej tabeli, zamiast standardowego formularza dodawania nowej grupy kont, pojawia się przycisk "Zaproponuj kody Tmap dla moich kont".
Po jego kliknięciu program przegląda wszystkie aktywne konta bez kodu Tmap i dla każdego z nich próbuje znaleźć dopasowanie w słowniku wewnętrznym programu. Słownik ten mapuje numery kont (lub ich fragmenty) na konkretne indeksy kodów Tmap, np.:
"010-1" => "15",
"073" => "9",
"220" => "155",
Zasada dopasowania — tylko po pełnych segmentach numeru konta
Dopasowanie nie działa jak proste porównanie "czy tekst zaczyna się od...", tylko rozbija numer konta na segmenty oddzielone myślnikiem - i szuka dopasowania od najbardziej szczegółowego do najbardziej ogólnego. Przykładowo dla konta 221-1:
1. najpierw sprawdzane jest, czy w słowniku istnieje dokładnie "221-1",
2. jeśli nie — sprawdzane jest "221".
Konto 221-1 nie dopasuje się do klucza "22", mimo że tekstowo "22" jest prefiksem "221-1" — bo "22" nie jest pełnym segmentem numeru konta. Dzięki temu propozycje są precyzyjne i nie "rozlewają się" na przypadkowe konta o podobnie zaczynającym się numerze.
Krok 3: tabela z propozycjami
Jeśli dla choć jednego konta znaleziono dopasowanie, pod formularzem pojawia się tabela "Proponowane kody TMAP" z trzema kolumnami: numer konta, nazwa konta oraz proponowany kod Tmap.
Jeśli żadne konto nie dopasowało się do słownika, zamiast tabeli pojawia się komunikat "Nie znaleziono żadnych propozycji kodów Tmap dla kont bez przypisanego kodu Tmap.".
Krok 4: zapis do bazy
Gdy propozycje zostaną znalezione i wyświetlone, przycisk "Zaproponuj kody Tmap dla moich kont" zamienia się na "Zaktualizuj moje konta o zaproponowane kody Tmap".
Jego kliknięcie:
- na nowo przelicza propozycje (dla pewności, że dane się nie zmieniły między kliknięciami),
- dla każdego dopasowanego konta zapisuje nowy kod do kont nie posiadających jeszcze tych kodów
- wyświetla powiadomienie o zakończeniu operacji,
- odświeża listę propozycji — zaktualizowane konta znikają z tabeli, a jeśli nic już nie zostało do zaktualizowania, przycisk wraca do stanu początkowego.
Podsumowanie przepływu
zaznacz "Show sub-accounts" i "Wybierz subkonta bez kodu Tmap"
|
v
tabela pokazuje tylko konta któe nie mają jeszcze kodu Tmap
|
kliknik "Zaproponuj kody Tmap dla moich kont"
|
v
tabela z propozycjami (numer konta / nazwa / kod)
|
kliknij "Zaktualizuj moje konta o zaproponowane kody Tmap"
|
v
Lista kont zaktualizowana
Konta, dla których wewnętrzny słownik kodów nie zawiera żadnego pasującego segmentu numeru konta, nie pojawią się w propozycjach i wymagają ręcznego uzupełnienia kodu Tmap w formularzu edycji konta (z opcjonalną podpowiedzią AI).