KSZOB kompendium
Algorytmy księgowe
Bilansowanie należności
Ten dokument opisuje krok po kroku algorytm obliczania należności i zaległości na podstawie listy księgowań z jednego konta wymiarowego.
- Filtrowanie księgowań:
- Odrzucenie księgowań spoza podanego zakresu dat księgowań,
- Przy obliczaniu zaległości odrzucenie tych księgowań, których termin płatności jest większy od podanego,
- Pomniejszenie kwot tych księgowań, które kontrksięgowaniem wskazują na księgowania odrzucone w powyższym punkcie o kwotę odrzuconego księgowania.
- Grupowanie księgowań wg typu i tego czy dotyczą bieżącego roku czy lat ubiegłych,
- Bilansowanie poszczególnych grup księgowań:
- Kolejność bilansowania poszczególnych grup księgowań:
- Należności z bilansu (salda ujemne) otwarcia powiększone są o przypisy za lata ubiegłe,
- Nadpłaty z bilansu otwarcia (salda dodatnie) powiększone są o dodatnie wpłaty za lata ubiegłe,
- Odpisy należności za lata ubiegłe pomniejszane są o ujemne wpłaty i dodatnie zwroty wskazujące na te odpisy kontrksięgowaniem,
- Wynik działania z punktu 3.1.2. pomniejszony jest o pozostałe zwroty i wpłaty ujemne,
- Wynik działania z pkt 3.1.1. pomniejszony zostaje kolejno o wynik działania z pkt 3.1.3. umorzenia za lata ubiegłe i wynik z pkt 3.1.4. Po tej operacji powstają lista niespłaconych należności i/lub lista nadpłat za lata ubiegłe,
- Odpisy należności za bieżący rok pomniejszane są o ujemne wpłaty i dodatnie zwroty wskazujące na te odpisy kontrksięgowaniem,
- Do wpłat za bieżący rok dodawane są ewentualne nadpłaty za lata ubiegłe (wynik operacji z pkt 3.1.5.),
- Bieżące wpłaty wraz z nadpłatami za lata ubiegłe pomniejszane są o bieżące zwroty i wpłaty ujemne,
- Bieżące należności (przypisy) pomniejszane są kolejno o wynik działania z pkt 3.1.6. umorzenia bieżące i wynik działania z pkt 3.1.8.,
- Kolejność bilansowania w ramach jednej grupy. Zawsze, gdy w podpunktach 3.1 mowa jest o dodawaniu lub powiększaniu (3.1.1., 3.1.7.) to wynikiem takiej operacji jest lista księgowań zawierająca księgowania z obu sumowanych grup. Natomiast, gdy mowa jest o pomniejszaniu jednej grupy drugą (3.1.2., 3.1.3.) to dla każdego księgowania z grupy pomniejszającej przeprowadzany jest proces bilansowania wg następującej kolejności:
- Księgowanie wskazane kontrksięgowaniem, np. Wpłata z ustawionym parametrem kontrksięgowanie na identyfikator przypisu,
- Dla odpisów – wszystkie należności z taką samą ratą, np. Jeden odpis 'zdejmuje' kilka przypisów o tej samej racie,
- Dla bieżących księgowań z rokiem z daty wykonania mniejszym lub równym bieżącemu rokowi księgowemu, np. Bieżąca wpłata pokrywa kilka bieżących przypisów z tą samą ratą.
- Najstarsza niepokryta należność.
- Kolejność bilansowania poszczególnych grup księgowań:
- Wynikiem powyższych operacji jest lista niespłaconych należności i/lub lista niewykorzystanych wpłat. Część należności z przekroczonym terminem płatności daje zaległość na konkretny dzień.
Historia zmian zaległości
Zaległość powstaje w momencie niespłacenia w terminie przypisanej należności. Fatekm, że jej wysokość może ulec zmianie zarówno w górę (przypis korygujący) lub w dół (bądź to przez odpis korygujący bądź też przez całkowitą lub częściową spłatę zaległości). Z faktu, że w/w księgowania pojawiają w różnych momentach czasowych wynika, że wysokość zaległości zmienia się skokowo w funkcji czasu.
Dokument opisuje sposób obliczania zmian kwoty zaległości na danym koncie dla podanego przedziału dat.
Opis działania
Opisywany algorytm podzielony jest na kilka kroków:
- Określenie parametrów wejściowych:
- Rok początkowy – rok określający, od kiedy analizowany jest rozkład zaległości:
- Na oknach gdzie rozkład zaległości obliczany tylko do celów informacyjnych operator ma możliwość wpisania lub wybrania z listy interesującego go roku.
Przykładowo w:
Kartoteka konta > F2 > Operacje > Rozkład rat w czasie (parametr: od 1 stycznia ... Roku).
W dalszej części tego dokumentu w/w rok będzie nazywany rokiem początkowym, - W przypadku, gdy analiza wykonywania jest na potrzeby obliczenia należnych odsetek rok początkowy odczytuje się z konfiguracji systemu:
Konfiguracja > Stałe parametry systemu > Księgowość odsetek > Rok bilansu otwarcia odsetek.
- Na oknach gdzie rozkład zaległości obliczany tylko do celów informacyjnych operator ma możliwość wpisania lub wybrania z listy interesującego go roku.
- Bieżąca data, do której wykonywana jest analiza zaległości. Analogicznie do roku początkowego może być ona podana przez operatora (Kartoteka konta > F2 > Operacje > Rozkład rat w czasie (do daty księgowania) lub wynika z daty księgowania przypisów odsetkowych.
- Rok początkowy – rok określający, od kiedy analizowany jest rozkład zaległości:
- Filtrowanie księgowań mających wpływ zaległość w danym okresie. Do obliczeń brane są wszystkie aktywne księgowania z lat księgowych równych lub większych od roku początkowego i datą księgowania mniejszą lub równą dacie bieżącej z wyjątkiem sald bilansu otwarcia z lat księgowych następujących po roku początkowym,
- Wyszukanie newralgicznych dat, w których zmieniała się kwota zaległości
- Wysokość zaległości zawsze badana jest od 31 grudnia roku poprzedzającego rok początkowy,
- Dni, w których zmieniała się kwota zaległości wynikają bezpośrednio z dat wykonania księgowań biorących udział w bilansie danej zaległości. Od tej reguły jest jeden wyjątek: dla sald bilansu otwarcia ( typ: S i ujemna kwota) niewynikających z Ordynacji Podatkowej (np. Woda, Użytkowanie Wieczyste, Dzierżawy) jest to 31 grudnia roku poprzedzającego rok początkowy (pkt 1.).
To czy dana należność podlega pod Ordynację Podatkową czy też nie określa się w słowniku zobowiązań:
Konfiguracja > Słowniki > Słownik zobowiązań > Zmień lub Dodaj > Zobowiązanie podatkowe, - Bieżąca data (pkt 1.2.).
W dalszej części dokumentu tak określone daty będą nazywane datami zmiany,
- Określanie puli księgowań, która ma wpływ na wysokość zaległości w danym dniu. Do każdej daty zmiany z listy utworzonej wg zasad z pkt 3. przypisywana jest pula księgowań, których data wykonania jest mniejsza lub równa konkretnej dacie zmiany,
- Bilans dla każdej daty zmiany. Dla każdej daty określonej wg pkt I. i na podstawie księgowań wybranych wg zasad z pkt II przeprowadzany jest bilans zaległości (więcej w Bilansowanie należności na koncie).
Studium przypadku
Parametry wejściowe
- Rok początkowy: 2015,
- Data końcowa: 2016-04-15,
- Zakładamy, że nie było wpłat odsetkowych.
Pula księgowań
Rok 2015
Typ | Data księgowania | Rok obrotowy | Rata | Data wykonania | Kwota |
---|---|---|---|---|---|
P-Przypis | 01.01.2015 | 2 002 | 1 | 31.03.2002 | 222,59 |
S-Saldo | 01.01.2015 | 2 003 | 1 | 31.03.2003 | -206,14 |
S-Saldo | 01.01.2015 | 2 007 | 1 | 31.03.2007 | -223,10 |
S-Saldo | 01.01.2015 | 2 008 | 1 | 31.03.2008 | -223,10 |
P-Przypis | 15.02.2015 | 2 015 | 1 | 14.03.2015 | 231,00 |
W-Wpłata | 01.12.2015 | 2 002 | 1 | 01.12.2015 | 170,53 |
W-Wpłata | 28.12.2015 | 2 002 | 1 | 28.12.2015 | 275,67 |
Rok 2016
Typ | Data księgowania | Rok obrotowy | Rata | Data wykonania | Kwota |
---|---|---|---|---|---|
W-Wpłata | 15.01.2016 | 2 007 | 1 | 15.01.2016 | 446,20 |
W-Wpłata | 06.04.2016 | 2015 | 1 | 06.04.2015 | 150,00 |
Daty zmian
- 31.03.2002 - data wykonania przypisu za 2002 rok,
- 31.12.2014 – dla sald przyjęty jest 31 grudzień przed rokiem początkowym,
- 14.03.2015 – przypis za 2015 rok,
- 01.12.2015, 28.12.2015, 15.01.2015, 06.04.2015 daty wykonania kolejnych wpłat.
Księgowania biorące udział w bilansie w kolejnych datach zmiany
31.03.2002
Księgowanie:
Typ | Data księgowania | Rok obrotowy | Rata | Data wykonania | Kwota |
---|---|---|---|---|---|
W-Wpłata | 15.01.2016 | 2 007 | 1 | 15.01.2016 | 446,20 |
W-Wpłata | 06.04.2016 | 2015 | 1 | 06.04.2015 | 150,00 |
Zaległości:
Rok obrotowy | Rata | Data odsetek | Kwota |
---|---|---|---|
2 002 | 1 | 01.04.2002 | 222,59 |
31.12.2014
Typ | Data księgowania | Rok obrotowy | Rata | Data wykonania | Kwota |
---|---|---|---|---|---|
P-Przypis | 01.01.2015 | 2 002 | 1 | 31.03.2002 | 222,59 |
S-Saldo | 01.01.2015 | 2 003 | 1 | 31.03.2003 | -206,14 |
S-Saldo | 01.01.2015 | 2 007 | 1 | 31.03.2007 | -223,10 |
S-Saldo | 01.01.2015 | 2 008 | 1 | 31.03.2008 | -223,10 |
Zaległości:
Rok obrotowy | Rata | Kwota |
---|---|---|
2 002 | 1 | 222,59 |
2003 | 1 | 206,14 |
2007 | 1 | 223,10 |
2008 | 1 | 223,10 |
14.03.2015
Księgowania:
Typ | Data księgowania | Rok obrotowy | Rata | Data wykonania | Kwota |
---|---|---|---|---|---|
P-Przypis | 01.01.2015 | 2 002 | 1 | 31.03.2002 | 222,59 |
S-Saldo | 01.01.2015 | 2 003 | 1 | 31.03.2003 | -206,14 |
S-Saldo | 01.01.2015 | 2 007 | 1 | 31.03.2007 | -223,10 |
S-Saldo | 01.01.2015 | 2 008 | 1 | 31.03.2008 | -223,10 |
P-Przypis | 15.02.2015 | 2 015 | 1 | 14.03.2015 | 231,00 |
Zaległości:
Rok obrotowy | Rata | Kwota |
---|---|---|
2 002 | 1 | 222,59 |
2003 | 1 | 206,14 |
2007 | 1 | 223,10 |
2008 | 1 | 223,10 |
2015 | 1 | 231,00 |
01.12.2015
Księgowania:
Typ | Data księgowania | Rok obrotowy | Rata | Data wykonania | Kwota |
---|---|---|---|---|---|
P-Przypis | 01.01.2015 | 2 002 | 1 | 31.03.2002 | 222,59 |
S-Saldo | 01.01.2015 | 2 003 | 1 | 31.03.2003 | -206,14 |
S-Saldo | 01.01.2015 | 2 007 | 1 | 31.03.2007 | -223,10 |
S-Saldo | 01.01.2015 | 2 008 | 1 | 31.03.2008 | -223,10 |
P-Przypis | 15.02.2015 | 2 015 | 1 | 14.03.2015 | 231,00 |
W-Wpłata | 01.12.2015 | 2 002 | 1 | 01.12.2015 | 170,53 |
Zaległości:
Rok obrotowy | Rata | Kwota |
---|---|---|
2 002 | 1 | 52,06 |
2003 | 1 | 206,14 |
2007 | 1 | 223,10 |
2008 | 1 | 223,10 |
2015 | 1 | 231,00 |
28.12.2015
Księgowania:
Typ | Data księgowania | Rok obrotowy | Rata | Data wykonania | Kwota |
---|---|---|---|---|---|
S-Saldo | 01.01.2015 | 2 003 | 1 | 31.03.2003 | -206,14 |
S-Saldo | 01.01.2015 | 2 007 | 1 | 31.03.2007 | -223,10 |
S-Saldo | 01.01.2015 | 2 008 | 1 | 31.03.2008 | -223,10 |
P-Przypis | 15.02.2015 | 2 015 | 1 | 14.03.2015 | 231,00 |
W-Wpłata | 01.12.2015 | 2 002 | 1 | 01.12.2015 | 170,53 |
W-Wpłata | 28.12.2015 | 2 002 | 1 | 28.12.2015 | 275,67 |
Zaległości:
Rok obrotowy | Rata | Kwota |
---|---|---|
2007 | 1 | 205XOPRZE63 |
2008 | 1 | 223XOPRZE10 |
2015 | 1 | 231XOPRZE00 |
15.01.2015
Księgowania:
Typ | Data księgowania | Rok obrotowy | Rata | Data wykonania | Kwota |
---|---|---|---|---|---|
P-Przypis | 01.01.2015 | 2 002 | 1 | 31.03.2002 | 222,59 |
S-Saldo | 01.01.2015 | 2 003 | 1 | 31.03.2003 | -206,14 |
S-Saldo | 01.01.2015 | 2 007 | 1 | 31.03.2007 | -223,10 |
S-Saldo | 01.01.2015 | 2 008 | 1 | 31.03.2008 | -223,10 |
P-Przypis | 15.02.2015 | 2 015 | 1 | 14.03.2015 | 231,00 |
W-Wpłata | 01.12.2015 | 2 002 | 1 | 01.12.2015 | 170,53 |
W-Wpłata | 28.12.2015 | 2 002 | 1 | 28.12.2015 | 275,67 |
W-Wpłata | 15.01.2016 | 2 007 | 1 | 15.01.2016 | 446,20 |
Zaległości:
Rok obrotowy | Rata | Kwota |
---|---|---|
2015 | 1 | 213,53 |
06.04.2015
Księgowania:
Typ | Data księgowania | Rok obrotowy | Rata | Data wykonania | Kwota |
---|---|---|---|---|---|
P-Przypis | 01.01.2015 | 2 002 | 1 | 31.03.2002 | 222,59 |
S-Saldo | 01.01.2015 | 2 003 | 1 | 31.03.2003 | -206,14 |
S-Saldo | 01.01.2015 | 2 007 | 1 | 31.03.2007 | -223,10 |
S-Saldo | 01.01.2015 | 2 008 | 1 | 31.03.2008 | -223,10 |
P-Przypis | 15.02.2015 | 2 015 | 1 | 14.03.2015 | 231,00 |
W-Wpłata | 01.12.2015 | 2 002 | 1 | 01.12.2015 | 170,53 |
W-Wpłata | 28.12.2015 | 2 002 | 1 | 28.12.2015 | 275,67 |
W-Wpłata | 15.01.2016 | 2 007 | 1 | 15.01.2016 | 446,20 |
W-Wpłata | 06.04.2016 | 2015 | 1 | 06.04.2015 | 150,00 |
Zaległości:
Rok obrotowy | Rata | Kwota |
---|---|---|
2015 | 1 | 63,53 |
Rozkład zaległości w czasie w postaci tabelarycznej
Obliczanie należności kosztowej
Należne koszty oblicza się jako różnicę pomiędzy kosztami naliczonymi, a wpłaconymi w danym roku księgowym. Przez koszty naliczone rozumie się sumę kwot kosztów z wystawionych upomnień ze statusami:
- P - opłacone,
- O – odebrane (tylko wtedy gdy zaznaczona jest opcja Konfiguracja > Stałe parametry systemu > Upomnienia > Podpowiadanie kwoty kosztów o statusie: "Odebrane"),
- T – tytuł wykonawczy (j/w z tym że zaznaczona jest opcja Tytuł wykonawczy).
Koszty wpłacone to suma kwot księgowań typu K (koszty) w danym roku obrachunkowym.
- Uwaga!
- Przy wystawianiu tytułów wykonawczych na kwotę kosztów naliczonych ma również wpływ parametr: Księgowość Zobowiązań > Stałe parametry > Upomnienia Oddzielne upomnienie dla każdego współwłaściciela. Jego zaznaczenie powoduje że należne koszty obliczane są tylko z tych upomnień, które zostały wystawione na tego współwłaściciela, na którego wystawiany jest tytuł.
Przykład:
- Na koncie jest dwóch współwłaścicieli,
- Każdy odebrał upomnienie opiewające na kwotę kosztów 11,60 zł, czyli na koncie są dwa upomnienia z łączną kwotą 23,20 zł,
- Na tytule wystawianym na któregokolwiek z tych współwłaścicieli w polu E10 (Kwota kosztów upomnienia) będzie wartość 11,60 zł.
Obliczanie zaległości końcowych netto
Program operuje na wartościach brutto. Wszelkie zestawienia były przygotowywane dla kwot brutto. Przypis tworzony jest z określoną stawką podatku VAT. Kiedy użytkownik księguje wpłatę, program podpowiada stawkę podatku VAT identyczną jak dla przypisu. Istnieje możliwość wybrania innej stawki podatku VAT. Uzgodnienie wysokości salda podatku VAT nie jest sumowane z części podatkowej kwoty przypisu i kwoty wpłaty. Uzgodnienie salda odbywa się przez zsumowanie kwoty przypisu i kwoty wpłaty, następnie program wylicza kwotę podatku VAT dla salda po stawce przypisu.
- Przykład!
BRUTTO (zł) W TYM KWOTA VAT (zł) NETTO (zł) PRZYPIS 100 23 77 WPŁATA 50 4 46 SALDO 50 11,5 61,5
- Przypis został utworzony z 23% stawką podatku VAT,
- Wpłata została obciążona stawką 8% podatku VAT,
- Dla wiersza SALDO i kolumny W TYM KW OTA VAT wartość zostanie naliczona przez pomnożenie,
- SALDA BRUTTO przez stawkę podatku VAT dla przypisu, czyli 23%,
- Dla wiersza SALDO i kolumny NETTO wartość zostanie wyliczona na podstawie różnicy SALDA BRUTTO i SALDA W TYM KW OTA VAT.
- Uwaga!
- Ta metodologia liczenia powoduje, że na zestawieniach mogą pojawić się nieścisłości.
Moduły dodatkowe
Pełna księgowość odsetek
Wydruki wg wzorca
Struktura pliku ini definiującego tabelkę RTF
Pierwszą sekcją w pliku powinna byc sekcja [TABLE]
[TABLE]
Headers = 1 //Wartość liczbowa większa od zera odpowiadająca liczbie nagłówków. Domyślnie przyjmowane jest istnienie jednego nagłówka
Footers = 1 //Wartość liczbowa większa od zera odpowiadająca liczbie stopek. Domyślnie przyjmowane jest istnienie jednej stopki
Kolejne komórki nagłówka definiuje się przez kolejne sekcje z odpowiednimi nazwami. Prawidłowa nazwa komórek nagłówka zawsze rozpoczyna się od słowa HEADER a kończy oddzieloną podkreśleniem dolnym nazwą kolumny. Przykładowo:
[HEADER_KOLUMNA1]
W przypadku gdy tabelka ma zawierać więcej niż jeden nagłówek po słowie HEADER podajemy jego numer np:
[HEADER1_KOLUMNA1]
Należy pamiętać że HEADER1 to de facto drugi nagłówek - pierwszy nie ma żadnego numerku.
Analogicznie postępujemy w przypadku stopek, przy czym słowo HEADER zastępujemy oczywiście słowem FOOTER.
Bardzo podobnie ma się sprawa z wierszami tabeli. Słowo HEADER zastępowane jest słowem ROW. Przy czym ilość wierszy określana jest programowo w zależności od makra które korzysta z pliku ini. Nieprawidłowy zatem jest wpis np: [ROW1_KOLUMNA1].
Niezależnie czy komórka należy do nagłówka, wiersza czy stopki, można jej ustawić następujące parametry:
[HEADER_KOLUMNA1]
rozmiar czcionki= 12 //liczba większa od zera
styl czcionki= 0 // 0 - normalny, 1 - pogrubiony, 2 - pochyły
kolor tła=0 // 0 -czarny, 1 -czerwony, 2 -zielony, 3 -niebieski, 4 -żółty, 5 -fioletowy, 6 -purpurowy, 7 -kasztanowy, 8 -limonkowy, 9 -cyjan, 10 -morski, 11 -granatowy, 12 - biały, 13 - srebrny, 14 -szary
szerokość kolumny= 1000 // liczba całkowita określająca szerokość kolumny w pikselach
wyrównanie pionowe=0 // 0 - do góry, 1 - do środka, 2 - do doły
wyrównanie poziome=0 // 0 - do lewej, 1 - do środka, 2 - do prawej
bez krawędzi= 0 //0 - nie, 1 -tak
treść=@Sygnatura() //Stały napis lub prawidłowe makro zarejestrowane dla danego typu dokumentu
Żadne z powyższych parametrów nie są obowiązkowe
Przykładowy plik w całości:
[TABLE]
Headers = 1
Footers = 3
[HEADER]
styl czcionki=1
kolor tła = 14
[HEADER_NAZ_ZOB]
szerokość kolumny=4500
treść=Rodzaj należności
[HEADER_DATA_PL]
szerokość kolumny=1600
treść=Miesiąc/rok
[HEADER_KWOTA_NAL]
szerokość kolumny=1600
treść=Kwota należności głównej
[HEADER_KWOTA_ODS]
szerokość kolumny=1600
treść=Kwota odsetek
[HEADER_RAZEM]
szerokość kolumny=1600
treść=Odsetki z tytułu zwłoki liczy się od dnia
[ROW]
styl czcionki=0
kolor tła = 12
[ROW_NAZ_ZOB]
wyrównanie poziome=3
szerokość kolumny=4500
treść=@uFullNazZob() za @uRokZDW() r.
[ROW_DATA_PL]
szerokość kolumny=1600
treść=@uRataRokObr()
[ROW_KWOTA_NAL]
szerokość kolumny=1600
treść=@uKwotaPoz()
wyrównanie poziome=2
[ROW_KWOTA_ODS]
szerokość kolumny=1600
treść=@uKwotaOds()
wyrównanie poziome=2
[ROW_RAZEM]
szerokość kolumny=1600
treść=@uDataOds()
wyrównanie poziome=2
[FOOTER]
styl czcionki=1
kolor tła = 13
[FOOTER_NAZ_ZOB]
wyrównanie poziome=3
szerokość kolumny=4500
kolor tła = 14
bez krawędzi=1
[FOOTER_LACZNIE]
szerokość kolumny=3200
treść=Odsetki
wyrównanie poziome=2
[FOOTER_RAZEM]
szerokość kolumny=1620
treść=@uOds()
wyrównanie poziome=2
[FOOTER1]
styl czcionki=1
kolor tła = 13
[FOOTER1_NAZ_ZOB]
wyrównanie poziome=3
szerokość kolumny=4500
kolor tła = 14
bez krawędzi=1
[FOOTER1_LACZNIE]
szerokość kolumny=3200
treść=Koszty upomnienia
wyrównanie poziome=2
[FOOTER1_KOSZTY]
szerokość kolumny=1620
treść=@uKoszty()
wyrównanie poziome=2
[FOOTER2]
styl czcionki=1
kolor tła = 13
[FOOTER2_NAZ_ZOB]
wyrównanie poziome=3
szerokość kolumny=4500
kolor tła = 14
bez krawędzi=1
[FOOTER2_LACZNIE]
szerokość kolumny=3200
treść=Razem
wyrównanie poziome=2
[FOOTER2_RAZEM]
szerokość kolumny=1620
treść=@uRazemZOds()
wyrównanie poziome=2