Wednesday, January 18, 2017

Issues / Problems

This post is just a place for issues / problems /discussion, should they arise.

Friday, July 31, 2015

Money Sunset w/ Windows 10 x64

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

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

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

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

Tuesday, September 3, 2013

Adding support for non-US versions of Money (10-Sep-2013)

I have recently been working with JM, of France, in an attempt to provide support for quotes in non-US (e.g., European) versions of Money.  It's a bit tedious to debug when I can't test changes locally, but it looks like we have something that works, so I'm putting it out for general use.  Many thanks to hle for pointing in the right direction.  The release snapshot has been updated (10-Sep-2013), and is available for download.  If you want to try enabling quotes for a European 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. At this time, 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.  If Money is closed, it may not update correctly, but it shouldn't hurt anything either.  Re-running Getdata with Money open will overwrite whatever happened the first time.  Be sure to follow the additional "accept statement into Money" prompt before pressing Enter to continue.

While focusing on quotes, I also went back and rewrote the Yahoo "screen scrape" code, in hopes of providing support for stocks/funds that aren't explicitly supported by Yahoo's quote service.  This feature is especially critical for non-US versions of Money, so it made since to look at it again.  As before, capturing html output and finding the pieces that we want is troublesome, and all but guaranteed to eventually fail (when Yahoo changes their output formatting... again). Nevertheless, the beta code works for the few foreign funds that I've tested, and will hopefully continue to do so.  As before, 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.

- Robert

Monday, January 14, 2013

New Money Scripts Available (Updated: 14-Jul-2013)

The Money scripts were updated in Aug/Sept of 2012, in response to various requests over the previous year.  The beta version has now been in use for a few months, and seems to be working fine, so it’s time to update the “release” version.  There were a few minor updates since the last beta was posted, so if you're using that one, you should probably grab this update.

Change Summary
  • Added support for OFX 103.  Site entries allow a new parameter named ofxVer, and can have a value of 102 or 103 (Default=102).  A ClientUID value is automatically created, as required by OFX  103, and saved to sites.dat for use during subsequent connections.
  • Added a new sites.dat option named PromptInterval (Default=No).  If defined as "Yes", the user is prompted for the download interval (days), rather than using the global "default" and "site minimum" values defined in sites.dat.
  • Added a new sites.dat option named CombineOFX (Default=No). If defined as "Yes", OFX statements are combined prior to sending to Money, resulting in a single “accept” for all statements inside Money.  It is highly recommended that this option not be enabled until *after* testing/verifying account settings one at a time.
  • Added a new sites.dat option named quietScrub (Default=No).  If defined as “Yes”, statement scrubber messages are suppressed during download.
  • Performed minor maintenance and bug fixes, as needed.
The latest version can be downloaded from PocketSense: Install & Setup.  Refer to the sites.template file for information on the new parameters, and how they're used in your sites.dat file.

Thanks to everyone for the suggestions and support!
- Robert