Wiki

Clone wiki

hleofxquotes / Build_20201206_287

Build_20201206_287

Changes

  • Add support to download OFX for Charles Schwab via proxyServer/port

Installation

  • Unzip to get folder hleOfxQuotes-gui-Build_20201206_287
    Archive:  hleOfxQuotes-gui-Build_20201206_287.zip
       creating: hleOfxQuotes-gui-Build_20201206_287/
      inflating: hleOfxQuotes-gui-Build_20201206_287/hleOfxQuotes-gui-Build_20201206_287-exec.jar 
    

To start

  • You will need to install Java
  • Double-click on file hleOfxQuotes-gui-Build_20201206_287-exec.jar to start OR from command line
    java -jar hleOfxQuotes-gui-Build_20201206_287-exec.jar
    
  • At the bottom of the window, select tab "Statements"

Screen Shot 2020-12-06 at 11.15.43 AM.png

To create a new Financial Institution

  • File -> New -> Financial Institution
  • Enter
    • 'Charles Schwab' (for brokerage)
    • 'Charles Schwab Bank' (for bank)
  • New entry will be added to the list with name "FI Sample", select that new row
  • The bottom screen (tab "Properties") should be updated and show a bunch of values looking like this
    # Name of the Financial Institution (FI)
    fi.name=FI Sample
    
    # A good resource to obtain OFX info for your FI http://www.ofxhome.com/
    
    # FI Id
    # Some FI has id. Others don't. When in doubt, keep this value empty
    fi.id=1234
    ...
    
  • For brokerage, replace the content of tab 'Properties' with the following text. Tips: in the Properties tab: control-A to select-all, then control-V to paste.
    # Name of the Financial Institution (FI)
    fi.name=Charles Schwab & Co., Inc.
    
    # A good resource to obtain OFX info for your FI http://www.ofxhome.com/
    
    # FI Id
    # Some FI has id. Others don't. When in doubt, keep this value empty
    fi.id=8888
    
    # FI Org
    fi.org=Intuit
    
    # FI Url
    # URL where to connect to download statement
    fi.url=https://ofx.schwab.com/cgi_dev/ofx_server
    
    # FI Broker Id
    # Some FI don't have Broker ID. When in doubt, keep this value empty
    fi.brokerId=
    
    # user/login name
    user.id=FIXME
    # password
    user.password=FIXME
    
    # app id: in most case, use QWIN
    appId=MDNC
    # app version for the above appId
    appVer=2020
    # clientUid, some FI such as Chase requires it
    # You can generate an UUID using https://www.uuidgenerator.net/
    #clientUid=
    
    # http properties
    # if true, will send a HEAD before POST.
    # Vanguard: set this value to true
    http.sendHeadRequest=false
    # proxy setting
    http.proxyHost=ofxp.infinitekind.com
    http.proxyPort=80
    
    # Request type. One of the following
    #   . investment (support v1, v2)
    #   . bank (support v1)
    #   . creditCard (support v2)
    requestType=investment
    #requestType=bank
    #requestType=creditCard
    
    # Send info posted after a given date. Same as OFX's DTSTART
    # Two formats:
    #  . -N: last N days
    #  . yearMonthDay (in GMT)
    startDate=-30
    #startDate=20110101
    
    # List of accounts that you have with this FI
    # Number of accounts
    accounts=1
    # Account ID #1
    account.1.id=FIXME
    
    # Another example. This FI has two accounts. Note the usage of 'account.N.key' as the key name.
    # Number of accounts
    #accounts=2
    # Account ID #1
    #account.1.bankId=123456
    #account.1.id=987654321
    #account.1.type=CHECKING
    #account.2.bankId=123456
    #account.2.id=987654321
    #account.2.type=SAVINGS
    
  • For bank, replace the content of tab 'Properties' with the following text. Tips: in the Properties tab: control-A to select-all, then control-V to paste.
    # Name of the Financial Institution (FI)
    fi.name=Charles Schwab Bank, N.A.
    
    # A good resource to obtain OFX info for your FI http://www.ofxhome.com/
    
    # FI Id
    # Some FI has id. Others don't. When in doubt, keep this value empty
    fi.id=8886
    
    # FI Org
    fi.org=Intuit
    
    # FI Url
    # URL where to connect to download statement
    fi.url=https://ofx.schwab.com/bankcgi_dev/ofx_server
    
    # FI Broker Id
    # Some FI don't have Broker ID. When in doubt, keep this value empty
    fi.brokerId=
    
    # user/login name
    user.id=FIXME
    # password
    user.password=FIXME
    
    # app id: in most case, use QWIN
    appId=MDNC
    # app version for the above appId
    appVer=2020
    # clientUid, some FI such as Chase requires it
    # You can generate an UUID using https://www.uuidgenerator.net/
    #clientUid=
    
    # http properties
    # if true, will send a HEAD before POST.
    # Vanguard: set this value to true
    http.sendHeadRequest=false
    # proxy setting
    http.proxyHost=ofxp.infinitekind.com
    http.proxyPort=80
    
    # ofx version
    # 1 or 2
    # 1: is a safe choice to start
    # 2: gives response that is a well-form XML file. Easier to parse.
    ofx.version=1
    #ofx.version=2
    
    # Request type. One of the following
    #   . investment (support v1, v2)
    #   . bank (support v1)
    #   . creditCard (support v2)
    #requestType=investment
    requestType=bank
    #requestType=creditCard
    
    # Send info posted after a given date. Same as OFX's DTSTART
    # Two formats:
    #  . -N: last N days
    #  . yearMonthDay (in GMT)
    startDate=-30
    #startDate=20110101
    
    # List of accounts that you have with this FI
    # Number of accounts
    accounts=1
    # Account ID #1
    account.1.id=FIXME
    account.1.bankId=FIXME
    account.1.type=CHECKING
    
    # Another example. This FI has two accounts. Note the usage of 'account.N.key' as the key name.
    # Number of accounts
    #accounts=2
    # Account ID #1
    #account.1.bankId=123456
    #account.1.id=987654321
    #account.1.type=CHECKING
    #account.2.bankId=123456
    #account.2.id=987654321
    #account.2.type=SAVINGS
    
  • Make sure to change all values FIXME with those appropriate for your setup such as
    # user/login name
    user.id=FIXME
    # password
    user.password=FIXME
    ...
    # Account ID #1
    account.1.id=FIXME
    
  • Tips
    • Account ID should have NO dash
    • Bank ID is the Charles Schwab routing number which is 121202211
  • To save your change, right-click for popup-menu, and select "Save" (or control-s to save)
  • To download OFX, click on "Download"
  • If success, you will see a response in tab "OFX Response".
  • To import into msmoney, click on "Import"

Download/Import vs Download All/Import All

  • Download will download ONLY the select row.
  • Import will import ONLY the select row.
  • The *All version will download/import ALL rows.

Files

Configuration files are stored under

  • your home directory name "fi".
  • or in Windows's the Documents/ directory

You can change that using command line

java -Dfi.dir=/path/to/another/fi/directory -jar hleOfxQuotes-gui-Build_20201206_287-exec.jar  

About https proxy/tunneling

The connection is still https which is encrypted as before (via SSL). Note the URL is still the same "https://ofx.schwab.com/..." with 'https' which will do encrypted traffic (SSL). The proxy/tunnel server will only see the encrypted SSL traffic. No change to security level.

A bit more detail here: https://www.geeksforgeeks.org/what-is-ssl-tunneling/

Note the section "Features of SSL Tunneling" ...

  • The security of SSL tunneling is on par with SSL without proxying. This means that using the proxy server does not change or reduce the security of SSL at all.
  • The proxy server in SSL tunneling cannot access the transaction between the client and the server as it is encrypted. This means that no eavesdropping is possible, either from the proxy server or from third parties.

...

Updated