Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Quick Start:

1. Get all of your accounts in ofxclient or mint. Any that you can't get,
   manually download an .ofx into the folder from which you run dodown.py
2. Copy public.py to private.py and update your mint username and password.
   Also, to customize the display names:
   a. For accounts on mint, edit the display name in mint.
   b. For accounts with manual .ofx download, edit ACCTNUMMAP to map the
      account number to the name.
   c. For accounts on ofxclient, either (i) edit the "description" for each
      account in ofxclient.ini, or (ii) edit ACCTNUMMAP
3. Touch template.csv in the same folder as dodown.py.
4. Run dodown.py. It will print out the name of each account and its balance.
5. If you want an assets.csv, edit template.csv to include the names of any
   accounts you want listed in assets.csv. Each account will appear in 
   assets.csv just as it appears in template.csv. Any text that doesn't match
   an account name will be passed unchanged. You can add multiple accounts
   together with +. This also means that + isn't usable in account names.
6. If you already have an Excel spreadsheet that does some computation, you can
   paste the resulting assets.csv into that spreadsheet by using Paste Special,
   Values, Ignore Blanks.

--------------------------------------------------------------------------------
This is a little personal finance downloader that I built for myself. 
It supports the following sources of data:

1. Any bank that supports OFX connection (using the ofxclient package).
   Set them up in ofxclient command-line and dodown.py will download them.
2. Mint (using mintapi). Set your username and password in private.py.
3. Transamerica Retirement Services (balances only, by screen scraping).
   Set your username and password in private.py.
4. Any .ofx files in the current working directory, for banks that support
   neither OFX nor Mint. If your filesystem is case sensitive, they MUST
   be named .ofx, NOT .OFX. They cannot be named .qfx.
5. Any accounts you keep using Google Sheets (via Google Drive csv export).
   Requires the key for that spreadsheet, the gid of the worksheet, and the
   column numbers of columns that hold relevant information. Older 
   generation spreadsheets (with key beginning with a 0) require a Google 
   account to download; extract your Google cookie and put it in private.py.
6. Currency information from Yahoo (via the yahoo_finance package) and
   precious metals prices from Kitco (by screen scraping)

It then exports two csv files:
1. trans.csv, which contains all transactions in the last DOWLOAD_DAYS
   and perhaps some extraneous ones (thanks to Mint and the .ofx files).
2. assets.csv, generated from the template template.csv. The name of each
   account can be placed in the template, and they are replaced exactly once
   with that account's current balance or value. (Some caveats here: for 
   example, Mint account names are stripped of spaces.) dodown.py supports
   joining multiple account names with a + (but therefore does not support
   using a + in an account name). If multiple account names are joined with 
   a +, but only some of those names are known, it will not replace any of 
   the names, but will rather print a warning.

It further prints any accounts that are not listed in the template.

--------------------------------------------------------------------------------

Getting the cookie for a spreadsheet fetcher (on Mac OS X Yosemite).
1. Launch Firefox
2. Open a new private window
3. Tools->Web Developer->Network
4. Log in to Google and load the spreadsheet you want to view
5. Select the download of the .csv
6. Click headers in the right pane
7. Click "Raw Headers"
8. Under "Request Headers" copy everything between "Cookie: " and "Connection"
   and paste it in private.py under GOOGLE_COOKIE

--------------------------------------------------------------------------------

v0.1 (3/25/15): Initial release
v0.2 (3/26/15): Support for + in template.csv. Added ACCTNUMMAP for downloaded
		OFX files. Made everything except ofxclient conditional on the
		configuration file parameters.
v0.3 (3/28/15): Better README, fixed a bug in Google Sheets.

About

Personal Finance Downloader

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages