Budżet domowy ... FireFly III

Prowadzenie budżetu domowego nie jest tematem nowym. Nie każdy czuje potrzebę prowadzenia domowej buchalterii, nie każdy chce się stresować podwyżkami, ale jeśli ktoś poszukuje takiego programu - zapraszam do recenzji tzw. selfhosted application - FireFly III.

Przez ostatnich kilka lat używałem MMEX (multiplatformowy, z bazą umieszczoną na dropboxie), którą to aplikację śmiało mogłem polecić do wersji 0.99. Późniejsze wersje to niestety parada błędów w interface. Głównie z tego powodu zacząłem poszukiwać rozwiązania alternatywnego, a co najistotniejsze - darmowego i multiplatformowego (Windows, MacOS, Linux). Niestety nic (moim zdaniem) takiego nie znalazłem. Z racji założeń odrzuciłem aplikacje Windows-Only, MacOS-only, Linux-Only. Swoją uwagę skierowałem więc na rozwiązania web'owe etc., ale pomimo ciekawych interface'ów, możliwości importu danych z banku jakoś nie przekonuje mnie umieszczanie danych na obcych serwerach, wystawionych dodatkowo na świat. 

Ostatnią opcją jaka mi pozostała było znalezienie tzw. selfhosted application, czyli aplikacja napisana w html/php, która to potrzebuje do działania serwera www z php oraz serwera mariadb/mysql. Dodam, że zależało mi na czym darmowym i tu praktycznie nie znalazłem nic poza FireFly III i GnuCash. Jak się jednak okazało - to FFIII jest tą aplikacją, której poszukiwałem. 

Zainteresowanym polecam: https://demo.firefly-iii.org/login, gdzie można zapoznać się działaniem aplikacji.

Jak wspominałem, jednym z założeń była multiplatformowość, tak żeby wszyscy zainteresowani w sieci domowej mogli prowadzić swoje wydatki. Zacząłem więc od stworzenia środowiska pracy. W moim przypadku było to dość proste, bo mam QNap'a, oraz MacMini 2007, który ma zainstalowanego Debiana i służy m.in. jako serwer minecrafta dla dzieci. QNap nie ma w oficjalnych aplikacjach FFIII, a dodawanie 3rd party rozwiązań zawsze może "polec" przy aktualizacji systemu QNapa, tak więc naturalnym rozwiązaniem był Debian (Buster). Mała uwaga: można też użyć XAMPP, jeśli chcemy użyć naszego PC/Mac jako serwera. 

Instalacja Apache, MariaDB, PHP nie nastręczała problemów. Tu uwaga: Buster ma domyślnie PHP_7.3, więc trzeba najpierw dodać mu PHP_7.4 i ustawić jako domyślne dla Apache 2 (opisy są w necie i nie ma problemu). Dalsza część to działanie według instrukcji: https://docs.firefly-iii.org/installation/self_hosted. Może zaistnieć konieczność dodania modułów do Apache, ustawienie locales, ale to też nie jest problemem (w razie czego - proszę pisać - chętnie pomogę). 

Po instalacji przechodzimy do dowolnej przeglądarki i wpisujemy: http://ip_servera/firefly-iii lub http://firefly-iii/login i zaczynamy konfigurację zgodnie ze swoimi potrzebami. 

Zaczynamy od dodania konfiguracji waluty w opcjach i "Kont Aktywów" (sekcja "Konta"), czyli odwzorowania kont bankowych, kont kart kredytowych, portfeli gotówkowych, kredytów. Po tej operacji dobrze jest dodać kilka "Kont Wydatków" oraz "Kont Przychodów" (sekcja "Konta"). Można to również zrobić w momencie wpisywania wydatków, ale dla porządku można od razu skonfigurować np. Energia Elektryczna, Czynsz lub jak ktoś chce konkretnie ENEA, Tauron, Orange etc. To samo tyczy się kont przychodów. Zwracam na to uwagę dlatego, że to jak dokładnie zrobimy podział tak dokładnie będziemy mogli robić statystyki wydatków (np. jeśli chcemy wiedzieć ile wydaliśmy w Lidl, Biedronka to wpisujemy je jako osobne konta wydatków, a jeśli wystarczy nam ogólnie ile wydajemy na żywność to wystarczy ogólnie "Sklep Spożywczy"). Analogicznie zasada dotyczy kont przychodów).

Powyższe zasady dotyczą opcji "Klasyfikacji", gdzie konfigurujemy kategorie wydatków oraz tagi. Robimy to na tyle szczegółowo na ile dokładnie chcemy analizować nasze finanse. 

Przydatną, choć nie wymaganą opcją jest "Budżet". Warto założyć jakąś kwotę na miesiąc lub kwartał, bo system pokaże o ile nie/przekroczyliśmy założonego limitu. 

Kolejna funkcja to "Automatyzacja", która pozwala na dodanie działań cyklicznych, co znacznie ułatwia nam wpisywanie wydatków (FFIII wykonuje te operacje wykorzystując systemowy cron, więc należy pamiętać o dodaniu wpisu w crontab wyzwalającego, co określony czas, skrypt automatyzacji).

Następna przydatna funkcja to "Rachunki". Po zdefiniowaniu naszych miesięcznych - stałych wydatków i skojarzeniu ich program pokazuje na ekranie początkowym (Dashboard/Kokpit) ile w danym okresie (np. miesiąc, kwartał) pozostało do zapłacenia samych rachunków).

Teraz możemy dodawać "Transakcje" (typy: wypłata, wpłata, transfer). Poszczególne pola są jasne i myślę, że nie ma sensu ich opisywać. Dodam tylko, że pole "Opis" *** jest polem, które domyślnie używa opcja "Szukaj" 

Po dodaniu już kilku wydatków możemy robić wszelkie analizy w sekcji "Raporty". Generowanie zestawień jest bardzo proste i czytelne. 

Bardzo czytelny "Kokpit" pokazuje nam podstawowe informacje o stanie kont, ostatnich kilku operacjach etc. W górnej prawej części można wybrać zakres dat jaki ma być brany pod uwagę. Wszystko wygląda bardzo estetycznie i sensownie.

Krótki opis należy się funkcji "Szukaj". Otóż sam wpis w polu szukaj działa tylko w oparciu o pole "Opis"***. Jeśli chcemy szukać kwoty, tagi etc. należy zapoznać się z pomocą:

Reasumując, aplikacja jest moim zdaniem, najlepszym rozwiązaniem do prowadzenia budżetu domowego - niezależnie od systemu operacyjnego (włączając w to tablety i telefony - interface jest responsywny). Sprawdzone na MacOS, iOS, Windows, Linux - różne przeglądarki. Pół żartem, pół serio - po 6 m-cach doskonale widać jak drożeje żywność :). 

Na koniec dwie kwestie. Upgrade'y wychodzą dość często, ale opis aktualizacji jest czytelny i nie nastręcza problemów. Jak zawsze proszę pamiętać o kopii danych, co w tym przypadku oznacza: dump bazy i kopię katalogu z aplikacją (skrypt z tar i mysqldump w cron załatwia sprawę). 

Pozdrawiam czytelników.