Skip to content

JesseAldridge/cheddardog

 
 

Repository files navigation

cheddardog

a poor mans Mint, Personal Capital or other, in the making

  • Download transactions from your financial institutions
  • Save them in a json file
  • Generate an html spending summary report
  • Generate an html balance report for all accounts
  • Email the spending summary
  • Why?
    • Financial insights without spraying your data to third parties.
    • Enable 2 Factor auth on your financial accounts and they still work
    • Local db of balances & transactions to whatever you want

sample report

Supports

  • American Express
  • Bank of America (CA)
  • Etrade
  • Fidelity
  • Schwab
  • Vanguard
  • 2 Factor Auth: works, but you'll have to babysit the run and enter the 2nd factor manually

Download Ledger from Financial Institutions

credentials come from env vars, config is in config.json

  • update config.json with which accounts you want refreshed.
  • Set BOFA_USER and BOFA_PW env variable and/or
  • Set AMEX_USER and AMEX_PW env variable and/or
  • Set SCHWAB_USER and SCHWAB_PW env variable and/or
  • Set VANGUARD_USER and VANGUARD_PW env variable
  • npm install
  • npm run build
  • npm run refresh to generate ./out/txndb.json

Tip: Use 1password cli or set env vars without saving to history

To simplify repetitive execution, consider something like this in a .zshrc file

cheddardog() {
    eval $(op signin)

    echo 'Configuring AMEX...'
    TEMP=`op get item amex | jq -r "(.details.fields[1].value, .details.fields[2].value)"`
    export AMEX_USER=`echo $TEMP | head -1`
    export AMEX_PW=`echo $TEMP | tail -1`

    // .... more accounts credentials

    export SENDGRID_API_KEY=`op get item sendgrid_account_name | jq -r .details.fields[0].value`
}

Send Report

  • Set SENDGRID_API_KEY env variable
  • update config.json with the email sender (from) and receipients (to)
  • npm run send to generate ./out/index.html and have it emailed

Known issues

  • Only works on Mac OS (download dir is hardcoded, not tested on other platforms)

Basic design

design

Donate

paypal

About

Download recent transactions from your financial institutions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 95.5%
  • CSS 4.3%
  • Shell 0.2%