Tuesday, November 8, 2022

At a crossroad

Comments for the last post had extended beyond ~200, so starting a new thread.  The theme de jour in recent discussion is that support for ofx is fading quick, and how it impacts the continued use of Money.  It's not an easy decision if, like me, you have decades of transactions in Money and generally find it to be easy, functional and super reliable.

Being a long time Discover user, I was recently pushed to "do something", which led to writing a csv-2-ofx converter while also doing a bit of custom scripting to migrate my entire Money history into Excel as a "plan B".  While both paths proved successful, I can say with certainty that tracking things in a spreadsheet doesn't match the double-entry accounting of Money and the built-in checks & balances it provides.  Not close, really.  The benefit it offers, though, is flexibility for viewing/analyzing the data to your hearts content (for those who like numbers and spreadsheets, that is).  There's also the obvious benefit of using supported software with a large user base, vs a very small (and ever shrinking) pool of ardent MS-Money users like ourselves ;)

That said... this is really just a new post for comments, should there be any.

-Robert

150 comments:

  1. We may ask you to share your converter someday. I'm thinking I'll use Money "forever", even if I have to enter everything manually, but at that point, it will probably be just for investments and bank account statements/transactions, but no longer recording individual credit card transactions.

    ReplyDelete
  2. @Robert - in the last thread you mentioned that Plaid only allows OAUTH for one institution in dev mode. Their web site indicates up to "100 items (Institution logins)" are these different?

    @Cal - I concur with your concern about third party aggregators of financial information. To be fair, I also remember when there was a lot of concern about Money (and evil Microsoft) having your credentials, even if kept locally. Having said that, regardless of the concern, it really seems like there is no other viable alternative other than just using a Bank's web site for manual downloads. There is an anti-trust/privacy/bank abuse case lurking in here that if I had more time I would write letters to Congress critters, SEC, etc. Seems like the kind of thing Elizabeth Warren would get spun up by. But even then it is unlikely that anything would come out of it, and if it did it would likely be years.

    ReplyDelete
    Replies
    1. Carlos: You read it the same as I... but the initial communication from Plaid incuded verbage that more clearly defined boundaries for "developer" access. Part of it is that OAUTH is limited to one bank (BoA iirc), and that a Production agreement would be required to do more. A production contract would include fees, but since I didn't progress to that point I don't know what they are. The contract makes sense, actually, since it forces a level of user authentication not possible without them doing some work on their end.

      Delete
  3. Another fyi... for folks that continue using Money going forward, I don't see hassle w/ using manual downloads to get either ofx or csv, and I suspect csv will always be offered. Most of "our" current transactions are via Discover and my local credit union (checking), neither of which provide direct/ofx. It takes less than a minute once a week to login to both and download the files. The workflow I'm using at the moment (testing) is to download files then run a worker script that a) converts csv files to ofx and puts them into the ps import folder, b) runs getdata to finish the job and zip everything into one import, and c) accept in Money. A nice (unexpected) result of using csv is there's no need for "scrubbing" or worrying about odd ofx parameters. The ofx structure is controlled by the converter.

    ReplyDelete
    Replies
    1. Hi Robert, whenever you perfect the new workflow, it would be much appreciated if you could upload your scripts. It would be cool to convert the current scripts to work with both direct OFX accounts and manual ones. So in each account you could specify whether it is direct or manual, and for manual you could also specify the format of the file CSV or QFX or OFX or whatever. And then the scripts just handle everything regardless of the source/format of the input data. That would be awesome.

      Delete
  4. I started using money on 6/16/1999 and there is zero chance I am using anything else. I've tried a few others programs and they all are far inferior. So far I have been able to manage the loss of OFX..
    When discover died I moved to amex as primary card
    When Chase died I just moved to Citi as backup card
    When Chase Amazon dies I moved to amex amazon as amazon card
    I use Fidelity, Etrade and Vanguard as brokerages all which work fine.
    Pocketsense also gets all my stock and fund prices.
    I have always had to enter manually the few transactions from my local bank - But most are just monthly autodrafts which are set up in the Money Bills section so basically zero work.

    In a few minutes a week I can see where all my money went, make sure everything will balance, see all account balances and run a net worth report that goes back 20+ years by month.

    I currently don't have any needs for csv.
    When I was moving from chase to Citi I had to manually log into their site and download the quicken file and import it into money for a few weeks. It worked but more than doubled my time to log and and do all that work when before it just came automatically. No thank you, I'm spoiled, Chase accounts closed now. Not like they care or even understand, but I certainly told them that's why I'm leaving.

    This board has been very helpful in finding places that still support OFX and while I won't use some of the other OFX commercial personal finance software I am rooting for them to keep things open and away from quicken. Until ever last one of them is gone I will keep buying Robert coffee for building these amazing scripts.

    ReplyDelete
    Replies
    1. I'm in the same boat as you. Have been using since 1992, and have found it the best way to track investments. I also have been using Robert's code since he made it available and very appreciative.
      I also plan on using MS Money until no longer viable.

      Delete
  5. I'm using a free tool called ImportQIF to do my CSV to QIF conversions for Chase, Discover, my credit union, and several investment accounts that never supported OFX. It lets you define the mapping for all your accounts and process the conversion with just a few clicks. Then you import it using the File->Import->Recover Account menu in Money. You have to be careful with the date range to avoid duplicates but it simplifies the process a lot. It works for bank accounts and investments. https://www.quicknperlwiz.com.

    PocketSense is so much nicer for the sites it still works on, but I can see the trend like everyone else. I've looked at the non-quicken alternatives and even after 12+ years Money is so much better I won't switch willingly.

    Thanks Robert for keeping this going!

    ReplyDelete
  6. I wonder if someone can build a SimpleFin - OFX conversion tool... So essentially an app that you can connect to the SimpleFin bridge (only costs $1.50/month here: https://beta-bridge.simplefin.org/), get all the transactions and output a merged ofx file that can then be imported into Money (or in my case, YNAB 4).

    ReplyDelete
  7. Since my primary credit card bank is BoA, I have been able to set up auto-downloads via Plaid.com's development environment (using their postman collection). It all comes down as .json files, so now I "just" need to create a converter....but at least it is a lifeline. I will investigate whether they will let me get to my Chase credit cards without having to pay... but this is a start at least. Robert, if you could share your csv to ofx converter that would be of tremendous help!

    ReplyDelete
  8. OK. Got Discover, so stuck. But it's not hard to handle CSV->OFX for credit cards -- there are really only two types of transactions. For examples I went to two other banks where I have credit cards, Citi and CapitalOne. They both allow downloads from their websites for CSV *and* OFX. Compare the contents -- easy peasy. Note that they use different parts of the OFX spec (one uses the other ) -- makes no real difference to Money.

    ReplyDelete
  9. The other thing I'm playing with involves going to the Dark Side. Create a mint.com account. Put in Discover Card. Magic. Transactions downloaded!

    Well the next thing is to install mintapi ( https://github.com/mintapi/mintapi ). I used the docker version. Then setup the Authenticator App -- see instructions in the README.md on github. Then do from your linux CLI:

    docker run -i --rm --shm-size=2g ghcr.io/mintapi/mintapi mintapi --headless --use-chromedriver-on-path --mfa-method soft-token --mfa-token --transactions

    and Voila!. You get a lot of JSON output. Just need to convert a small subset to OFX.

    I'll just put the "difficult" accounts in Mint. Probably will have the JSON consumer write a different .ofx for each account and move them all to pocketsense/import/.

    ReplyDelete
    Replies
    1. I have pepperfox installed, but I can't setup Mint to use TOTP to get a soft token. Any suggestions?

      Delete
    2. I figured this out! Thanks for the suggestion. I only have one account left that I can use without the pepperfox workaround. Now I'm having issues with FileThis. It's not fectching my pdf statements. If anyone has any suggestions - please feel free. I feel like we are going backward and not forward with technology in the personal finance sector.

      Delete
    3. Did you try these instructions:

      Set mfa_token as follows: go to your Mint settings, navigate through Intuit Account -> Sign In & Security -> Two-step verification. From there, enable either text or email as desired. After that, start the process to enable the Authenticator app option and when you get to the part where you see the QR code, copy the manual setup code that appears next to it. BE CAREFUL WHERE YOU STORE THIS, as anyone with it will be able to take over your Mint account. This is the token you pass to mfa_token in either the python api or from the command line.

      Note that if you already have TOTP enabled on your account, you will first have to disable and delete the old TOTP before setting up a new one.

      Delete
  10. Robert, I just want to thank you for keeping us all afloat for as long as you have. I've used Money since the early 90's. About 5 years ago I began using Quicken as well, but using your scripts, I've kept a Money file with just investments going all these years thanks to you. I'm just happier with the way Money calculated returns and the options it gives me for looking at my portfolio. Schwab and others have made this exceeding difficult, and I think I'm just going to keep the Money file going manually, but I've always been very grateful for your work and didn't want to walk away from this without offering a big, heartfelt, THANK YOU.
    --Steve B., Wisconsin

    ReplyDelete
    Replies
    1. Seconded. Much appreciated Robert.
      -Jon L., Seattle

      Delete
  11. Woo Hoo! Got my first .ofx from pepperfox for my Discover credit card. After some tinkering got it past the OFX Data Analyzer" and imported into Money. Even matched the couple of transactions I had input manually.

    ReplyDelete
  12. OK. Got something that seems to work for getting .ofx files for Discover and other credit card transactions. If @Robert or anyone feels like having some excitement you can get more info from https://pepperfox.biggianthead.org .

    ReplyDelete
  13. As others have already stated, THANK YOU! for all the work you've done to keep MS Money alive and usable over the years. Not being a programmer or Linux user I don't think I can implement the previous suggestions about using pepperfox. I took a look and it just seems to be above my capabilities. If someone has simplified things that'll work for a Win 11 system to bridge between Mint and Money please post it here. Robert, if you're willing to share your .csv to .ofx converter that, too, would be a great help. Thanks in advance and Happy Holidays to all.

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. It will work on Windows 11, with the usual Windows pain. You need to install "Docker Desktop" from the Docker site and "Ubuntu 22.04" from the Microsoft Store. You probably have to google to find out the tricks to getting those two parts running (I remember a couple of powershell commands you need to cut and paste). The Ubuntu from the Microsoft Store just runs -- you don't have to manage "partitions" or ".iso files" on your own.

      Delete
  14. I'm starting with the premise that OFX servers are dying or dead (all my bank accounts are gone, all my investment accounts remain, at least for now). Furthermore for this question I will presume that we all want to remain on Money or some similar "legacy" management software and retain a level of automated "one button" downloads.

    I have seen three viable alternatives suggested so far. All will require some flavor of annual/monthly fee, but I think that is unavoidable at this point if the goal is to have automated downloads. The three options suggested so far:
    - Plaid.com - May have some ability to do limited downloads for free. Well known aggregator.
    - Mint.com - It's own management software. Access via a screen scrapper utility. I am nervous of screen scrappers as they can easily break.
    - SimpleFin.org- Another aggregator. I don't know much about them, and it looks like nobody has gotten it working yet.

    I'm curious to hear people's thoughts on these.

    ReplyDelete
    Replies
    1. I've got the minty flavor working pretty well. If you get path the authentication part it isn't screen scraping, as their backend returns good .json files. FYI the derivation: (pepper --> mint; fox --> ofx). Does credit cards and will soon do savings and checking accounts.

      Feel free to look at https://pepperfox.biggianthead.org .

      Delete
    2. The Plaid.com route is working quite well, but if you need Chase, Wells Fargo, Capital One, or USAA you may be out of luck as they require OAuth authentication that is only available in their production environment, which means you would have to qualify as a bona fide developer (Robert mentioned this in another post I believe) and such downloads would also be charged by Plaid. However, for other banks (including BoA) you can gain access in the development environment, which is free. I just finished writing a .json to .ofx converter and now have checking and credit card accounts working and importing to Money just fine, including for accounts that never even supported downloading transactions in the first place, which is a nice bonus.

      Getting set up in plaid isn't too onerous, but still quite a bit more complex compared to the relative simplicity of Pocketsense.

      Delete
    3. I considered the Plaid route but went with pepperfox (which uses Mint) and have Chase, Capital One, as well as Discover working. OFX isn't difficult for banking stuff; it's more tricky for brokerages.

      Delete
  15. FYI I just released version 2.0 of pepperfox that supports checking and savings accounts as well as credit cards.

    This morning downloaded 14 ofx files in 2.5 minutes that I had to usually manually download from a bunch of different banks (including 3 from Discover that were previously, well, you know).

    ReplyDelete
  16. I thought I'd add a hint, in case it hasn't been discussed before (re current/dev version).

    You will only be able to process web portal ofx/qfx downloads saved to the "import" folder if you choose option 6 in the Setup script to enable quotes.- this will be especially helpful if you end up deleting all of your accounts in Pocketsense because they no longer offer ofx downloads, as Pocketsense will otherwise have nothing to process.

    ReplyDelete
  17. Asking here as this seems to be the most active site regarding MS Money. Is Ultrasoft Moneylink usable with 64 bit Office 365? I have made the appropriate changes in the `Declare` statements, but am getting a "Class not Registered" error when trying to run the add-in. I have tried re-registering dll's and repairing Office 365 to no avail.

    ReplyDelete
    Replies
    1. Ron, since this is Pocketsense-specific forum I think you might be much better off posting in the Microsoft Money Google Group for assistance: https://groups.google.com/g/microsoft-money (it is a fairly active community, and you'll see a lot of the same people there).

      That said, 32-bit plug-ins generally don't work with the 64-bit version of Excel (they need to be recompiled). You might just be better off running side-by-side versions of Office if there is no 64-bit version available. I have no experience with Moneylink, but I am doing the same with the classic XL2QIF plugin)

      Delete
    2. @djevel Thank you for that link. I looked for it first but couldn't find it. Hence my question here.

      Delete
  18. Cal, I've downloaded your Fidelity scrublet, now that I have a Fidelity account. I had to rename it to scrub_Fidel, since Pocketsense didn't like the full name, and I changed the CUSIP at the end to 31617H102 for SPAXX. Then I realized that you have all this built into your scrub_c15a scrublet, so I made the change there instead and got rid of scrub_Fidel. Perhaps the scrub(Fidelity) function in scrub_c15a is why there was a clash. Thank you!

    ReplyDelete
    Replies
    1. It's optional, and if you can get the timeOffset right, and if you don't download on sunday or Monday, or if you don't care if the dates on the recorded price history shows prices for Saturday and Sunday dates, its certainly very good. So the bulk of my Fidelity scrubbing is to try to get the dates right on the price history.

      I also take out the buy transactions for the core position so that the cash balance shows your cash position. It's a preference. That facilitates matching the running balance when you view the website Fidelity history for a single account.

      I also remove INCREASE COLLATERAL and DECREASE COLLATERAL transactions. Not everybody gets those, and if you don't, nothing to remove.

      I also pretty print the OFX file, and I don't worry if this gets done twice.

      Delete
  19. NxtTek, good deal. I first made the all-in-one, which evolved to scrub_cl5A.py. I thought the all-in-one might bother some, so I also made an a la carte version. But yes, you would not want both. scrub_cl5A.txt should have made that clearer. Feel free to make suggestions or to make your own clearer instructions.

    Anyway I hope it works well for you. Feel free to give feedback or complaint. It has been a while since I looked at the code, but I think I could figure out what is going on if you had a question.

    I normally have a batch file run Tuesday thru Saturday early in the morning. It is best to do the downloading in the morning until maybe midnight ET. The penalty is not severe-- if you download at 2am, the quotes may get the wrong dates. Transaction dates are always OK. Since the market is closed Monday Jan 2, it is best to not download on Tuesday. Otherwise it will probably think last Friday's closing prices are for Monday.

    How did you get your Python 2.7.xx-- ActiveState?

    ReplyDelete
    Replies
    1. I downloaded the Python package at the bottom of the page https://www.activestate.com/products/python/
      Create a GitHub account and log in.

      Delete
  20. While I still believe the plaid.com route is cleaner and likely a more durable long-term solution with fewer dependencies, I will need to invest some effort into qualifying for general oauth access in order to access some of the bigger US financial institutions. Honestly, gaining this level of access with the plaid.com team is probably too onerous for most people still using Money... However, in the meantime I was able to implement MintAPI successfully in Windows. Big H/T to Fur Rari for pointing us to this solution!

    My plaid.com .json to .ofx converter required only minor edits to work with the MintAPI output and I have now several credit cards/checking accounts/savings accounts working with this method (US Bank, Chase, BoA, and Capital One). While the end result is likely very similar to Fur Rari's Pepperfox solution, it might be more accessible to some since it works out of the box in Windows. The setup is relatively straightforward and I'd be happy to provide a step-by-step guide if there is any interest (along with my python conversion tool which works with the same python 2.7 installation that Pocketsense uses).

    Now onto investment accounts in the anticipation that those will start disappearing next....

    ReplyDelete
    Replies
    1. Good. Though I got pepperfox running on Windows 10 and 11 using WSL2. You won't have luck with MintAPI for investments, as their transaction data is missing key stuff, like shares traded. They treat it more like a credit-card transaction, just listing the total dollar amount.

      You might look at Personal Capital -- I got it to cough up transaction data for brokerages (in json form) that has shares traded and other important stuff. Didn't finish "productizing" it because I don't need it yet and OFX for brokerages is a lot harder than for banks. Already did one brokerage OFX thing and only did the parts I needed, but not options, bonds, and such.

      Delete
    2. Hi djevel - I would be interested in a step-by-step guide for using the MintAPI in Windows to ofx; I'm mainly looking for Chase checking and credit cards. Maybe Citi credit cards as well.

      Delete
    3. Well pepperfox will do it for you. And does work with Chase and Citi accounts.

      It does work on Windows 10 or 11, with the usual Windows pain. You need to install "Docker Desktop" from the Docker site and "Ubuntu 22.04" from the Microsoft Store. You probably have to google to find out the tricks to getting those two parts running (I remember a couple of powershell commands you need to cut and paste). The Ubuntu from the Microsoft Store just runs -- you don't have to manage "partitions" or ".iso files" on your own.

      Delete
    4. I appreciate that - but I think that's one too many applications to install just for Chase (I see that Citi is still supported, just needed the new URL, plus credential setup). Right now I manually download the qfx and rename them to ofx and double-click and they get imported. I was already on the fence about paying for Mint just for that, plus docker and the associated setup for Windows may be more than I'm up for right now.

      Delete
    5. @mxw . Email me at djevel at live dot com and I'll do my best to get you set up. No Docker required.

      Delete
    6. Well you don't have to pay for Mint -- it's free. And if you want to use mintapi without docker you still need to set up a Mint account.

      Delete
  21. I've used your script for many years to update stock quotes without issue, but I'm not having success in obtaining transactions from Fidelity. When I enter my Username and Password I get the following message:
    "An error occurred requesting accounts from the site. Please check username and password."
    Here's the information I've added to sites.dat:

    SiteName : Fidelity
    AcctType : INVSTMT
    fiorg : Fidelity
    fid : 7776
    url : https://ofx.fidelity.com/ftgw/OFX/clients/download
    bankid :
    brokerid : fidelity.com
    ofxVer :
    appid :
    appver :
    mininterval:
    timeOffset :
    delay :

    What am I doing wrong?
    Thank you

    ReplyDelete
    Replies
    1. See the settings on my blog page, as the Fidelity works for me (I think just adding the 443 will do it).
      https://microsoftmoneyoffline.wordpress.com/2010/10/06/cal-learners-review-fidelity-401k-citi-card-and-vanguard-account-info/

      Delete
    2. Hi whm,
      Try this...
      Add .com to fiorg: fidelity.com
      Add :443 to url: https://ofx.fidelity.com:443/ftgw/OFX/clients/download

      Delete
  22. Thank you for the advice. In addition to adding the :443 I had to change fiorg from "Fidelity" to "fidelity.com" as shown on your Blog.
    Regards

    ReplyDelete
  23. So I recently moved my HSA to Fidelity and was pleasantly surprised that all my transactions for my HSA are now nicely imported into money. It got me thinking, since right now I do not have a bank that automatically important my regular checking account transactions and I am typing them in like a caveman while all my other transactions fly right in... does Fidelity have a checking account?
    Well they sorta do with the Cash Management account.. https://www.fidelity.com/cash-management/fidelity-cash-management-account/overview

    Does anyone use that and does it import everything in just like it does for my Brokerage and now HSA accounts?

    ReplyDelete
    Replies
    1. Yes, the Fidelity CMA account works quite well; I am currently using it as my primary checking account. My biggest gripe is that it doesn't support Zelle...

      No issue with downloading transactions, but if you buy stocks/money market funds in the account it can sometimes be tricky to know exactly how much cash you have on hand at all times (and the auto-redemption of money market funds create additional transactions to keep track of). If you leave everything in (the default) FDIC cash then none of that is an issue.

      Delete
    2. Thanks, very helpful!

      Delete
  24. Thanks for this tool. i'm just trying to set it up now. I ran setup.py through cmd and pressed "0" to exit to create the sites.dat file. However, I'm looking at the file path where setup.py is stored and I don't see any new file called sites.dat. Any ideas on where I should look?

    ReplyDelete
    Replies
    1. You create a sites.dat file yourself, in order to proceed with Pocketsense. You should be able to find the settings for all of your banks on my blog page: https://microsoftmoneyoffline.wordpress.com/2010/10/06/cal-learners-review-fidelity-401k-citi-card-and-vanguard-account-info/

      Delete
  25. Is the folder with the setup.py and other files in a folder within your documents folder? If not, you could have a permissions thing holding you back.
    1. Here is a cmd line to run to look for that. It takes time. Where it ended up could be diagnostic:
    dir \sites.dat /s

    That will take a while. If you find that file in a funny place, and it is recently dated, Also, you can copy and paste into a control window, if you search out how.

    2. You could copy sites.template to sites.dat, and start from there. If you want site descriptor for a particular site, say so. Say Broker, Bank or Credit card. Note Banks are rare.

    3. I could probably make my sites.dat available. Includes Fidelity Investments, Citicard, and more.
    Two tries to include contents in a post failed: too long.

    ReplyDelete
    Replies
    1. From September 2021 post, "cl5A_sites.dat.example is a copy of my sites.dat." So I think that could be useful to you-- use the link and copy tha filet to sites.dat. There are scrubber files in there also, for use with the DEV version.
      ====================================
      New scrub_cl5A.zip contains
      scrub_cl5A.py scrub_cl5A.txt scrub_cl5X.py.debug cl5A_sites.dat.example

      zip available at https://drive.google.com/file/d/1Rs_iFKHyq17yjTxHw-xfs5bFLxslULUJ/view?usp=sharing

      scrub_cl5A.txt is a file with info like below, plus thoughts on how to implement substitution in a better way. It is not a howto.

      Multiple inappropriate running of Citibank import scrubber addressed by looking for stuff in ofx rather than in parameters passed in.

      Cleaned up superfluous temporary debugging prints but kept them in scrub_cl5X.py.debug for possible reuse.

      cl5A_sites.dat.example is a copy of my sites.dat.

      Delete
    2. scrub_c15B is available at https://www.mediafire.com/file/1cf9rw7p1afj5xk/scrub_cl5B.py/file

      it is Cal's routine with the addition of:
      #2023/1/31 NxtTek changed Fidelity CUSIP to match SPAXX, rather than FDRXX; remove MEMOs from Fidelity + PNC downloads

      Delete
    3. I downloaded scrub_cl5B.py, and I think I will use that as the base for the next version I do.
      =====
      I like MEMO for some things. So maybe something would be better than deleting all memos. I have not proposed a method for that, except to maybe make that an easy to choose true/fals option. Or maybe something more complex is worthwhile. Here are some MEMOs:
      "YOU SOLD REDEEMED TO" is lame/redundant
      "DIVIDEND RECEIVED" is lame
      "YOU BOUGHT PROSPECTUS" is lame
      "DIRECT DEBIT CARDMEMBER SERWEB PYMT" is helpful but too long.
      "DIRECT DEBIT CITI AUTOPAY PAYMENT" maybe helpful. NAME is "DIRECT DEBIT CITI
      "FOREIGN TAX PAID" is helpful
      "LATE SETTLEMENT FEE" is ADR/ADS fee. Memo duplicates NAME so lame
      "ROYALTY TR PYMT" is helpful
      =====
      I am thinking of having a scrub_*.py file in each distribution with the same name all of the time. Maybe two files in each distro: one always named scrub_cl.py (for example) and another named scrub_cl.py.vers_cl5c etc (as a version archive). The version one would be ignored by PocketSense. The scrub_cl.py copy would overwrite the current, after a warning, one when pasted.
      =====
      I also have plans for the remove_unwanted_OFX_transactions1() function to be able to accept either a single string parameter, as it does currently, but to also be able to accept a list. The reasons are that there are 3 Fidelity MMFs that can be used as core accounts. A single person may have accounts with different core positions. Also, a new user may not want to figure out the CUSIP for the core position, and it would be nice to make that configuration unneeded. Also, if the OFX server goes away, and we somehow produce an OFX file from a CSV, the CSV does not contain a CUSIP. Maybe we will derive a substitute CUSIP from the symbol. So accepting a list might make it easier. I am pretty sure how to do that. A possible thought for a Fidelity string is
      fid_list_mmfs= ['____FDRXX','316067107','____SPAXX','31617H102','____FZFXX','316341304']
      =====
      These are pretty simple. I have complex ideas, but let's stay simple now. Comments on these or others, by anybody?

      Delete
    4. Actually "DIVIDEND RECEIVED" is very useful. Some brokerages don't do dividends correctly (even ones that had OFX servers) -- you had to look at the comment to tell that some "dividends" were actually long-term/short-term capital gains.

      Delete
  26. You don't really have to use the real CUSIP -- just have to be consistent. I have a function "fakecusip" in one of my OFX things to make up something from the ticker. There are cases where when you "extract data" from someplace that you have a real cusip only in the "current holdings" section but you have transactions where you sold all of a security but only have ticker symbols and no cusips at all.

    There is also a real broker that uses some private 6-digit thing there instead of a real CUSIP and Money doesn't mind.

    ReplyDelete
  27. Is anyone using TD Bank? I am trying to set this up and receiving an error message:
    ```
    STATUS
    CODE 2019
    SEVERITY ERROR
    MESSAGE Duplicate Request
    STATUS
    ```
    When I first tested it, I received a message "MISSING BANK ID" So I copied the "fid" to "bank id" in "sites.dat". Also had to do the security "allow external access" at the bank site. After that, the OFX request went through, but with the STATUS message above.

    Sites.dat entry
    ```
    SiteName : TD Bank
    AcctType : BASTMT
    fiorg : CommerceBank
    fid : 1002
    url : https://ofx.tdbank.com/eftxweb/td.ofx
    bankid : 1002
    brokerid :
    ofxVer :103
    appid : QWIN
    appver : 2300
    mininterval :
    timeOffset :
    delay :
    skipZeroTrans:
    userAgent :
    dtacctup :
    clientUID :
    ```
    Any thoughts would be appreciated.

    ReplyDelete
    Replies
    1. Ron, see TD Banking on my blog page: https://microsoftmoneyoffline.wordpress.com/2010/10/06/cal-learners-review-fidelity-401k-citi-card-and-vanguard-account-info/

      Delete
    2. Thank you so much! My problem was not knowing the "bankid". It needs to be the routing number for the bank. So with a wrong number in that slot, the query would run, and connect, but return that error message. Once I changed it, it worked fine.

      Delete
  28. Trying to download transactions from Fidelity for the past 60 days (Jan & Feb 2023). Here's the dialog:

    PocketSense OFX Download Python Scripts, Ver: 2022-Oct-03
    Download transactions? (Y/N/I=Interactive) [Y] i
    Download interval (days) [7]: 60
    Password:
    Download interval= 60 days
    FIDELITY : XXXXXXXXXX : Getting records since: 20221031
    +Scrubber: Null time values updated.
    Searching .\import\ for statements to import
    Finished downloading data
    Upload online data to Money? (Y/N/V=Verify) [Y]

    When I type "Y" only the positions are downloaded not the individual transactions.
    Why is the date above "Getting records since: 20221031"
    Thank you

    ReplyDelete
  29. Hello AnonymousFebruary 28, 2023
    I tried to replicate your test but I got ": Getting records since: 20230129"

    Here is my sites.dat entry for Fidelity:
    <site>
    SiteName : FIDELITY
    AcctType : INVSTMT
    fiorg : fidelity.com
    url : https://ofx.fidelity.com:443/ftgw/OFX/clients/download
    fid : 7776
    bankid :
    brokerid : fidelity.com
    appid :
    appver :
    mininterval :
    timeOffset: # when I use my own scrubber, this does not matter
    </site>

    ReplyDelete
    Replies
    1. Cal . . . thank you so much for your help. My sites.dat had 120 entered for mininterval. After removing it, all of the transactions were downloaded as intended. Not sure how "Download Interval (days)" and "mininterval" interact.
      Regards

      Delete
  30. Is anyone having trouble with Fidelity Netbenefits today? I get a message from Money that the file I am attempting to import appears to be invalid or contains corrupt data. No changes from the previous setup, and it LOOKS like the usual file. Is anyone having trouble with Fidelity Netbenefits, or does anyone know of a diagnostic program that can tell what is wrong with the file in something approximating English?

    ReplyDelete
    Replies
    1. Well there is a program called OFXAnalyzer.exe that actually came from Microsoft and actually checked for the "Money acceptable" flavor of OFX. It approaches "English for programmers". Don't know where you'd get an Installer these days. Could try googling.

      Delete
    2. See my blog page: https://microsoftmoneyoffline.wordpress.com/ofx-file-analzer/

      Delete
    3. Thank you, thank you, thank you! It took a bit of trial and error, but I figured out that for one of my funds, Fidelity was sending a segment that said it would contain a Cusip number, but it then sent a null Cusip number. The parser in Money did not like that. I believe (and would love if someone could tell me if I am right or wrong) that Money does not use Cusip numbers for investments, but instead uses the investment's name as an idenitifier. So I used Notepad to add a Cusip number of AA to the OFX files and viola... the file imported.

      I then spent an hour or so on the phone with Fidelity, and they opened a work order to deal with it.

      Delete
    4. Money uses "CUSIP Numbers" to match up different parts of the OFX file -- they don't have to be real CUSIP numbers, just some unique Id for matching purposes. One of my brokerages uses some unique internal thing like "B07429" and Money doesn't mind.

      Delete
    5. Do you know if Money stores the Cusip number on its main data file? Or does it just match it within an OFX file? I manually put in a dummy (and I WAS consistent) , and it SEEMS to have worked fine. If Money stores it permanently, do you have any idea how one can actually SEE (and update) what it has stored?

      Delete
    6. Don't think it stores the CUSIP -- that would screw up if you bought the same stock at different brokerages and some were using fake CUSIPs. Think it mainly keeps track by the ticker symbol.

      Delete
    7. Looks like a known issue at Fidelity
      https://community.quicken.com/discussion/7931095/fidelity-netbenefits-ol-220/p3

      Delete
    8. Bileci: Than you so much for that link... misery does love company .

      The Quicken users seem not to get good debugging information, but the dates for which they reported the problem correspond exactly with what I experienced. Our ability to see the OFX files made it easier to figure out what was going on, and apparently the problem only comes up with certain Fidelity funds. Money (and apparently Quicken) parse the entire OFX file before trying to use it, and if it gets a parse error, the software gives up. So if you have one of these bad funds, your entire Fidelity download fails.

      There is one Quicken user, Mikeamor, who posted on the first page for this problem on the Quicken forum, and his more-detailed information referenced one of the same segments that I had found to be problematic, so it certainly seems like it is the same problem.

      For reference, in case anyone else is having this problem:

      The problem fund in my case is "Galliard Stable Val", and the two segments that have a tag name without a value are SECID and SECINFO. The SECID segment appears twice in the download file, and the UNIQUEID tag within that segment does not have a value. The SECINFO segment has a tag, FIID, that does not have a value. (If you are still with me, you'll see that one of the bad SECID segments actually occurs within the SECINFO segment, but that is not directly relevant to this.)

      As a temporary fix, I inserted "AA" for the missing values, and the file imported successfully.

      If you are having the problem and want to fix the downloaded file, use Notepad to do it. Using Wordpad makes the resulting file unusable by Money.

      Delete
    9. 401(k) accounts often have "odd funds" that aren't available on normal exchanges, your "Galliard Stable Val" (possibly https://markets.businessinsider.com/funds/galliard-stable-return-fund-c-us9499075052 ) looks like one that has no ticker. May not have a CUSIP either. I forget how I handled that when I had a NetBenefits account.

      Delete
    10. I think what you said about thoser "odd funds" is correct. So since it used to work just fine when going from Fidelity to Money, I imagine they either left out the problematic segments for those funds or they put in a dummy Cusip number. It's the Money parser that now fails, and that seems to run early-on in the import process.

      Delete
    11. Hi Harold,
      In sites.dat there's an optional 's:value' switch that adds a user-defined ticker. It might be worth tinkering with if you haven't done so already.
      -Kevin N.

      Delete
    12. Thanks, Kevin. I went back to the 2011 messages, and looked at the functionality for that. It seems to be related to Yahoo quotes (presumably later updated to Google quotes)? It also seems related to ticker symbols, while the problem I am having is related to Cusip numbers. I want to make sure that I don't mess up my Money file, so do you know anywhere where there is information on what this does?

      Delete
    13. This problem was fixed (by Fidelity) this morning.

      Delete
  31. Hi Harold,
    Yes, the 's:value' switch is ticker-related rather than Cusip. The following is what I have in sites.dat pertaining to 's:value'. (I removed the #'s and < >'s, I hope this publishes properly).

    Options: m:value : define a currency multipler for the quote (examples: m:100, m:0.01)
    s:value : user defined symbol to send to Money (rather than Yahoo ticker symbol)
    --------------------------------------------------------------------------------

    stocks
    BP.L m:0.01 s:BP BP @ London stock exchange (quote = pennies)
    m:0.01 = multiply quote by 0.01 (convert from pennies to pounds *example*).
    s:BP = Send symbol BP to Money, rather than BP.L

    ReplyDelete
    Replies
    1. Thanks. Since the problem seems to deal with Cusip numbers, I think that at this point I will work with my (tedious) manual workaround and wait for Fidelity to fix the problem. I did just post a message on the Quicken forum giving the details of the problem as I see it, and perhaps that will get forwarded to the appropriate people at Quicken. OTOH, I can't imagine that the Fidelity people couldn't figure out the problem as soon as they started getting reports of it.

      Delete
  32. Hello ! Like two day ago i started getting an error "invalid quote response. Skipping..." just for one mutual fund(VCPIX) . Everything else still working fine - i have list of like 12 funds. What should be I looking for ?

    ReplyDelete
    Replies
    1. Try opening the OFX file with Wordpad or Notepad. Do a "find" on VCPIX or whatever else identifies the fund (its name, for example). Then look at the supplied data for it for something that seems wrong (say, an alpha in a field that is obviously supposed to contain only numerics). You can also download the OFX Analyzer program and run it against the OFX file and see if it tells you anything.

      Delete
    2. Hi Arkady,
      It may be just a hiccup at Yahoo Finance in providing the quote.

      Delete
    3. Agree w/ Kevin. Tested just now and worked fine for VCPIX. Only ? would be to verify that you're using the latest script pkg and/or haven't redefined the Yahoo Finance quote url in sites.dat.

      Delete
    4. Thanks everybody ! 1. Harod , what OFX file we talking about named ofx.py or .ofx ? 2. Kevin, Robert , this are few lines from output that i have : Y: VWESX 8.07 3/17/2023 07:01PM 0.88%
      ** VCPIX : invalid quote response. Skipping...
      Y: FRIFX 11.2 3/17/2023 07:01PM -0.53% , so no hiccup or wrong link , right ?

      Delete
    5. Verify that you're using the latest scripts and that the user-defined YahooURL setting is *not* enabled in sites.dat.

      Delete
    6. Robert , i tried and now nothing is working :-) When i click on Getdata, it flashed black window and nothing . Same when i click on Setup. - no dialog window

      Delete
    7. Arkady.... My mistake. I thought your VCPI issue was related to Fidelity, but I realized in reading the rest of the conversation that it was a separate issue. So just ignore what I wrote....

      Delete
  33. Read step 2 of install instructions, and verify that you installed the REQUESTS pkg.

    ReplyDelete
  34. I tried : C:\Python27>pip install requests
    Downloading/unpacking requests
    Cannot fetch index base URL https://pypi.python.org/simple/
    Could not find any downloads that satisfy the requirement requests
    Cleaning up...
    No distributions at all found for requests
    Storing debug log for failure in C:\Users\Arkady\pip\pip.log

    ReplyDelete
  35. Python distribution and version?

    ReplyDelete
  36. ActivePython 2.7.8.10 (ActiveState Software Inc.) based on
    Python 2.7.8 (default, Jul 2 2014

    ReplyDelete
    Replies
    1. Ouch. Definitely need latest Python 2.7. ActiveState distro should include REQUESTS by default.

      Delete
  37. So we are out of any ideas ?

    ReplyDelete
    Replies
    1. You need to update to Python 2.7.18. If you use the ActiveState or Anaconda distro, those should include REQUESTS by default. If you use python.org, then add the "pip install" step.

      Delete
  38. Harold:
    1. HaroldMarch 10, 2023 at 2:47 PM said:
    "The problem fund in my case is "Galliard Stable Val", and the two segments that have a tag name without a value are SECID and SECINFO. The SECID segment appears twice in the download file, and the UNIQUEID tag within that segment does not have a value. The SECINFO segment has a tag, FIID, that does not have a value. (If you are still with me, you'll see that one of the bad SECID segments actually occurs within the SECINFO segment, but that is not directly relevant to this.)"

    Since your problem is with the OFX file from Fidelity, special additional scrubber file could make the change. You would want to post the section that is wrong, and what you would like it to look like after scrubbing. I might get motivated one day, or somebody else might. I have been working on some other stuff, and I am slow.

    Note that this blog software eats > , and maybe < characters. So before you post change those each to &lt; and to &gt; strings, respectively.



    2. Arkady:
    Robert March 17, 2023 at 9:06 PM said:
    "Agree w/ Kevin. Tested just now and worked fine for VCPIX. Only ? would be to verify that you're using the latest script pkg and/or haven't redefined the Yahoo Finance quote url in sites.dat."

    In order to see what version of PocketSense software you are using, you can run setup.py, and note the sign-on header.


    3. Anonymous-- all of you: I understand not wanting to have a login, but consider putting a name in your post, so that we might connect your posts in case one builds on the other.

    ReplyDelete
    Replies
    1. Thanks so much for the offer, Cal. The problem was fixed by Fidelity this morning. Now if we just get Chase to download OFX files in bulk!

      Delete
  39. I don't know if anyone else experiences this issue and, if so, if they figured out how to fix it. Like everyone else I now have to download individual OFX or QFX files from various financial institutions since Chase, Bank of America, etc. no longer work with PocketSense. About half the time the OFX/QFX file processes immediately when I import it into Money. The other times I get a spinning blue circle in Money that goes on for about 3 or 4 minutes before it's finally processed. If I want to work on something unrelated on my laptop while it processes I have to hit the Windows key and I get the message in Money that the program isn't responding and do I want to wait or close it. More than anything it's incredibly annoying as the OFX/QFX file continues processing while I'm off doing other things. But I have no idea why some OFX and QFX files process immediately and others seem to take forever. Any ideas? Thanks!

    ReplyDelete
    Replies
    1. I don't experience delays. My only thought is to verify it's only downloading recent transactions?

      Delete
    2. Thanks, but that's not the issue. The OFX/QFX files are for the current statement period and, at most, have 10 or 20 simple transactions. Usually they only have 2 to 5.

      Delete
  40. Ken: I think the database compacts itself periodically, but 3 minutes seems long. I do notice some significant differences in time. Are accounts with a lot of transactions taking longer than others, or is that new account as likely to give the delay? I think you are saying that there is no pattern, so the automatic compaction, or whatever it is called, would be my best guess.



    Pepperfox comments:

    Mint, Pepperfox, plus features of many Fis that consolidate your financial info bother me. I find the “privacy policies” to be rather misleading, since I interpret them as saying they only share information with their partners/friends. I expect you can be their friend for a fee.

    Services like Mint exist to use your financial info and provide results to others. The fact that they want your login information is potentially worrisome, but I think Intuit is not going to be trying to pilfer your money. Will they accidentally leak/get hacked? I don’t know.

    Some people are not concerned about this and think my view is paranoid or futile. I have heard “My life is an open book” and the thought that “They already know all of your info, so why bother?”. What I like about Microsoft Money, vs the online services, is they keep my info on my computer.

    I found this recent article to be interesting: https://www.washingtonpost.com/technology/2023/04/11/tax-prep-turbotax-privacy/

    ReplyDelete
  41. Has anyone noticed the Quotes option failing? It worked yesterday 4/17 but today all my stock symbols fail with

    ** XXXX : invalid quote response. Skipping...

    I wonder if Yahoo have done something which is messing Pocketsense up?

    ReplyDelete
  42. yahoo is returning "{"finance":{"result":null,"error":{"code":"Unauthorized","description":"Invalid Crumb"}}}" in response to the query Pocketsense is sending.

    ReplyDelete
    Replies
    1. Same here. Was spotty with downloading quotes yesterday and today wont' work at all. Wonder if Yahoo is shutting down that old API or quotes server.

      Delete
  43. I have same issue. Downloading quotes is no longer working.

    ReplyDelete
  44. If online quote downloads from yahoo is permanently broken, as an alternative I would take an option to manually enter quotes into a CSV file and a python script to import those quotes into Money. It would be a lot better than manually inputting quotes into the Money GUI.

    ReplyDelete
  45. Is it possible to use Google Finance instead? I see a parameter "EnableGoogleFinance" in sites.dat

    ReplyDelete
  46. Well... I was a bit slow looking at the quotes issue, but just as well. It's working now, or should say working for me... so maybe a site outage?

    ReplyDelete
    Replies
    1. You could be right. Working again for me now

      Delete
    2. Back online for me again too! Hopefully was just a site outage. Always worry about "free" APIs and tons of articles encouraging individuals to download financial data including crypto data from Yahoo. So very much appreciate your Python scripts every day the market is open! Thanks again for your support of this community

      Delete
    3. I'm sorry to say it's broken again and now I see quite a plethora of stuff coming back from yahoo against the query being sent.

      Delete
    4. Still working for me as of 5:38 EDT US

      Delete
    5. Agreed. It works. Since I still have it on my screen here's what came back from a query about AAPL earlier:
      {"quoteResponse":{"result":[{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","postMarketChangePercent":-0.012122332,"postMarketTime":1682111267,"postMarketPrice":165.0,"postMarketChange":-0.020004272,"regularMarketChange":-1.6299896,"regularMarketTime":1682107204,"regularMarketDayHigh":166.45,"regularMarketDayRange":"164.5 - 166.45","regularMarketDayLow":164.5,"regularMarketVolume":56768497,"regularMarketPreviousClose":166.65,"bid":0.0,"ask":0.0,"bidSize":10,"askSize":18,"fullExchangeName":"NasdaqGS","financialCurrency":"USD","regularMarketOpen":165.05,"averageDailyVolume3Month":63724377,"averageDailyVolume10Day":50018940,"fiftyTwoWeekLowChange":40.850006,"fiftyTwoWeekLowChangePercent":0.3289845,"fiftyTwoWeekRange":"124.17 - 176.15","fiftyTwoWeekHighChange":-11.12999,"fiftyTwoWeekHighChangePercent":-0.06318473,"fiftyTwoWeekLow":124.17,"fiftyTwoWeekHigh":176.15,"dividendDate":1676505600,"earningsTimestamp":1683230400,"earningsTimestampStart":1683230400,"earningsTimestampEnd":1683230400,"trailingAnnualDividendRate":0.91,"trailingPE":28.064627,"trailingAnnualDividendYield":0.0054605464,"messageBoardId":"finmb_24937","exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EDT","gmtOffSetMilliseconds":-14400000,"esgPopulated":false,"regularMarketChangePercent":-0.97809166,"regularMarketPrice":165.02,"firstTradeDateMilliseconds":345479400000,"priceHint":2,"marketState":"POST","exchange":"NMS","shortName":"Apple Inc.","longName":"Apple Inc.","market":"us_market","twoHundredDayAverageChange":14.740952,"twoHundredDayAverageChangePercent":0.09809053,"marketCap":2610929860608,"forwardPE":25.00303,"priceToBook":46.0821,"sourceInterval":15,"exchangeDataDelayedBy":0,"averageAnalystRating":"2.0 - Buy","tradeable":false,"cryptoTradeable":false,"epsTrailingTwelveMonths":5.88,"epsForward":6.6,"epsCurrentYear":5.95,"priceEpsCurrentYear":27.734455,"sharesOutstanding":15821899776,"bookValue":3.581,"fiftyDayAverage":156.3072,"fiftyDayAverageChange":8.712799,"fiftyDayAverageChangePercent":0.055741508,"twoHundredDayAverage":150.27905,"displayName":"Apple","symbol":"AAPL"}],"error":null}}

      Delete
  47. With Yahoo outages/irregularities becoming more frequent and in the event that Yahoo should drop support for quoting stock prices altogether, there is a free app available called hleofxquotes that can create an OFX file of price quotes.

    The developer recently added CSV file capabilities to hleofxquotes. So that a formatted CSV file of price quotes can be converted into an OFX file for importing into MS Money.

    The app requires JDK 11 or higher. A simple mapper.csv file should be created to distinguish between Stock and Mutual Fund holdings. To do so create a two column CSV with Symbol and Type columns. Symbol is for the Ticker; Type is simply M for Mutual Funds and S for Stock. The mapper.csv file must reside in the same directory as the hleofxquotes jar file.

    You can download hleOfxQuotes-gui-Build-20230429_312.zip from the developers Bitbucket site here:
    https://bitbucket.org/hleofxquotesteam/hleofxquotes-test/downloads/

    There are sample CSV files there to examine for formatting along with a sample mapper.csv file.

    ReplyDelete
    Replies
    1. The developer has added a second Yahoo source to hleOfxQuotes-gui-Build 314.zip available here: https://bitbucket.org/hleofxquotesteam/hleofxquotes/downloads/

      Delete
  48. Found an article talking about yahoo finance api, I tested manually, it works. we need to modify the scipts to get the stock prices. https://cryptocointracker.com/yahoo-finance/yahoo-finance-api

    ReplyDelete
    Replies
    1. Thanks for pointer. I did try using the default Yahoo Finance URL:
      https://query1.finance.yahoo.com/v7/finance/quote?symbols=GOOG,AAPL
      and got "Invalid","Unauthorized Cookie"

      Per StackOverflow, there is a workaround, by using older API:
      https://query1.finance.yahoo.com/v6/finance/quote?symbols=GOOG,AAPL
      , which retruns correct data.

      Addint param to sites.dat:
      YahooURL: http://query1.finance.yahoo.com/v6/finance/quote
      got me going. At least for now...

      Delete
    2. Here is the StackOverflow source:
      https://stackoverflow.com/questions/76059562/yahoo-finance-api-get-quotes-returns-invalid-cookie

      Delete
    3. yes. I just tested V7 not working but V6 works, for reference, just change the value of self.YahooURL in site_cfg.py to http://query1.finance.yahoo.com/v6/finance/quote, or adding parameter to sites dat as mentioned above.

      Delete
    4. Thank you! Confirmed that v6 worked. For example: https://query1.finance.yahoo.com/v6/finance/quote?symbols=MSFT

      Delete
  49. In case Yahoo stops serving the quotes, I made quotes work with Google Sheet. It requires setting up a Google Sheet with tickers, names, price, date, and time, similar to what the Yahoo API returns. Then a HTTP GET request to the Google Sheet grabs all the data in CSV.

    https://stackoverflow.com/questions/33713084/download-link-for-google-spreadsheets-csv-export-with-multiple-sheets

    ReplyDelete
    Replies
    1. Thanks for the tip - my end of day routine is now working flawlessly (again)! At least until the next tweak in Yahoo API.

      Delete
  50. I too have been pondering the crossroad. My history in money is complicated with many closed accounts that have transactions related to open accounts, etc. It occurred to me, the easiest path when/if the moment arrives, will be (hopefully) just to keep money for reference/history when needed. Then start new with something that seems to be hooked into current/approved technology (moneydance, quicken, etc).

    Now I have to try and fix yahoo quotes as per above (he he).

    ReplyDelete
  51. I uncommented and changed the YahooURL: http://query1.finance.yahoo.com/v6/finance/quote in sites.dat to get working again. Thank you so much for the quick fix. So very much appreciate this community of people!!!

    ReplyDelete
  52. I can confirm the slight edit in site_cfg.py suggested above by >Anonymous May 5, 2023 at 9:30 PM< worked for me. I hadn't noticed any problems until yesterday morning (I run Psense 1/wk). I did notice that some stock prices were updated even though every inquiry produced an error comment while the connection was running. I found this when I went to manually update the prices in Money. No rhyme or reason I could see, but about half were already updated. It took me a bit to figure out how to open the site_cfg.py file for editing. For those with similar (limited!) exposure to this level of modding, here's what I did:
    - opened a administrator command prompt,
    - navigate to the directory that holds Pocketsense (cd\users\"you"\documents\folder with Psense)
    - at end of this line type "notepad site_cfg.py" (without quotes of course)
    - scroll down about a 1/4 of the way to the line "self.YahooURL = 'http://query1.finance.yahoo.com/v6/finance/quote'" change the V7 to a v6,
    - close notepad (saving changes of course)
    - exit command prompt and Pocketsense will hopefully run with no errors downloading quotes
    This worked for me.

    ReplyDelete
    Replies
    1. Thanks so much, Joryde. Your instructions worked perfectly!

      Delete
    2. Thank you. I wished that I found your instructions earlier (it didn't occur to me to look at the "comment" to the host's post. I spent two days creating an Excel sheet to download quotes and then creating an Excel template to get the results formated into an OFX file. Not known any thing about OFX, it took me a lot of trial and error (3 days).
      My Excel file, GetStockPricesMulitFunds.xlsx, can be retrieved by FTP, Host: ftp.david-swinehart.com Username: anonymous@david-swinehart.com Port: 21 there is no password. Be sure to scan for viruses as I'm not sure as how secure my ftp site is!

      Delete
  53. Keep getting invalid quote response. Skipping. Tried redoing sites.dat but still won’t get quotes. Help!

    ReplyDelete
    Replies
    1. Did you change the file: site_cfg.py, line: self.YahooURL = 'http://query1.finance.yahoo.com/v7/finance/quote' to self.YahooURL = 'http://query1.finance.yahoo.com/v6/finance/quote'
      That is change the 7 to 6 in that line?
      That worked for me. I just verified that it is still working.

      Delete
    2. Thank you ! Works great now

      Delete
    3. I also was having problems and changing the Yahoo URL to v6 solved it... Thanks for the tip!

      Delete
  54. Got the administrator command prompt and assume you do not use quotation marks but can’t get the path to open up

    ReplyDelete
  55. Robert: I too have been having problems with the stock price query. I have been using a stock/bond query for many years, but haven't gotten a good download since May 3rd. My prior query was based on an old PS release and old Python 2.7 release. When looking at the release notes I thought I should update to the latest release and upgrade Python to 2.7.18 as well. I was able to negotiate the requests install as well. When all was said and done, the download of stock and bond prices was just as broken as before. I even made sure my sites.dat file was modeled after the latest sites.template. After reading through the comments regarding the proper Yahoo url specifications am I to infer that you will publish a new release or is there something I need to do in my sites.dat file that mitigates the existing problem?

    ReplyDelete
    Replies
    1. Change this line in sites.dat:

      #YahooURL: http://query1.finance.yahoo.com/v7/finance/quote

      to:

      YahooURL: http://query1.finance.yahoo.com/v6/finance/quote

      Delete
    2. Robert: Yes that change has completely solved the problem. Thank you

      Delete
  56. Access to my USAA bank and credit card accounts stopped working yesterday. The OFX response file had only the following information:
    <STATUS>
    <CODE>2000
    <SEVERITY>ERROR
    </STATUS>

    Apparently my OFX login credentials had expired. If this happens to you, go to the following link (which requires you to login with your online credentials) to reset your OFX login permissions:
    https://df3cx-services.1fsapi.com/casm/usaa/enroll

    Cheers, David

    ReplyDelete
    Replies
    1. I realize that the URL above seems to have nothing to do with USAA. However, it immediately redirects you to USAA at web page titled "Allow Quicken Direct Connect to access your USAA information?"
      via a URL similar to this:
      https://www.usaa.com/inet/ent_oauth_consent/authorize?1&client_id=[deleted_info]&redirect_uri=https://df3cx-services.1fsapi.com/casm/usaa/connect&scope=usaa.profile.member.read+usaa.bank.aggregation.read&response_type=code&code_challenge=my_challenge&state=my_state&code_challenge_method=plain&session_id=[deleted_info]

      Cheers, David

      Delete
  57. Is there a way with this program to download dividend yield into MS money?

    ReplyDelete
  58. And once again Yahoo is not co-operating

    http://query1.finance.yahoo.com/v6/finance/quote?symbols=ARKK

    gets back

    {"finance":{"result":null,"error":{"code":"Not Found","description":"HTTP 404 Not Found"}}}

    ReplyDelete
  59. I'm getting the same error the last time Yahoo acted up of "invalid quote response. skipping"
    I changed back to v7 but got the same error message.

    ReplyDelete
    Replies
    1. Same here unfortunately

      Delete
    2. Yup, same here.

      Delete
    3. Try 'https://query2.finance.yahoo.com/v10/finance/quoteSummary/ARKK?lang=en-US&region=US&modules=price'

      Delete
    4. Or with more "stuff": 'https://query2.finance.yahoo.com/v10/finance/quoteSummary/ARKK?formatted=true&lang=en-US&region=US&modules=price%2CsummaryDetail%2CpageViews'

      Delete
    5. Appreciate the link. I'll update the scripts ~ soon to use the v10 service. Actually... need to refactor the quote section and remove the old (csv oriented) parsing, which is a holdover from early days. Made sense at the time, but no longer.

      Delete
    6. So what do we put in sites.dat now?

      Delete
  60. I appreciate all of the community efforts to keep PocketSense going. I also had the error with my USAA accounts but visiting the link inside the ofx file and following the prompts renewed my access. I did not have to update my username and password within PocketSense.

    I'm looking forward to the updated stock quote retrieval. Please let us know when it is available.

    ReplyDelete