Table of Contents
This is a quick and dirty script to patch *.qfx files. It will:
- process all *.qfx files in the ~/Downloads folder
- output each file as *-patched.qfx in the ~/Downloads folder
- patch the Payee field based upon a mappings file
- create/update the memo field for bank transactions
Notes:
- All folder locations and filenames can be easily adjusted at the top of the index.js file.
- Create a transaction mapping file,
~/Documents/Financial/transaction-mappings.json
. It is a basic json dictionary, for example:
{
"AA WINDOW & GUTTER": {"payee": "AA Window & Gutter", "category": "Home"},
"ADTSECURITY": {"payee": "ADT Security ↺", "category": "Bills & Utilities"},
"ALASKA AIRLINES": {"payee": "Alaska Airlines", "category": "Travel"},
}
where the key is a regular expression that will match on payee or memo/note fields.
-
Clone the repo.
git clone https://github.com/michaelpmaley/patch-qfx.git
-
Install NPM packages: csv-parser, dayjs, fast-csv, ofx-js, xml2js.
npm install
-
Browse to each financial institution and download the latest transactions in Quicken (qfx) format.
-
In the project folder, run the script.
npm run start
- Import each *-patched.qfx file into the financial application.
Distributed under the MIT License. See LICENSE
for more information.
Your Name - @twitter_handle - email@email_client.com
Project Link: https://github.com/michaelpmaley/patch-qfx