Mobi banka – pregled potrošnje

Jedan od mojih zadataka (u porodici) je da pratim potrošnju i u skladu sa tim planiram budžet.

Sa druge strane, moja glavna banka je Mobi banka, koja na žalost nema podršku za kategorizaciju potrošnje.

Šta će (bivši) programer uraditi? 🙂 Pa naravno – napraviti program 🙂

Ideja je jednostavna:

  1. Uraditi eksport podataka u zadatom periodu u CSV formatu
  2. Provući CSV eksport kroz python skript
  3. On će izgenerisati inicijalnu listu prodavaca sa jednom kategorijom
  4. Modifikovati listu (dodajući kategorije, grupišući prodavce i eventualno isključujući neke) i ići ponovo na (2.)
  5. Kada smo zadovoljni, sačuvati listu prodavaca za sledeće eksporte

Gornji postupak je zahtevan samo prvi put; između dva eksporta, obično je jako mali broj novih prodavaca.

Instalacija

Aplikacija je pisana u python jeziku – izuzetnim alatom za ovakve primene. Za rad programa je potreban:

  1. Sam python – python 3.6 ili noviji; predlažem najnoviju verziju sa python.org
  2. Sama aplikacija (na github-u)

Jednom kada ste instalirali python, skinite poslednju verziju (release) programa sa github-a.

Napravite folder, i raspakujte release u njega – i to bi bilo to što se tiče instalacije 🙂

Eksport podataka

Savetujem da prilikom eksporta podataka (prikazan web interfejs banke) izaberete samo RSD i samo izlaze (isplate):

Mobi banka – filtriranje transakcija za eksport

Tako će cifre biti tačne – trenutno program ne procesira tip valute (mada, ako bude zahteva, zašto da ne 🙂 )

Kada se završi generisanje transakcija (da, da, Mobi banka nije šampion brzine), izaberite CSV tip eksporta:

Mobi banka – eksport u CSV

Time je ulazni podatak (obično imena PrintList.csv) spreman – ili zapamtite stazu do njega, ili ga prebacite u folder aplikacije.

Izvršavanje programa

Ovo je jednostavno; otvorite Windows Explorer, pozicionirate se u folder gde ste raspakovali program, desni klik i “Open in Terminal” (ovo je za Windows 11):

Otvaranje CMD-a u datom folderu

Kada ste jednom u folderu, program startujete sa:

python main.py

Opcije programa

Standardne opcije se nalaze u config.ini datoteci; ako tu sve podesite (jednom, pre startovanja programa), parametri na ulaznoj liniji vam neće ni biti potrebni.

U protivnom:

usage: main.py [-h] [-i INPUT_FILE] [-o OUT_FILE] [-c DEFAULT_CAT]

Obrada transakcija u CSV formatu od Mobi banke, za bolje praćenje troškova

options:
  -h, --help            show this help message and exit
  -i INPUT_FILE, --input_file INPUT_FILE
                        Ime ulaznog CSV fajla (eksport sa banke), default je "PrintList.csv"
  -o OUT_FILE, --out_file OUT_FILE
                        Ime rezultujućeg CSV fajla, default je "Troskovi.csv"
  -c DEFAULT_CAT, --default_cat DEFAULT_CAT
                        Naziv podrazumevane kategorije, ako se ne nađe; default je "RAZNO"

Rezultat rada

Program će proći kroz PrintList.csv i generisati tri datoteke: Merchants.csv (spisak svih prodavaca na koje je naišao), Troskovi.csv i SUM_Troskovi.csv.

U prvom prolazu će svi prodavci imati podrazumevanu kategoriju (RAZNO) – editujte fajl Merchants.csv i prilagodite kategorije. Za prodavce koji počinju na isti string možete napraviti jedan slog i to će pokriti te prodavce (radi se poređenje tipa ako string počinje sa …).

(u samoj arhivi je već primer datoteke Merchants.csv iz mog eksporta; možete je promeniti ili skroz obrisati, svakako ne smeta)

Struktura Merchants.csv fajla

StartsWithTranslateToCategoryRemove
BENU PHARMACIESBENU ApotekaAPOTEKAFALSE
Struktura CSV fajla Merchants.csv
  • StartsWith – string koji se traži u nazivu prodavca, na početku naziva
  • TranslateTo – string u koji će se zameniti naziv prodavca; generička imena su ponekad ružna
  • Category – kategorija koja će se dodati u rezultujući fajl za sve prodavce koji počinju sa StartsWith
  • Remove – ako je TRUE, prodavac će biti uklonjen iz rezultujućeg fajla

SUM_Troskovi.csv

Naravno, možete uvući Troskovi.csv u Excel i da recimo pivot tabelom uradite analizu. Ali, ako želite da dobijete samo sumu za svaku kategoriju, možete koristiti SUM_Troskovi.csv – tu su apsolutne sume i procenti za svaku kategoriju, sortirane opadajuće po sumi:

Eto 🙂 Nadam se da će ovo nekom koristiti.

Reč o “filozofiji” pregleda potrošnje – ne savetujem religijski pregled potrošnje stalno i detaljno. Ovo je više da dobijete pregled gde nepredviđeno više trošite i u skladu sa tim, korigujete potrošačke navike.