Jak liczone są stany oszczędności

W wersji 2.0 Finansów domowych zmianie uległ algorytm liczenia aktualnych stanów oszczędności (zródeł finansowania).
Wcześniej (w wersji 1.0) było tak, że aktualna kwota oszczędności była na bieżąco obliczana, po dokonaniu jakiejkolwiek transakcji (wydatek, przychód, przelew) a użytkownik miał możliwość ręcznej "korekty" tej kwoty w razie jakichkolwiek rozbieżności.

Algorytm ten jednak uległ zmianie.

Przyczyn było wiele, najważniejsze to:

  • Zdarzały się przypadki, że kwota oszczędności z jakiegoś powodu nie była aktualizowana (np. błąd po stronie bazy danych) i po mimo dodania np. wydatku na oszczędności pozostawała ta sama kwota. Kwota nie została pomniejszona o wielkość wydatku.
  • Wielu użytkowników (tych bardziej zaawansowanych) miało zastrzeżenia co do tego, że kwotę oszczędności można korygować. Zarzucali programowi możliwość oszukiwania (chociaż tak na prawdę program robi to co każe mu użytkownik) oraz nietrzymanie się ze standardami księgowymi.
    Było to argumentowane tym, że w poważnych programach księgowych nie można zmienić kwoty oszczędności, stan oszczędności musi wynikać z przychodów i rozchodów.

Obecnie aktualny stan oszczędności (źródła finansowania) liczony jest na podstawie wszystkich płatności i transakcji dokonanych daną oszczędnością a użytkownik może podać tylko kwotę początkową.
Kwota początkowa jest odpowiednio zmniejszana (w razie dodawania wydatków, dodania lokaty, dodania wierzytelności) i zwiększana (w razie dodawania przychodów), brane są też pod uwagę przelewy (transfer pieniędzy) między oszczędnościami oraz korekty.

Wszystkie operacje dokonywane daną oszczędnością są zapisywane, użytkownik w każdej chwili może podejrzeć historię stanów oszczędności oraz historię operacji.
Kwotę oszczędności (źródła finansowania) można skorygować korektami.

Jak zatem zadbać o zgodność danych rzeczywistych z tym co w programie?