BunyMuny parses the CSV output of various bank statement listings and converts it to something more human readable with nice visualisations.
Find a file
Lynnesbian 42be0862ca
All checks were successful
continuous-integration/drone/push Build is passing
support for NAB
2020-09-27 15:27:16 +10:00
guide better readme 2020-09-27 14:26:17 +10:00
.drone.yml added CI 2020-09-26 23:28:11 +10:00
.gitignore support for NAB 2020-09-27 15:27:16 +10:00
Bank.cs cleaner(ish) code, support for rules 2020-09-26 22:45:07 +10:00
bunymuny.csproj don't warn about missing xml comments 2020-09-27 13:08:55 +10:00
LICENSE i forgot the stinchin license 2020-09-26 23:19:53 +10:00
Program.cs support for NAB 2020-09-27 15:27:16 +10:00
README.md better readme 2020-09-27 14:26:17 +10:00
Rule.cs print out a nice summary at the end =u= 2020-09-27 13:59:58 +10:00
RuleMatch.cs forgot to add the new classes whoops 2020-09-26 23:16:54 +10:00
Statement.cs print out a nice summary at the end =u= 2020-09-27 13:59:58 +10:00

BunyMuny

Build Status

BunyMuny parses the CSV output of various bank statement listings and converts it to something more human readable with nice visualisations.

Building

git clone https://git.bune.city/lynnesbian/BunyMuny
cd BunyMuny
dotnet build

Supported banks

The rules file

By default, BunyMuny checks for rules in rules.csv in the current directory. This is a Comma Separated Values file, which can be edited either by hand, or with a program like Libreoffice Calc or Microsoft Office Excel. An example rules file might look like this:

Match,Value,Category,Description,CaseSensitive
Start,Purchase Cash Converters,Personal,Cashies,true
Exact,Purchase TRANSLINK BRISBANE,Transport,Go Card,true

This means that:

  • Any statement that starts with "Purchase Cash Converters" (case sensitive) will be assigned the category "Personal", and the description "Cashies".
  • Any statement with the exact description "Purchase TRANSLINK BRISBANE" (case sensitive) will be assigned the category "Transport", and the description "Go Card".
  • Any statement that doesn't match these two rules will be categorised as "Other", and will use the description provided by the bank file.

Detailed explanation

  • Match specifies the type of matching to perform. It can be any of the following:
    • "Start": Match the start of the description.
    • "End": Match the end of the description.
    • "Contains": Match anywhere in the description.
    • "Exact": Only match if the bank statement's description is exactly equal to the provided value.
    • "Regex": Match with regular expressions.
  • Value specifies the value to match against.
  • Category is the category that the statement should be filed under.
  • Description is a short description to distinguish the particular merchant.
  • CaseSensitive specifies whether or not the match should be case sensitive.