Friday, November 10, 2017

New Version Available: Includes Yahoo Quotes

A new release is available that addresses two recent issues:

Last Updated: 01-Jan-2018

1. Yahoo has disabled their csv quote interface, and their web site has changed significantly, such that neither of the previous quote methods used in the scripts (for Yahoo) were valid.   A new Yahoo Finance quote interface has been added, using their json data service.  Time will tell how it fares, and I may add a backup "site parser", if warranted.  The csv interface was actually much more limited than their web site, but I haven't tested the json api to determine the breadth of market coverage.  

Google Finance is still available, and either Google or Yahoo quotes can be enabled (disabled) in sites.dat using the EnableYahooFinance and EnableGoogleFinance options.  If both are enabled, Yahoo will be tried first and, if it fails, Google will be tried.  There's no harm in having both enabled, except that quotes may be a little slower if you're using a symbol known only to Google Finance, since it will try Yahoo before going to Google.
Note:  The EnableYahooScrape option has been removed, and is no longer used.  It will be ignored if found in sites.dat.
2. A patch to the Discover scrub routine to address how Discover Bank encodes transaction FITID values.  They just can't seem to leave well enough alone :(

Update 06-Dec-2017:  Google Finance changed their site structure a bit, so the scripts were updated to correct the quote issue folks were seeing (I hope).

Update 01-Jan-2018:  Discover Bank reverted their FITID formatting to the previous pattern, so the scripts were updated to match.

- Robert

Tuesday, August 1, 2017

Patch / Update Available

(comments closed)

Last Updated: 8/27/2017

Recent changes at Vanguard prompted another round of minor patches to the scripts, which can be downloaded @

Detail: Vanguard is now using session tokens (cookies).  There were a number of ways to handle it, but I chose to allow the first connection attempt to fail, and return the server-response cookie on the next attempt, thus using the same tokens as the server.  We could instead send a client token on the first pass, and skip the double-connect, but that requires an assumption re: expected server tokens.  The hope is that the chosen method will support changes at other banks, should they choose to use session keys, regardless of token schema.

Friday, March 24, 2017

New version released

(comments closed)

Updated:  10-Apr-2017 

Spurred by recent OFX server changes at Discover (and apparently others), the script package has been updated, and is posted for download @  Thanks to everyone for feedback and help!  I think we're in good shape for a while, but it would be really nice if the bank developers would abide by the OFX standard ;)

Summary of Changes

  • Updated url requests to work with recent changes at Discover and others.
  • Added support for OFX 2.x (tested with ofxVer=211 @ Discover, but they support 102 and 103 too).
  • Added support for user-specific clientUID pairs (by site url + username).
  • Added skipZeroTransactions option to sites.dat configuration.  If Yes, remove $0.00 transactions from downloaded statements.
  • Minor code updates and bug patches.

Wednesday, January 18, 2017

Issues / Problems

(comments closed)

This post holds issues / problems /discussion from Feb to mid July 2017.

Friday, July 31, 2015

Money Sunset w/ Windows 10 x64

(comments closed)

I decided to be an early adopter of Windows 10 on our home PC, partly so that I could test Money and the PocketSense scripts.  I'm using the 64 bit version, so it may be different for Win32.

Error 1:  Explorer 6 Missing
It was a bummer to have an error pop up when I first started Money after the upgrade, saying something about needing Explorer 6.  A quick search led me to an easy fix, but buried in a forum, so I thought I'd post it here.  I'm sure others will have the same issue, unless Microsoft fixes it.

Change the following setting using REGEDIT as:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer]
Version = 9.11.10240.0  (originaly: 9.11.10240.16384)

If you're not familiar with regedit.exe, just search for it using Windows 10 search box, and then right-click and choose "run as administrator".  Find the above key in the settings tree, and change the Version value.

The change fixes the "need Explorer 6" issue.  I then tested the PocketSense script, and it worked correctly.  No update or change required for the Python 2.7 install, which is nice.

Error 2: Money Deluxe has stopped
Once Money is running, it may crash with the dreaded "Money has stopped" message.  This issue had been fixed by Microsoft w/ Windows 8, but they seemed to have missed it with 10 thus far.  The fix (for now?) is to update the mnyob99.dll file, which was (elegantly) reverse-engineered by Raymond Chen (discussed here, and summarized by Dan).  In short, you need to replace this file.  You can download a patched version here, and copy to your C:\Program Files (x86)\Microsoft Money Plus\MNYCoreFiles folder.  I'm using it myself with Money Plus Sunset, with no worries.

Tuesday, September 23, 2014

Vanguard Direct Connect Upgrade: Sept 2014

(comments closed)

Some users, including myself, have had problems connecting to Vanguard since they recently upgraded their OFX server.  The following settings have been confirmed to work with the new system.  Vanguard OFX is case sensitive, so be sure to match fiorg, url, and brokerid exactly.  The ofxVer and appVer values are optional, since the defaults still work, but I included them to show that Vanguard supports more recent versions. 

    SiteName   : VANGUARD   #whatever name you use for the site
    AcctType   : INVSTMT    #investment
    fiorg      : Vanguard
    fid        : 1358
    url        :
    brokerid   :
    ofxVer     : 103
    appver     : 2300

Monday, January 20, 2014

Support for Google Finance Added

(comments closed)

New Version Available (Download)  Last Update: 06-Sep-2014

Recent feedback has indicated that Yahoo Finance isn't providing updated quotes for many non-US funds.  I've also been noticing that Yahoo sometimes "times out" when requesting quotes from their csv interface.  I'm not sure what's happening with either, but I decided to look into adding support for an additional quote source, as a backup.

My first stop was Google Finance, and I was very happy with what I found.  Without digging in too much, I'll just say that Google embeds quote parameters into their html web interface in such a way that's easy to grab.  More specifically, Google provides "meta data" packets, allowing for (reasonably) reliable parsing, regardless of screen formatting for browser users.

A new version is now available for download, and has support for both Yahoo and Google finance sites.  Yahoo takes precedence, and is always checked first, unless it has been disabled.  If a quote isn't found on Yahoo, then a lookup is performed on Google.   You can enable (disable) either quote source in sites.dat.

The settings related to Quotes have been updated in sites.template, and are summarized below:

Setting Default Description
EnableYahooFinanceYes Enable quote lookup on Yahoo Finance
YahooURL Alternate site for quotes
QuoteCurrencyUSDCurrency for quotes
EnableYahooScrape Yes Try a screen scrape if the primary Yahoo interface fails
EnableGoogleFinanceYesEnable quote lookup on Google Finance
YahooTimeZone -5:EST Timezone rule for the Yahoo quote server
ShowQuoteHTM No Always show quotes.htm from Getdata
AskQuoteHTM Yes Ask to show quotes.htm from Getdata (overrides ShowQuoteHTM)
ForceQuotes No Force Money to record a transaction when importing quotes*
QuoteAccount 0123456789USD Custom account number for Quotes
* ForceQuotes option should only be used with non-US versions of Money.

These settings should work for most users.  If you are trying to grab quotes for non-US funds, and Yahoo isn't providing accurate data, then head over to Google Finance and see if you can find a match on their site.  I'm going to bet that you can, and that their data is up to date.

An example that I've tested is F0CAN05LUD.TO on Yahoo Finance. The  Google Finance symbol for this fund is MUTF_CA:RBF460.  Of the two, only Google Finance is currently providing an updated, correct quote result.  To use the Google version, the user would put the MUTF_CA:RBF460 symbol in the quotes section of their sites.dat file, but *not* the Yahoo symbol.  The Google symbol will not be found on Yahoo, so a check will automatically be performed on Google, and should return the correct value set.  If you need to match an existing stock/fund symbol in Money (rather than the one provided by Google), use the s: option for the quote.

Many ticker symbols are unique to Yahoo and Google, and the two don't use the same symbols for indexes or foreign stocks/funds.  For example, the symbol for the DOW is INDEXDJX:.DJI on Google, but is ^DJI on Yahoo.  Long time users of the scripts know that Yahoo's quote service is unreliable for the DOW symbol, so if you're interested in that one, I'd suggest using the Google symbol instead. 

- Robert