BunyMuny parses the CSV output of various bank statement listings and converts it to something more human readable with nice visualisations.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Pecha c3eb30b4c8 de-bodged CultureInfo handling 4 weeks ago
guide better readme 4 weeks ago
.drone.yml added CI 4 weeks ago
.gitignore added commbank support 4 weeks ago
Bank.cs added commbank support 4 weeks ago
LICENSE i forgot the stinchin license 4 weeks ago
Program.cs de-bodged CultureInfo handling 4 weeks ago
README.md indentation 4 weeks ago
Rule.cs print out a nice summary at the end =u= 4 weeks ago
RuleMatch.cs forgot to add the new classes whoops 4 weeks ago
Statement.cs print out a nice summary at the end =u= 4 weeks ago
bunymuny.csproj don't warn about missing xml comments 4 weeks ago

README.md

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.