This is part 5 in my series for replacing Microsoft Money. I gave my requirements in part 1. Then I looked at Quicken, GnuCash, and Moneydance.
I still haven’t found a perfect replacement for Microsoft Money. Money isn’t perfect either, but it’s working. Well, sort of. I already know the bugs and limitations and I know how to work around them.
Having suffered from being at the mercy of one software vendor, I really don’t look forward to jumping into the arms of another vendor with the same policy of automatically disabling features. Meanwhile, the contenders GnuCash and Moneydance still don’t match all the functionalities I’d like to have.
If only the downloading features won’t work in Money, why junk the whole thing? Why not just fix the downloads?
Having seen how GnuCash and Moneydance can download transactions directly from the financial institutions, I wondered if there is a way to use an alternative application for downloading. I can then import the downloaded files into Microsoft Money. If it’s only a one-time setup and a few more mouse clicks, I can live with that.
With the help of Google and GnuCash Wiki, I found two great Python scripts (ofx.py and ofx-ba.py). With some trial and error, I figured out how to use them on Windows.
[The rest of this post contains detailed technical instructions. I provide enough details to make it work even if you are not that technical. Skip if you are not interested.]
1. Download and install Python. I used the latest ActivePython 2.x for Windows. I think the 2.x version from python.org will work too.
2. Download the Python scripts: ofx-ba-tfb.py. Just save them in a folder. Open it in a text editor. You will see something like this:
sites = { "amex": { "caps": [ "SIGNON", "CCSTMT" ], "fid": "3101", "fiorg": "AMEX", "url": "https://www99.americanexpress.com/myca/ofxdl/us/download?request_type=nl_desktopdownload", },
These are the address and IDs used in downloading from the sample financial institutions. You will need the address and IDs for the financial institutions you use.
3. Look for OFX settings. The settings for some financial institutions are listed in OFX Direct Connect Bank Settings on GnuCash Wiki. There is another searchable list at a web site OFX Home. If the companies you use are not listed there, you will have to find them yourself in some other way.
Find and gather all the values for each of your financial institutions.
4. Update Python script. Open the Python script again in a text editor. Replace the sample settings in the scripts with the settings for the companies you use. Give each entry a short name. Fill in fiorg, fid, and url. Add or remove more entries in the “sites” area if necessary.
For credit cards, make them look like amex in the script with a CCSTMT. For brokerage accounts, make them look like fidelity in the script with a INVSTMT. Add bank settings to the script. You will also need the routing number for your bank.
5. Run Python scripts. Open a command prompt (Start -> Run … -> cmd). For credit cards and brokerage accounts, type
python ofx-ba-tfb.py [name of the site] [your online login] [your account number]
For bank accounts:
python ofx-ba.py [name of the site] [your online login] [your account number] [CHECKING or SAVINGS]
When you are prompted for the password, type your online password and press Enter.
The script will download a [site][yyyymmdd].ofx file. Open Microsoft Money. Double click on the downloaded .ofx file. The Microsoft Money Import Handler mnyimprt.exe will take it from there.
So far, this is still not much different from going to each financial institution’s web site and downloading the transactions manually. With more modifications, I made the script:
- take the password as a parameter instead of prompting the user for the password
- trigger the Microsoft Money Import Handler automatically after each download
You can download my automated script. To use the automated script, insert your online password between your login and your account number. For credit card or brokerage account:
python ofx-ba-tfb-auto.py [name of the site] [your online login] [your online password] [your account number]
For bank account:
python ofx-ba-tfb-auto.py [name of the site] [your online login] [your online password] [your account number] [CHECKING or SAVINGS]
To download one account after another, a batch file calls the automated script for each account. Because you have to put your logins, passwords, and account numbers into the batch file, I suggest you put the scripts and the batch file on a portable USB drive. Plug the USB drive into your computer only when you import. Unplug when you are done.
I placed a shortcut to the batch file on my desktop. Now I have my own one-step update. In a round-about way, after looking at the alternatives, I realize I don’t have to replace Microsoft Money after all.
The files generated by these scripts only work with Microsoft Money. Attempting to import the same file into an older version of Quicken gave me this error:
These transaction download scripts only update the prices of securities held at the institutions that provide direct OFX downloads. If you have stocks or mutual funds at institutions that don’t offer OFX transaction downloads, you need a different script for updating the prices. See follow-up post Download Price Quotes to Microsoft Money After Microsoft Pulls the Plug.
Once again, the downloads are:
- ActivePython 2.x or Python 2.x
- my modified script for downloading interactively. Test your settings with this one first.
- my automated script and batch file.
- my script for downloading price quotes.
Special thanks to:
- GnuCash community for the inspiration
- OFX Direct Connect Bank Settings on GnuCash Wiki
- Costin Manolache for the fix for Vanguard
- Google, for helping me find the resources above
Say No To Management Fees
If you are paying an advisor a percentage of your assets, you are paying 5-10x too much. Learn how to find an independent advisor, pay for advice, and only the advice.
Mark says
I also found what the January 30, 2010 posts show. For scottrade the fidata ORG and broker ID have to be different. The c230 reply didn’t quite seem to address that fact. fiorg has to be “Scottrade” while the broker ID that is sent needs to be “www.scottrade.com”. Trying the same value for both (tried “Scottrade”, “scottsave.com”, “scottrade”, “www.scottrade.com”) would either give a 2000 error (The server does not support the INVSTMTMSGSRQV1 request) or a 2003 error (account not found).
hleofxquotes says
Re Vanguard – comment #200 from ‘ameridan’, I can confirm that those OFX settings are working for me.
One of the reasons (there might be others), that you want a fairly large-range mininterval value is that you need to make sure that there is at least ONE transaction occurred during the download period. Otherwise, Vanguard will generate a OFX response that MM will choke one and cause subsequent MM starts to fail. I believe (not 100%) that the root cause is that MM was expecting a <:SECLIST> tag but it did not see one.
Vanguard seems to behave better when talking in OFX v2. Same scenario, the OFX v2 response does not appear to crash MM.
hleofxquotes says
Re: Peter
Regarding ‘options’:
There is support for “options” (symbols as defined by Yahoo) in the current build of hleofxquotes if you like to give it a try.
https://code.google.com/p/hle-ofx-quotes/
Mark says
Here is my fix for Scottrade. It allows and optional “brokerid” tag in the sites table.
Change this line in ofx-ba-tfb.py (probably similar change to the other scripts):
query = client.invstQuery(sites[argv[1]][“fiorg”], sys.argv[3], dtstart)
to this:
brokerid = sites[argv[1]][“fiorg”];
if sites[argv[1]].has_key(“brokerid”):
brokerid = sites[argv[1]][“brokerid”];
query = client.invstQuery(brokerid, sys.argv[3], dtstart)
So now Scottrade works for me with:
“scottrade”: {
“caps”: [ “SIGNON”, “INVSTMT” ],
“fiorg”: “Scottrade”,
“brokerid”: “www.scottrade.com”,
“url”: “https://ofxstl.scottsave.com”,
},
Mark says
Note that in my previous comment, you need to indent this line:
brokerid = sites[argv[1]][“brokerid”];
(the indent seems to have been stripped with the comment submission).
joel brandt says
Although iy appears that Money is still downloading prices every day (unexpected), I’ve notived that the “new” Microsoft Money site no longer containsn a feature allowing me to compare funds (AKA Wizzard). Has anyone fiqured it out? I found that i can do a limited comarison of fundfs via the Vanguard and Fidelity sites.
NC says
TFB – thanks a bunch for posting the script and how-to. It certainly saved me the from doing the work! 🙂 Since you’ve been helping so many people, maybe you want to post what I found:
Capital One online savings accounts allow OFX downloads. However, although named “savings” account, it’s actually a money market account. And OFX requires it be treated as such. The good news? After first editing your script to make it work (I found out that your version actually works correctly out of the box. (Nice work), For anyone having a money market account, just add your Capital one account using the “caps”: [ “SIGNON”, “BASTMT” ], “ setting as such:
“Cap1MM”: {
“caps”: [ “SIGNON”, “BASTMT” ],
“fid”: “1001”, # Money Market Statement
“fiorg”: “Hibernia”,
“url”: “https://onlinebanking.capitalone.com/ofx/process.ofx”,
“bankid”: “051405515”, # bank routing #
},
But when you call the script, use “MONEYMRKT” instead of “SAVINGS” or “CHECKING” when you call the script.
Thanks again!
NC
Jeff says
As of yesterday evening, after spending the last 2 days cleaning up my 2010 money records, I can not access money at all. The windows live ID is blocking my enterance claiming that my email or password is wrong, but I can still access other MSN accounts with the same live ID. It will not let me sign-in to money direct either. Any ideas how I can get on and recover my data?
Thx,
Jeff
ameridan says
See if the pale yellow note on my Blog at http://microsoftmoneyoffline.wordpress.com/ helps you out.
greg schwendinger says
the scripts hosted on jongsma.org seem to have been removed??
Harry Sit says
@greg schwendinger – Yes, it looks like it. Since you will have to modify them anyway, just download the ones I’m hosting. I will edit the post to replace the dead links.
greg schwendinger says
If anyone has a current working example for a citibank or ING checking or savings account I’d like to see it. I am trying TFB’s basic non-auto script but I get an error back. my command line is ‘ofx-ba-tfb.py citibank/ing CHECKING/SAVINGS’, and here are my python records (and below is the error output received)
“citibank”: {
“caps”: [ “SIGNON”, “BASTMT” ],
“fid”: “2101”,
“fiorg”: “ISC”,
“url”: “https://secureofx2.bankhost.com/citi/cgi-forte/ofx_rt?servicename=ofx_rt&pagename=ofx”,
“bankid”: “271070801”, # bank routing #
},
“ing”: {
“caps”: [ “SIGNON”, “BASTMT” ],
“fid”: “35489”,
“fiorg”: “ING DIRECT”,
“url”: “https://ofx.ingdirect.com/OFX/ofx.html”,
“bankid”: “031176110”, # bank routing #
},
.ofx output from ING: (citibank actually give 0 bytes back)
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:cf66297e3cf64d78bc9f049b5d743eac
15500ERROR20110408041146.945ENG20110408041146.945ING DIRECT35489
John says
First, thanks TFB for all your great work.
The following is for USAA members.
I had lots of trouble setting up my USAA accounts in Setup.py. Here’s what worked for me.
“Account password” for USAA is the four number pin used to sign into the USAA website.
“User name” for me was my USAA number with two leading zeros. My USAA number is 6 numbers long, so an example would be “00123456”.
“Account #” for my USAA bank accounts needed three leading zeros, for a total of ten numbers. Example “0001234567”
“Account #” for my USAA credit card was the 16 number credit card number.
“Account #” for my USAA investment accounts was the hardest to find. It is an account number that is not on any of my USAA statements. I got it by logging into the USAA website and finding “Web Connect”. On that page, there is the option to download Quicken or Money files. Download either of these, and open the file with a text editor. Find the account numbers for your USAA investment accounts following the term “” in that file.
Thanks also to everyone who has contributed here.
John
John says
My above comment didn’t paste well. Here is the second last sentence, again.
Find the account numbers for your USAA investment accounts following the term “ACCTID” in that file.
John
Francesco says
Was anybody successful in downloading OFX from Thinkorswim (via Penson resources) ? With ofx-ba-tfb.py I keep getting the error “Server error occured. Received HttpStatusCode of 400”.
Nicole Morris says
I’m hoping for some advice. I’ve been a loyal MS Money 2003 user. My home PC just died, I have all of my backup information, but no longer have the SW. I primarily use this software for check reconcilation and bill scheduling. Any thoughts on where I should move to next? I’d like to be able to import my MS Money historical data. I’m also interested in the possibility of using an app so I can access on my ipad.
Thank you!!
Harry Sit says
@Nicole Morris – Download the Money Plus Sunset Deluxe from Microsoft. It’ll read your Money 2003 file.
Ryan P. says
Thanks a lot, TFB–this is an excellent page.
@Francesco–any luck? I am getting a similar error: “urllib2.HTTPError: HTTP Error 400: Bad Request” when I try to connect to USAA for a checking account (and I’ve followed all the USAA suggestions given above). Thanks for any input/suggestions.
Also, anybody know of an active Money forum for those of us trying to keep it alive?
lull says
For the past two days MS Money does not give the total change in value for individual mutual funds, but it does for my individual stocks
TomB says
Yes, it seems that mutual fund prices are not updating since 10-Jun-2011. I’m using Money 2004. The updated prices are being imported into Money, but they’re not making it into the price history.
Jason says
I just opened 2 Bank of America accounts. I am using the following command (with LoginName, Password & Acct# replaced with my real info).
python ofx-ba-tfb-auto.py BOA LoginName Password Acct# CHECKING
My py file looks like this (with the routing # being my real routing # not just 0’s)
“BOA”: {
“caps”: [ “SIGNON”, “BASTMT” ],
“fid”: “6812”,
“fiorg”: “HAN”,
“url”: “https://ofx.bankofamerica.com/cgi-forte/fortecgi?servicename=ofx_2-3&pagename=ofx”,
“bankid”: “000000000” #bank routing #
}
The ofx file that gets download has this error message in it: “The product which you are using is not enabled. Please call customer service at 1.800.933.6262 for assistance.”. Before I call I wanted to check to see if you guys can see something that I’m doing wrong.
Harry Sit says
@TomB – Although the Change column doesn’t show the changes from the previous day, the prices are updated and they are getting into the price history.
@Jason – Last I heard Bank of America charges $9.95/month for getting data into Quicken directly, which this script is emulating. It’s probably better to just log in to their web site and download from there.
Jason says
@TFB – Thanks for the BOA info. I dug deeper and found where they offer that for a fee. I’ll be skipping that for now and will use one of the online download options. They don’t offer a Money format download, but the Quicken format seemed to work, other than it didn’t update the ‘Bank Balance’ field.
@Hung Le (and any other ING users) – I haven’t heard back from ING as to whether they’re going to correct this issue or not. Have you found a workaround?
TomB says
@TFB – Not for me…as lull also reports, since 10-Jun, whether I use the ‘Update Online Quotes’ poke point or run your python program, only the stock prices update, not the fund prices.
TomB
Harry Sit says
@TomB – I’m only using the python script. See my screenshots. Note I have one stock and two mutual funds in the test account. The quotes.py script updates all prices, market values, and the Gain column. I removed the Change column because it always says unch. Do you have matching mutual fund tickers in the right place in quotes.py? Are your mutual funds set up as mutual funds under Investment Details in Money?
TomB says
@TFB – Mutual funds are defined as mutual funds, not sure what you mean by ‘matching mutual fund tickers…’. I replaced the given ticker symbols w/the specific symbols I’m interested in. When I run your script, the result is a ‘quotes.ofx’ file with current pricing content. Also Money imports the file and brings me to a page labelled ‘Statements to read’. If I pick the proper statement, I get a list of the securities specified in the script with current prices but zero quantities.
However, the price history(for the mutual funds) doesn’t reflect the latest price. The last ‘online’ price remains 10-Jun-2011. The only way I can get a current price into the price history is to manual enter it via the ‘update prices’ dialog.
I’m using Money 2004; do you think this is specific to that version? Can I get one of the later ‘sunset’ versions?
TomB
Harry Sit says
@TomB – Matching just means the tickers you have in Money are the same as the tickers in the script. First try to change the quantity in the script from 0 to 1 and see it helps. Find this line (line 130 in my sample):
_field(“UNITS”, “0”),
Change the 0 to 1. If that still doesn’t do it, you can get the Money sunset edition from Microsoft. You should keep a copy of the sunset edition anyway in case you have problem with reinstalling and activating your Money 2004 when you switch to a different machine in the future.
TomB says
@TFB – Thanks for trying. Changing 0 to 1 did not seem to change anything. I’m abandoning Money 2004 in favor of the sunset edition. The script seems to work there, although I do wonder why it only works once/day which I believe you mentioned somewhere.
Anyway it worked yesterday and I’ll run it again today after closing. BTW the import process forced me to direct the import to a specific Money acct. I created a dummy acct w/o any investments for this purpose.
Regards…
TomB says
@TFB – This is another problem entirely. I own shares of some stocks bearing 5 char ticker symbols ending in ‘Y’. These cause your script to croak; I suspect the ‘Y’ results in a different response than the program is expecting. Try “RHHBY” to see what I mean.
Harry Sit says
@TomB – You have to use the tickers as Yahoo has them. RHHBY is RHHBY.PK in Yahoo.
Grandpa says
Hi
First up thanks for this site and work you have done – I’ve managed to get loads of stuff done based on the info here.
Now my question – My investment company provides the transactions as a csv file and I can process the buy and sell into OFX however I can’t get the Dividends to work in OFX.
Below is a sample of the OFX I tried to get money (sunset version) to open but it fails with “invalid format”
From the OFX document I think it’s correct ie the . If I comment out the whole block money does not complain so it’s somehting to do with that I think..
Anyway any help would be really appreciated
Many Thanks
————->
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE
0
INFO
20050831165324.000[-8:PST]
ENG
0
0
INFO
20050831165324.000[-8:PST]
CAD
Broker Site
1256734
20050801
20050831
40025098199608029240
20050802101010
MONEY MARKET FUND
CEM662
CASH
DIV
666
CEM662
ACUITY
MONEY MARKET FUND
SWMXX
OPENEND
ameridan says
See if this helps you out…
First of all, using your editor you have to replace < with another character like { and > with } to get everything to display properly.
Second, your year is 2005?, unless this was just an intentional sample.
Here is a working file that actually lets Money compute the dividend based on the balance already in Money (the difference).
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:7dbc4a48bfab486aa2caa6979524949a
{OFX}
{SIGNONMSGSRSV1}
{SONRS}
{STATUS}
{CODE}0
{SEVERITY}INFO
{MESSAGE}SUCCESS
{/STATUS}
{DTSERVER}20101224095011.296[-6:CST]
{LANGUAGE}ENG
{FI}
{ORG}valic.com
{FID}77019
{/FI}
{/SONRS}
{/SIGNONMSGSRSV1}
{INVSTMTMSGSRSV1}
{INVSTMTTRNRS}
{TRNUID}xxxxxxxxxxxxxxxxx
{STATUS}
{CODE}0
{SEVERITY}INFO
{MESSAGE}SUCCESS
{/STATUS}
{CLTCOOKIE}4
{INVSTMTRS}
{DTASOF}20101223170000[-6:CST]
{CURDEF}USD
{INVACCTFROM}
{BROKERID}valic.com
{ACCTID}xxxxxxxxx
{/INVACCTFROM}
{INVPOSLIST}
{POSOTHER}
{INVPOS}
{SECID}
{UNIQUEID}FB001
{UNIQUEIDTYPE}NON-CUSIP
{/SECID}
{HELDINACCT}CASH
{POSTYPE}LONG
{UNITS}200.41
{UNITPRICE}1
{MKTVAL}200.41
{DTPRICEASOF}20101223120000
{/INVPOS}
{/POSOTHER}
{/INVPOSLIST}
{/INVSTMTRS}
{/INVSTMTTRNRS}
{/INVSTMTMSGSRSV1}
{SECLISTMSGSRSV1}
{SECLIST}
{OTHERINFO}
{SECINFO}
{SECID}
{UNIQUEID}FB001
{UNIQUEIDTYPE}NON-CUSIP
{/SECID}
{SECNAME}Fixed Account Plus FB001
{/SECINFO}
{/OTHERINFO}
{/SECLIST}
{/SECLISTMSGSRSV1}
{/OFX}
Grandpa says
Thanks ameridan
Something went wrong with the formatting on the post it removed a all the tags…I found out that I had the DTPRICEASOF in the wrong place. Once I fix that it worked fine.
I now have Dividends, Sell, Buy and update of prices all working. The one things I can’t get to work is the {REINVEST} – Money imports it ok but it does not create any transaction in the money register for that security. It does not even say that there any transactions to processes. Very odd as everything else works
Vijay says
First of all, thanks a millon for this website and the scripts. I have been looking for these ever since MS pulled the plug on me … I have been able to use these scripts to import my credit card statements without a hitch, but for investment accounts, this doesn’t seem to work. MS Money only manages to tell me how the positions have changed with respect to my local file, but does not import the buy/sell transactions that are apparently included in the downloaded OFX file.
In the past, I used to do this by downloading investment data into a QIF file and then importing them into Money by using “Recover Accounts…” instead of “Downloaded Statement …”. But, unfortunately, “Recover Accounts …” only seems to work with QIF files. So, I am not sure if I am missing something here. Since people here have been successfully using this method to import investment transactions, can someone please point me as to what I am doing wrong? I am sure I am missing something pretty basic … I am using MS Money Plus Deluxe with Fidelity Netbenefits. Thanks !
ameridan says
Vijay,
Here are the settings that work with PocketSense for Fidelity NetBenefits, so either translate them to TFB’s settings, or try out PocketSense. see my blog for more…
http://microsoftmoneyoffline.wordpress.com/2010/10/06/cal-learners-review-fidelity-401k-citi-card-and-vanguard-account-info/
Mark says
I have the same problem with Fidelity Netbenefits. I have a few other accounts, and I have had great luck with them, but I have yet to get Fidelity Netbenefits to work, I’ve been putting those transactions in manually. Like you, for me it just tells me the new positions. Ironically, I have normal Fidelity brokerage accounts as well, and those work fine. It’s just the 401k through Netbenefits that I cannot get working yet. The downloaded file looks like it might have the transactions in it, money is just not processing them.
G says
Anyone done the conversion from using this with Wachovia to Wells Fargo? They just converted NC last weekend and it’s been a while since I put all these together, so trying to shake the fog out on what settings I need to update. Thx
G says
My first attempt just updating the settings in the ofx-ba-auto file produced this error:
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:17b86c99197a4c0b826263bbd95e05d8
15500
ERROR
20111025011640
ENG
19700101000000
19700101000000
Wells Fargo
3001
5583b6cdf53f4e88aacf2071873966d7
15500
ERROR
4
Does the signon detail change in the bat file when I shift banks? i was able to use my old username and password after they did the wells conversion, so didn’t update any of that.
Vijay says
In ofx-ba-tfb-auto.py, shouldn’t the following line:
_field(“BANKID”,sites [argv[1]] [“bankid”]),
really be:
_field(“BANKID”, config[“bankid”]),
?
I am not sure why are referring to argv[] from within OFXClient. This is not a problem as it is, but will sneak up on you if ever decide to change the argument list order or contents (which was exactly what I was trying to do). Thanks.
RDT2 says
FYI, these couple modifications will change the script to use OFX 2.00 which is XML compliant. This has been tested successfully on vanguard and Fidelity Netbenefits. I tried to do version 2.11, however Vanguard does not seem to support it, so version 2.00 it is.
Change the header to:
def _header(self):
return join(“\r\n”,[ “<?xml version=\”1.0\” encoding=\”utf-8\” standalone=\”no\”?>”,
“<?OFX OFXHEADER=\”200\” VERSION=\”200\” SECURITY=\”NONE\” OLDFILEUID=\”NONE\” NEWFILEUID=\””+_genuuid()+”\”?>”,
“”])
And change the field tags to:
def _field(tag,value):
return “<“+tag+”>”+value+”</”+tag+”>”
Greg says
RDT2, I’m trying the script with these new modifications and it works fine (on accounts that also worked before). One account I still can’t get working is Vanguard. You say you’ve tested it on Vanguard–what settings are you using (fiorg, url, etc)? thanks.
Rich S. says
Can anyone tell me if these downloaded OFX files will work with Quicken (like 2009) once Quicken downloads “expire” after three years? Do I need to convert them to QFX files with the OFX to QFX converter that I found online?
Pardon me if this has already been answered.
Harry Sit says
@Rich S – No it won’t work for Quicken. In the main article, toward the end, I showed the error Quicken 2006 displayed when I tried to import the file. At that time, the download feature in Quicken 2006 already expired.
Vlado Nenov says
@TFB – I have got the quotes loading in Quicken 2009.
I saved the .OFX file generated by hleOfxQuotes java script (I assume it should work with your script as well) as .QFX and then made two changes:
1) Added after ENG and before
INTU.BID 04297
This is for TD Mutual Funds (Canada), so you need to load OFX from the bank to get the BID.
2) Added
BROKERID td.com
Harry Sit says
@Vlado Nenov – Quicken 2009 won’t sunset until April 27, 2012. Wait until after that date and see if your changes still work.
Vlado Nenov says
@TFB I have disabled the wireless when I did the test, so Quicken could not connect to Internet.
I see that the date of the update is 02/18/2012 even that the markets are closed and the last update price for the mutual funds is 02/17/2012. So, I think it should work even after April 27, 2012.
BTW above 1) Should be after ENG and before SONRS tags place un-closed tag INTU.BID
This blog does not allow entering xml tags, but it is easy enough to find the place in the OFX file.
Worst case I will use a simple script to get the mutual fund prices from TD and save in .csv format following the .qhs Quicken quotes format and then import in Quicken Portfolio using Import Prices.
BTW, I have migrated my data to MS Money and like it so far. I’ve got the hleOfxQuotes java script working with currencies and the Canadian Mutual funds, and import the quotes in MS Money works. However, I am a bit concerned to use a software that is not going to be developed and in 2-3 years I may have to migrate again.
Quicken 2011 and 2012 cost over $100 and the reviews are really bad, so I am not going to upgrade Quicken for now, but the freeware choices are not good for my needs. I tested KMyMoney and jGnash and the Investment Reporting is not good enough (no cost basis, etc.). MS Money is on par with Quicken.
Still undecided what to do.
Tom76017 says
I am desiring to track the value of my home as an asset. Zillow is providing an estimate and supports API and/or web-services calls. Is it possible to update the current scripts to support generation of an OFX file that can be imported into Money?
Michael says
I’ve been trying to figure out how to automatically download OFX data directly into a form I can put it into a database. I tried GNUCash as a start, but kept getting 400 errors with no response in the log file, and then I came here. To my delight no errors occurred when I ran ofx.py. But – when I look at the output file I don’t seen any useful data, so I am wondering what to do next. There are several fields, including my CC number so I know *something* is working (since I didn’t pass that information to the server), and what looks like a couple UIDs. Do I need to issue another query to get actual transaction data?
ameridan says
This is answered somewhere in the OLD questions, but it seems to me that you aren’t going quite far enough in adding accounts. If you have multiple accounts at one location, you need to set up each one individually (using the setup python script) even though they use the same brokerage / bank. If you provide all of the logon credentials without an account number (you said you hadn’t provided the credit card #), you will get an OFX file listing your accounts, as I think you are describing. Sounds like you didn’t follow the instructions all the way through 🙂
Michael says
Finally got through the old comments and you are right, it was a simple fix, I didn’t realize I needed the account number argument. 🙂