Tuesday, August 1, 2017

Patch / Update Available


Last Updated: 8/27/2017

Recent changes at Vanguard prompted another round of minor patches to the scripts, which can be downloaded @ https://sites.google.com/site/pocketsense/home/msmoneyfixp1/p2


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 names.

I must say, however, that I don't see the benefit of using session management, when it's a one-pass post/response transaction.  My guess is that they implemented (or upgraded) a general purpose service api, which happens to manage persistent sessions, by default.

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 @ https://sites.google.com/site/pocketsense/home/msmoneyfixp1/p2.  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. 

<site>
    SiteName   : VANGUARD   #whatever name you use for the site
    AcctType   : INVSTMT    #investment
    fiorg      : Vanguard
    fid        : 1358
    url        : https://vesnc.vanguard.com/us/OfxDirectConnectServlet
    brokerid   : vanguard.com
    ofxVer     : 103
    appver     : 2300
</site>

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 http://finance.yahoo.com 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

Sunday, November 17, 2013

Support for non-US versions of Money Complete

(comments closed)

The release snapshot has been updated (14-Nov-2013), and is available for download.  This release includes bug fixes related to support for non-US versions of Money, plus a new sites.dat option named QuoteAccount.  

If you want to enable quotes for a non-US version, add the following option to your sites.dat file (as described in sites.template):
ForceQuotes: Yes
Enabling this option requires that you accept one additional download statement each time Getdata is run, regardless of your CombineOFX setting. The option should only be enabled for non-US versions of Money, and only if you're having problems downloading quotes.  Additionally, Money must be open before executing Getdata with ForceQuotes enabled. Be sure to follow the additional "accept statement into Money" prompt before pressing Enter to continue.

Support for stocks/funds that aren't explicitly supported by Yahoo's quote service has also been updated.  This feature is especially critical for non-US versions of Money, but as before, relies on "screen scraping", and is certain to require maintenance over time as Yahoo changes their html formatting. You must enable the following option in sites.dat to use this feature:
EnableYahooScrape: Yes
Enabling the "scrape" option does not affect quotes that are correctly provided by the standard Yahoo quote service, since the routine only gets called if the primary quote request fails to return a valid response.

A new sites.dat option, QuoteAccount, is intended for folks that need to grab quotes in multiple base currencies.  This appears to be a minor need, so I didn't fully integrate support into the core code itself.  Instead, I added the QuoteAccount option to sites.dat, which allows the user to specify a different account number to associate with the quote statement.  When Money imports a statement, it matches this number to a Money account.  Once the two are "married", Money will always associate that account pair.  If a user wants "multiple currency" support for quotes, they can now install multiple copies of the scripts into unique folders, and configure each separately.  Each copy can have it's own QuoteCurrency and QuoteAccount settings, and will require a unique, matching "dummy" account in Money (with matching currency setting).

- Robert