BunyMuny parses the CSV output of various bank statement listings and converts it to something more human readable with nice visualisations.
Go to file
Pecha c3eb30b4c8
All checks were successful
continuous-integration/drone/push Build is passing
de-bodged CultureInfo handling
2020-09-27 16:36:48 +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 added commbank support 2020-09-27 15:54:38 +10:00
Bank.cs added commbank support 2020-09-27 15:54:38 +10:00
LICENSE i forgot the stinchin license 2020-09-26 23:19:53 +10:00
Program.cs de-bodged CultureInfo handling 2020-09-27 16:36:48 +10:00
README.md indentation 2020-09-27 15:55:50 +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.csproj don't warn about missing xml comments 2020-09-27 13:08:55 +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

  • ME Bank (guide)
  • NAB
  • CommBank

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.