BunyMuny parses the CSV output of various bank statement listings and converts it to something more human readable with nice visualisations.
guide | ||
.drone.yml | ||
.gitignore | ||
Bank.cs | ||
bunymuny.csproj | ||
LICENSE | ||
Program.cs | ||
README.md | ||
Rule.cs | ||
RuleMatch.cs | ||
Statement.cs |
BunyMuny
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.