Tuesday, March 25, 2025

Comments (continued)...

The last post reached the dreaded 200 post level, so starting a new thread so that comments don't roll off the "more" break.

146 comments:

  1. As a continuation from the last blog I have PocketSense back up and running in Microsoft Money since getting my computer hacked last week. Thanks everyone for the help!

    One thing I'm still having a problem with. I had the same problem in January when I did a clean install and solved it but should have kept notes on what I did.

    Under Favorites/Favorite Web Sites I had a link named Update Prices that I would click and it would run Getdata.py - Shortcut. It pointed to file:///D:/Microsoft%20Money/OFX%20Scripts/Getdata.py - Shortcut.lnk. For the life of me I cannot get that link saved under Favorite Web Sites. I do have a shortcut D:\Microsoft Money\OFX Scripts but it just opens the folder in Microsoft Money.

    Where are these Favorite Web Sites stored? I believe many years ago they were stored in Internet Explorer. Maybe that would help me solve this. Thanks!

    ReplyDelete
    Replies
    1. I have the Windows Firewall prevent Microsoft Money from accessing outside servers. That is to prevent Money from waiting for servers that are gone. If you did that, that might or might not mess up the process.

      I have some notes on some previous discussions we have, but I cannot find those discussions.
      Joe: I did some experimenting, and I am having trouble posting what I want to describe. Let me say I did put a link into favorites, and it appeared in into folder
      "%USERPROFILE%\Favorites\Financial Links"

      The entry was the file type described in https://fileinfo.com/extension/url

      That may be enough to get you going.
      =========


      Cal Learner

      Delete
  2. See if http://pocketsense.blogspot.com/2025/03/comments-continued.html#comment-form helps. There are steps about getting an entry into place. I think you are already aware of the info in http://moneymvps.org/faq/article/352.aspx

    Also consider having the shortcut point to a *.bat file rather than the GetDat.py file. In that batch file, start with a CD (change directory) to the folder that contains your PocketSense files.

    I have a file called lines.txt in my PocketSense folder. This contains at least 4 blank lines. Then I invoke getdata with this line in the batch file:
    getdata.py < lines.txt
    That causes getdata.py to run to completion, taking all of the defaults, rather than waiting for a response. It presses the Enter key for me up to 4 times.

    One of my batch files starts Money with this line in a batch file:
    start "" /D "C:\Program Files (x86)\Microsoft Money Plus\MNYCoreFiles" msmoney.exe

    That line starts Money, but does not wait until the process ends before continuing on with the rest of the batch file. That would be appropriate for starting Money but not for invoking GetData I think.

    Cal Learner

    ReplyDelete
    Replies
    1. Thank you! The batch file was the missing piece that got this working for me.

      Delete
  3. The other thread is locked, but I wanted to say thank you Robert for this idea. I often forget to add a file to the imports folder before running the script as well and came to look in the comments for an answer to the same question. Ideally there would be an option to only process the imports folder, but it's a great workaround.

    AnonymousFebruary 17, 2025 at 11:54 AM
    Hi Folks,

    Is there a way to manually run the scrubber on files in the import folder? With the recent Amex change, I occasionally forget to download the OFX from Amex prior to running Getdata, so I'm looking for a way to do that part of the Getdata processing without doing all of the other accounts and downloads again.

    Thanks!

    Replies

    Robert February 17, 2025 at 12:01 PM
    There's no setting to do it... however, you can create a new folder with a fresh copy of the scripts, and not configure any accounts, etc. Run setup once, and then getdata to process imports as needed.

    ReplyDelete
  4. Ah. We did it! Thanks, everybody, for pointing me in the right direction. In "%USERPROFILE%\Favorites\Financial Links" was my shortcut Update which would take me to my OFX Scripts file but not run Getdate.py - Shortcut. By right clicking on that shortcut, going to properties and changing the URL: to file:///D:/Microsoft%20Money/OFX%20Scripts/Getdata.py - Shortcut.lnk it now works.

    That is, in Money, I can now go to Favorites>Favorite Web Sites and just click on Update to run Getdata.py.

    Now another comment. When my computer was hacked the hacker was actually on my computer. Isn't it a concern that ofx_config.cfg has your user names and passwords and can just be opened with a text editor?

    ReplyDelete
    Replies
    1. Yes. Change all of those passwords at a minimum, and changing your usernames would be a good move too.

      PocketSense offers the option to encrypt that file, and require you to enter a password each time. I don't encrypt myself, and when I change password, I tend to modify ofx_config.cfg with Notepad++.

      Cal Learner

      Delete
  5. Good morning. Thanks for helping me with MS money quote update. For some reason, MS Money won't update any of my portfolio after python script run (script run fine, money open up fine and will stated update completed, but not a single ticker got updated). I deleted the "getdata.txt" and try the script again, same result. Any suggestion?

    ReplyDelete
  6. Hi, user error. I got it solved.

    ReplyDelete
  7. Thanks so much for all of the support from this community!

    ReplyDelete
    Replies
    1. "Thanks so much for all of the support from this community!"

      Sarcasm Andrew?
      Cal Learner

      Delete
  8. Hi All,

    A bit of an anomaly...

    I'm using Pocketsense with Python 2.7.18 for downloads from Fidelity and Regions Bank.
    On another machine I'm using Pocketsense with Python 3.10.12 for the same financial institutions.
    The Python 3 version of Pocketsense I downloaded from Github
    https://github.com/magnuspyke/ofxscripts

    Up until several days ago both were working as expected. Recently though, the Python3 version throws an OFX error with Regions Bank. It continues to work as expected with Fidelity.

    The Python 2 version works as expected with both Regions Bank & Fidelity.

    Does anyone have any ideas as to why the scripts may be erroring out for Regions with the Python 3 version but not the Python 2 version?

    -Kevin N.

    ReplyDelete
    Replies
    1. So, for anyone playing along at home...

      Pocketsense using Python 2 with Regions Bank requires the User Agent setting in sites.dat to be set to userAgent: none

      Apparently, Pocketsense using Python3 with Regions Bank now requires the User Agent setting in sites.dat to be set to the actual User Agent.
      e.g. userAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0

      An easy way the glean your particular User Agent is from https://whatmyuseragent.com/

      -Kevin N.

      Delete
    2. I haven't used the python3 scripts, but curious if the default user agent would have worked. If useragent is set to none, then it's not defined at all. If it's omitted (i.e., not defined for the site entry), it defaults to "InetClntApp/3.0".

      Delete
    3. @Robert,
      I had first tried commenting out the entire userAgent line from sites.dat.
      I just now tried simply leaving userAgent entry blank.
      Both settings error out testing the account in Setup.py.
      Plunk the userAgent back in and it works as expected.

      Since it worked as expected up until a few days ago with userAgent set to none; I can only assume that Regions Bank is tinkering with things.

      Delete
    4. @Kevin - Started noticing the issue with Regions last week. Made the update to the userAgent field and I'm back working again.

      Delete
    5. @John, Excellent! I'm glad to hear that it's working for others besides me. :)

      Delete
    6. @John, Just to clarify... Are you using the scripts with Python 3 or Python 2?

      Delete
  9. Anyone having issues with E*Trade Brokerage? Since early May, it only seems to work sometimes. I’ve tried running setup again and it won’t even accept my login credentials now. I’ve opened a ticket with E*Trade, but I’m skeptical of their support for this issue. Any help would be greatly appreciated.

    ReplyDelete
    Replies
    1. I'm trying to set up a new E*Trade brokerage account. Would you mind sharing your site configuration?

      Delete
    2. These are my settings:

      SiteName : ETRADE
      AcctType : INVSTMT #investment
      fiorg : etrade.com
      fid : fldProv_mProvBankId
      url : https://ofx.etrade.com/cgi-ofx/etradeofx
      bankid :
      brokerid :
      ofxVer : 102
      appid :
      appver :
      mininterval:
      timeOffset :
      delay :
      skipZeroTrans:
      userAgent :
      dtAcctUp :
      clientUID :

      Delete
    3. Thanks! Still can't get it to work with your settings.
      Are you using your regular login and password and 9-digit account number?
      I enabled third-party data access in etrade security setting, anything else I'm missing?

      Delete
    4. Yes using regular login and password and 9-digit account number. It was working just fine before 1 May. I don't know if they changed something or if this is happening because i enabled 2FA.

      Delete
    5. Thanks. I haven't enabled 2FA yet since I wanted to make sure ofx download works first. So now I can't be sure if it's my config or some issue on their end. Would you please post here if it starts working again for you?

      Delete
    6. Just tried again this morning and it works! So seems like the issue was on their end. Can you confirm that it works for you with 2FA enabled?

      Delete
    7. It still doesn't work for me. Did you do anything differently?

      Delete
    8. Just tested again after enabling 2FA, still works. Using your settings as is.

      Delete
  10. Would you mind telling me the number of characters in your password? Also are there any special characters? Around this same time, I changed the length of my password to 24 characters

    ReplyDelete
    Replies
    1. Oops that was meant as a response to the above E*trade questions

      Delete
    2. It's 16 characters, with special characters * and $

      Delete
  11. Today I suddenly started getting the following errors, nothing has changed on my setup in months. Any suggestions? I am ONLY getting stock quotes:

    PocketSense OFX Download Python Scripts, Ver: 2023-Jul-20
    Download transactions? (Y/N/I=Interactive) [Y] Y
    Default download interval= 7 days
    No accounts have been configured. Run SETUP.PY to add accounts
    Searching .\import\ for statements to import
    Fetching new Yahoo Finance cookie
    Traceback (most recent call last):
    File "getdata.py", line 195, in
    status, quoteFile1, quoteFile2, htmFileName = quotes.getQuotes()
    File "C:\Users\timpe\OneDrive\MS Money\pocketsense\quotes.py", line 412, in getQuotes
    yahooSession, yahooCrumb = getYahooSession()
    File "C:\Users\timpe\OneDrive\MS Money\pocketsense\quotes.py", line 357, in getYahooSession
    response = requests.get("https://fc.yahoo.com", headers=headers, allow_redirects=True)
    File "C:\Python27\lib\site-packages\requests\api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
    File "C:\Python27\lib\site-packages\requests\api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
    File "C:\Python27\lib\site-packages\requests\sessions.py", line 529, in request
    resp = self.send(prep, **send_kwargs)
    File "C:\Python27\lib\site-packages\requests\sessions.py", line 645, in send
    r = adapter.send(request, **kwargs)
    File "C:\Python27\lib\site-packages\requests\adapters.py", line 519, in send
    raise ConnectionError(e, request=request)
    requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fc.yahoo.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 11004] getaddrinfo failed',))

    ReplyDelete
  12. All quotes failed today with "Invalid quote response. Skipping". Maybe it's just a blip at Yahoo? See what happens tomorrow...

    ReplyDelete
  13. Re: quotes issue. I replicated myself. I then deleted cookies.dat to force a refresh and it worked. Not sure what changed, but that's an easy fix.

    ReplyDelete
    Replies
    1. Yep. That fixed it. Thanks!

      Delete
    2. worked for me, too. Thanks again Robert!

      Delete
    3. Deletion of 'cookies.dat' worked for me as well.

      Delete
  14. I just migrated from a Windows 10 computer to a Windows 11 computer. I did a fresh install of Money Sunset on the Windows 11 computer. The only minor issue is the status bar on the bottom of the Portfolio page does not display any selection options when you open the setup dialogue box menu. The drop down box is blank. I uninstalled and reinstalled Money with no change. Any thoughts? Pocketsense migrated flawlessly. Thanks Robert.

    ReplyDelete
    Replies
    1. From the options displayed on the left side of the Portfolio Manager page, select 'Change portfolio settings'.
      In the resulting window, select the 'Status Bar' tab.
      Here you can choose to display the Status Bar and select the 3 options to add to it.
      -Kevin N.

      Delete
    2. Good morning. When you get a chance, please let us know where you got the install file for Money. My last install I got a "container" error and had to search for a download and I cannot recall where I got it. Thanks.

      Delete
    3. Michael: https://microsoftmoneyoffline.wordpress.com/2010/05/09/intro/#downloads has download links, and more.

      Delete
  15. Deleting cookies.dat fixed it for me also.

    ReplyDelete
  16. Kevin N. Thanks for the response, however, that is the problem. When i navigate to the State Bar tab when I select the drop drop tab they are blank, that is there is nothing to select.

    ReplyDelete
    Replies
    1. Try this and see if it helps...
      Select 'Change portfolio view' from the options on the left side of the Portfolio Manager page.
      Select 'Customize current view...'
      Select the 'Portfolio Columns' tab. (are there options listed in the 'Displayed Columns' section?)
      Click 'Reset to Default'.
      Click through the other tabs there and click the 'Reset to Defaults' buttons.
      -Kevin N.

      Delete
  17. Thanks again Kevin. Your recommendation did not change anything on the Status Bar still blank drop down tab. Not the end of the world just annoying.

    ReplyDelete
  18. Hi there. Today I ran "Get Data" and got this:
    ocketSense OFX Download Python Scripts, Ver: 2023-Jul-20
    Download transactions? (Y/N/I=Interactive) [Y] y
    Default download interval= 7 days
    No accounts have been configured. Run SETUP.PY to add accounts
    Searching .\import\ for statements to import
    Getting security and fund quotes
    Getting quote for: ^SET.BK

    I don't know what to do next. All I did yesterday was deleting cookies.dat. Any helps would be appreciated. Thank you.

    ReplyDelete
    Replies
    1. Sorry, my bad. It just took a long time to get the data.

      Delete
  19. Suddenly stopped receiving quotes. Can anyone help? I'm lost!

    It worked fine on 7/23/25. I run "Setup and Test your accounts" interactively from Microsoft Money every time just to get prices for the dummy account and the window closes before I can see the error messages. When I run GetData.py, I get the following:

    PocketSense OFX Download Python Scripts, Ver: 2023-Jul-20
    Download transactions? (Y/N/I=Interactive) [Y] Y
    Default download interval= 7 days
    No accounts have been configured. Run SETUP.PY to add accounts
    Searching .\import\ for statements to import
    Press to continue...

    Then when I hit the window closes. I have tried deleting cookies.dat to no avail, so I restored the original cookies.dat file.

    ReplyDelete
    Replies
    1. It mysteriously started working normally again when I tried it today. Seems like a quotes server at Yahoo must have been down when I tried last time.

      Delete
  20. Hello, everyone! I'm playing some catch up on my MS Money files and when I ran my GetData.py file, it didn't seem to execute. Cmd window appears to open and closes almost immediately. I've installed the updated pip requests and using Python 2.7 to execute. I also have my Sites.dat file setup but I seem to be missing a step. I've been using the dummy file approach to have Money to Receive Stock Quotes which then update across my accounts that I am managing. Any suggestions of what I can troubleshoot are appreciated. Thanks!

    ReplyDelete
    Replies
    1. It is the expected behavior for Getdata.py to just create certain files on its initial run.
      Can you confirm that you also ran Setup.py?

      Delete
  21. I would open a command window. CD to the folder with PocketSense. Then run GetData.py

    What this gets you is that the window does not close, so you get to see any error message etch that comes to the screen.

    Cal Learner

    ReplyDelete
  22. For additional context, I've been successfully running Pocket Sense for several years until now if that helps. I'll try the CMD window stuff and get back to you.

    ReplyDelete
    Replies
    1. I was able to correct Python from trying to run from another user on my machine; however, running CMD, there is no new entries showing up in either of the GetData or SetUp logs. It shows the last entries back when I last ran it in July 2024. Thoughts?

      Delete
    2. 1. You can get additional debug info printed to the screen by changing approx line #22 control2.py to uncomment it (remove the # character).
      "#Debug = True" becomes "Debug = True"

      2. There are ways to get the output put on the screen in the window copied to a file for examination or sharing. You may already have a favorite way. If you cannot find a way you like, and want to do that, post back.

      Cal Learner

      Delete
    3. I did a complete uninstall and wipe of all Python installations followed by a clean reinstall of Python 2.7.18 in addition to enabling Debug. Ran GetData and voila, it's back as it was and I successfully received ticker updates and imported them into MS Money. I then disabled the Debug line and ran it again successfully. Thanks for the suggestion, Cal. Something worked. ;)

      Delete
  23. PocketSense has a file called Scrubber.py that is included in the downloaded zip file. There is a feature in PocketSense which looks into the PocketSense folder on your computer for any Scrub_*.py files, and runs them at the appropriate time. There can be more than one. They each get executed for processing each OFX file.

    Each scrubber should have code to only work on OFX files that it can handle. My use of this has been different, in that I put scrubbing for all of the financial institutions that I scrub into Scrub_CL7.py. I had earlier versions of my scrubber, the most recent prior version was Scrub_CL6.py. If you were using that scrubber and wanted to switch to a newer version, you could delete Scrub_CL6.py or rename it to Scrub_CL6.py.old.

    The main change to this newer version was the addition of a different Vanguard scrubber. Vanguard stopped providing the OFX file via an OFX server, and switched to web download. They introduced a bug or two.
    1. While the entries for Vanguard mutual funds worked fine, they described Vanguard ETFs and stocks held at Vanguard as mutual funds. This causes errors when importing into Microsoft Money. The prime thing the Vanguard portion of the scrubber does is to change those to stocks (which is also appropriate to ETFs).

    2. The Vanguard download often substitutes the CUSIP for the ticker. If the scrubber detects that, it asks what the ticker is. You can enter that, or if you just hit the enter key, it keeps the ticker as the CUSIP. To avoid doing this each time, a simple lookup was added to the scrubber. To take advantage of this lookup, the user is required to edit the Scrub_CL7.py code to add an entry into the CUSIP_to_ticker_dict, which currently starts at line 329. That line number could change in future versions.

    3. The date stamp sent to Money can result in wrong dates for recorded quotes. Scrub_CL7.py improves that, but is still imperfect. In particular, avoid downloading while the markets are open and for a couple hours after. Most people never notice the wrong date on quote history, including Saturday and Sunday dates, so feel free to continue to ignore.

    When PocketSense runs, it does the look-ups described in the setup, with the aid of the Sites.dat file. In addition, it process any file placed into the Import\ folder, running the scrubber, and feeding the file as a *.OFX file to Money. This is where the Vanguard portion of the scrubber comes into play.

    The use of this scrubber is probably not going to be widespread. Its best scrubbing is for Fidelity. But if you are using Vanguard, along with anything else that gets OFX via PocketSense, it should be useful.

    Financial Institutions scrubbed by Scrub_CL7.py:

    Vanguard QFX in Import\
    Fidelity downloaded by PocketSense from server
    Citibank OFX/QFX in Import\
    CitiCard downloaded from server (including Costco credit card)
    Fidelity downloaded from server
    USAA requested by others long ago... I have not tested.

    If there are users who want a functional change, I can probably do that. I can also write a batch file to move your latest Vanguard OFX download to the PocketSense Import\ folder.

    The current latest version is in vofx3.zip which is available at this link for now:

    https://drive.google.com/file/d/1i7KjI2mQyBYCZsg8mbjLKtS-ttGDl_Kd/view?usp=sharing

    The file in zip file that you need is scrub_CL7.py; there are some other files in there that are mostly oriented toward a Vanguard-only processing that does not use PocketSense. Note that filenames in Windows are not case sensitive. Writing CL in caps here makes it clear that the L is not a one. Checking here and on the Microsoft Money forum for feedback or questions.


    Cal Learner.

    SHA1 Size Name
    ---------------------------------------- ------------- ------------
    fad8ae6db6ad490ba9ba3abb26f05058ecd20f4f 11322 vofx3.zip

    ReplyDelete
    Replies
    1. Cal, thank you so much! I didn't know this existed, apparently I've missed your previous posts about it. My main interest was whether the Fidelity scrubber removed those pesky "increase/decrease collateral" transactions, and YAY! I was so excited when I saw those called out in the code, and it works beautifully. Thank you thank you!

      Delete
    2. Updated scrubber. The changes only affects Vanguard, and new problem discussed on https://groups.google.com/g/microsoft-money/c/zxildh9zz-s but should still work for Fidelity and others. There was a recent change in the Vanguard download page, but also the OFX/QFX may have a new problem that this revised scrubber addresses. The problem can even cause Money crashing. There is a cure if that happens to you.

      New public link of vofx4.zip is https://drive.google.com/file/d/1H2YOtQdI4kWOSpjHGooGNBpiTI83vvZ0/view?usp=sharing
      Replaces earlier vofx3.zip
      SHA1 Size Name
      ---------------------------------------- ------------- ------------
      585a07b68bc92ddb13469970bd16e89645c5a974 13921 vofx4.zip


      SHA1 Size Name
      ---------------------------------------- ------------- ------------
      585a07b68bc92ddb13469970bd16e89645c5a974 13921 vofx4.zip

      Delete
    3. Updated scrubber again. vofx5.zip replaces earlier version. Only Vanguard affected by the change. Older links deactivated.

      New download link
      https://drive.google.com/file/d/1VB77f1pMTNF2zvXqzIAGpQ6pQhpWXJav/view?usp=sharing
      SHA1 Size Name
      ---------------------------------------- ------------- ------------
      e541d78b90ca49b5e1a996cc3a792a6400703dc6 13922 vofx5.zip

      Delete
  24. 6/16/1999 I made my very first MS money entry. My very first paycheck as an adult. 26+ years later... dozens of cars, a few houses, many brokerage accounts and countless credit cards later every single transaction is in there and perfectly accessible in what is still the best and easiest to use personal finance management software out there.
    Grateful that I can still press a button and it imports almost all my accounts and runs flawlessly a quarter decade later. To all the developers at MS 25+ years ago and to people on this board that keep the imports working thank you for making my life so much easier!

    ReplyDelete
  25. My Money downloads have never had any issues. Located at https://microsoftmoneyoffline.wordpress.com/2010/05/09/intro/#downloads

    ReplyDelete
  26. All - Someone may have posted about this already, but I wanted to share a new discovery/process to make download life easier.

    I recently started playing around with PowerAutomate Desktop on my Windows machine. PAD allows you to record keystrokes and mouse clicks, and with a Chrome/Edge (don't know about Firefox) plugin it can easily drive your browser. Best part PAD is FREE for personal use, so no subscriptions to any services!

    I now have it downloading automatically 6 BoA statements (this was my most painful to do manually), 2 Chase statements, and a Target RedCard. In addition to saving multiple manual steps, it also allowed me to quickly set up most downloads to include the past 30 days as opposed to "current" or "last" statement, which was always a pain around the statement close date.

    The workflows get saved in the cloud, but no true identifying information is needed for the workflows. The only thing that gets saved is the last 4 digits of account numbers, since that is how BoA and Chase both identify the clickable link to go to the account.

    It is not the fastest, since it still needs to navigate all the pages, but it is faster and easier than doing it manually.

    Still to do:
    - Download from Vanguard and my credit union
    - I believe there is a secure way of saving passwords using Azure vaults (provided you trust Azure, of course)
    - Figuring out a way to share the flows with you all (right now I could send you a screen shot of what they look like)

    ReplyDelete
    Replies
    1. Thanks for sharing Carlos. Just fyi, but I use the following link for Vanguard. It starts at the standard login page but then goes direct to the download page. I use a password manager, so quick/easy.

      https://personal1.vanguard.com/ofu-open-fin-exchange-webapp/ofx-welcome

      Delete
  27. I'm so sorry everyone! I apparently jinxed us. Not one week after I got PowerAutomate working BoA has discontinued OFX downloads from all its accounts.

    ReplyDelete
  28. This might be the end of the line for me. I suppose I could use the CSV conversion scripts, but it is becoming more and more convoluted.

    ReplyDelete
  29. Along with Carlos I'm completely bummed that BofA/Merrill Lynch no longer provide OFX or QFX downloads. Since they were my main banking and credit card provider (along with 2 Merrill accounts) I'm really pissed. The only option is to use a CSV to OFX converter. Can anyone comment on their experience with a converter? Naturally I'd prefer the least expensive program, but I want one that needs the least amount of tweaking to get it to work. Your suggestions are greatly appreciated. Slowly but surely it seems that financial institutions are giving up their commitment to letting us download our info conveniently :(

    ReplyDelete
    Replies
    1. There is a script by djevel that converts BoA's "My Financial Picture" csv files to ofx. It has the added advantage that "My Financial Picture" is an aggregator so it will download multiple BoA files or even files from other banks (if you connect them to BoA) all in one swoop. It's free, and seems to work well. He has the scripts hosted on Dropbox:
      https://www.dropbox.com/scl/fo/tb9ibf48ocr930v9ig6s8/h?rlkey=whn6cw6f7y6055z82px003bxv&dl=0

      Delete
    2. @Carlos. Greatly appreciate the info and link. I'll give it a try and keep my fingers crossed that it works :)

      Delete
    3. @carlos. I can't thank you enough for directing me to Jon Larssen's My FinancialPicture program. With his help I was able to get it working (BofA had implemented a syntax change which caused the program to close). I've been able to link almost all my accounts (which are many!) and have them automatically loaded into Money. It's almost back to how it was before Microsoft shut down direct updates.

      Delete
  30. Importing a Vanguard QFX file has stopped working, and the import is crashing microsoft money. Reading a couple of comments here and on quicken forums seems to point to a recent change that Vanguard has made. But being not very technical I am not understanding the problem or how to implement the suggested fixes. Can someone explain in stupid terms what the issue is and if it is something that needs to be resolved on Vanguard's end? I am trying to keep my Money going but it is getting more difficult as companies seem to be eliminating OFX downloads.

    ReplyDelete
    Replies
    1. Vanguard OFX/QFX problems solution: For Vanguard use with Pocketsense, previous posts on a scrubber that includes this are dated
      October 17, 2025
      November 28, 2025

      If not using PocketSense, see https://groups.google.com/g/microsoft-money/c/tUVD6SZsn8I/m/XQA6Ca1IAAAJ for a method that does not need PocketSense.
      You can ask questions here or there.

      Delete
    2. Thank you Cal for Ver4!!!! :-)

      Delete
    3. And FYI for those whose MS-Money crashes, I wasn't able to restart Money at first and restored my latest backup each time. Later, I figured out that if I cleaned up all Windows System temporary files, I could at least restart Money without a restore. Many ways to do this. I just happen to have Bitdefender Antivirus which has an Optimize utility that does the trick for me.

      Delete
    4. Another way to stop Microsoft from crashing on startup after an aborted attempt to ingest the Vanguard OFX is to use registry editor to clear out the following key:
      Computer\HKEY_CURRENT_USER\Software\Microsoft\Money\17.0\Import Files

      Delete
  31. Anyone having problems with Fidelity Netbenefits? Out of the blue, I got an invalid file, with enough cleartext to tell me that I did not have permission to access netbenefits download.

    ReplyDelete
    Replies
    1. I'm getting Access Denied errors with Fidelity since yesterday

      Delete
    2. Harold and anonymous: Fidelity not-netbenefits still works with PocketSense for me.

      If the problem continues, there is a possibility that F2O could work, but it depends on the CSV files. There is currently a bug where the History OFX column headings are not correct, and I have not looked to modify F2O to work around that. I figure that will get fixed. I also don't know for sure if the Positions and History CSV files are the same between Netbenefits and not-netbenefits ... although I suspect they are.

      Keep us informed.

      Delete
    3. I posted earlier that I was getting Access Denied. I found a post from 2020 that said to add ":443" to the ofx URL so like https://ofx.fidelity.com:443/ftgw/OFX/clients/download. After I did that, Fidelity is working again. Not sure why it worked for me for 5 years without that in the URL while others got errors in 2020.

      Delete
    4. Thank you so much, Anonymous!!! I am using the Netbenefits side of Fidelity, and the same solution worked for me, too! My now-working URL is https://nbofx.fidelity.com:443/netbenefits/ofx/download

      Delete
    5. Thanks, Cal, for the offer. Out of curiosity, are you using the 443 thing in your URL for Fidelity?

      Delete
    6. Harold: I am using the :443

      <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 : 20
      timeOffset: # do not use withy my scrubber. Maybe -34 without.
      </site>

      Delete
    7. I should have added that you can copy your sites.dat and ofx_config.cfg files and the new scripts should work without any additional setup.

      Delete
    8. My fidelity downloads stopped working on December 1st as well. I went back and added the ":443" in the URL and everything is working again.

      Delete
    9. Thanks! Same issue. Adding the 443 alone did not fix it at first. I had a blank brokerid field which worked fine with the non 443 url, but did not with the 443. Once I added "brokerid : fidelity.com" and made the 443 change all is back working again here.

      Delete
  32. All - I know that a number of folks have ported PocketSense to Python3. All of those projects consisted of a one-time port, and only one has the most recent set of Robert's files.

    With Robert's permission I have started a new port. My expressed goal is to refactor some of the PocketSense code to make it easier to integrate one (or more) of the CSV to OFX converters out there. My intent is to over the next few months release a new version of PocketSense that is a one stop shop. This seems to be critical as more banks eradicate the use of OFX altogether.

    For now my initial port to Python 3 is complete and can be found here:
    https://github.com/spaceman1313/PocketSense3

    I welcome test users. At this point the only bank I have that still uses direct OFX downloads is Fidelity, so my ability to thoroughly test the scripts is somewhat limited.

    ReplyDelete
    Replies
    1. Carlos: Tried without my scrubber but my connect.key, ofx_config.cfg, sites.dat .
      ===test ERROR screen snip================
      %my%\ps3_dev>C:\apps\python\WPy64-31160\python-3.11.6.amd64\python.exe getdata.py

      PocketSense OFX Download Python Scripts for Python 3, Ver: 3.0.beta
      Download transactions? (Y/N/I=Interactive) [Y] Default download interval= 18 days
      Traceback (most recent call last):
      File "%my%\ps3_dev\getdata.py", line 145, in
      status, ofxFile = ofx.getOFX(acct, interval)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "%my%\ps3_dev\ofx.py", line 336, in getOFX
      client = OFXClient(site, user, password)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "%my%\ps3_dev\ofx.py", line 102, in __init__
      self.clientuid = clientUID(self.url, self.user)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "%my%\ps3_dev\rlib1.py", line 98, in clientUID
      key = hashlib.md5(urlHost+username).digest()
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      TypeError: Strings must be encoded before hashing
      ================end screen snip=================
      I have not yet tried my scrubber with PS3 but intend to. Scrub_CL7.py available in vofx4.zip at https://drive.google.com/file/d/1H2YOtQdI4kWOSpjHGooGNBpiTI83vvZ0/view?usp=sharing
      Ideally I would make that work with Python 2 or 3. You might take a look.

      Future note: F2O (specific Fidelity CSV to OFX converter) does not work temporarily because the Fidelity History CSV files are messed up at the moment. https://microsoftmoneyoffline.wordpress.com/2024/02/03/cals-fidelity-specific-csv-to-ofx-converter/

      Delete
    2. Thanks Cal! I'll take a look into this and why it didn't cause an error on my machine. I have also entered it as issue#1. At this point, I do not think I will be making the update backward compatible with Python 2. Not only do I not have the time to test on multiple platforms, as part of cleaning up some of the code I may be using Python 3 specific upgrades. (e.g. match statements, f strings, etc). Visual Studio Code also doesn't allow debugging on Python 2 any more. I realize that this may limit some users...

      Delete
  33. Carlos...
    1. https://www.reddit.com/r/learnpython/comments/ubi237/had_to_convert_python2_code_to_python3_getting/ may explain it.

    2. I was planning to try to make Scrub_CL7.py work with Python2.7 or Python3. If I succeed and report success, you might want to then try Scrub_CL7.py. I think it offers some good things for the Fidelity user, but also the Vanguard user who does not only use mutual funds, and might feed the website-provided qfx via PocketSense via the import folder.

    The ease of working with strings and byte-objects is really convenient in Python 2.7. New paradigm in Python3.

    3. Finding a hash that works in both Python2.7 and Python3 and gives the same hash value is also hard. Hashing is not used in that scrubber, but it is important in F2O for making repeatable FITIDs. Not your problem.

    ReplyDelete
    Replies
    1. Cal - Problem has been fixed and updated files in github. Encoding solution was pretty trivial.

      The hash difference between Python 2 and 3 is something I hadn't even considered. Yet another reason why I'm gonna stick with just 3.

      Current work is focused on modularizing GetData to make the flow easier to follow, the prompting more consistent, and ultimately facilitate bringing in CSV converters and potentially different kinds of scrubbers. I'm not 100% sure where I'm going, but hopefully will have something by New Years. In the process I'm making code that I edit be PEP 8 compliant, which again should make it easier for folks to look at and edit.

      Delete
    2. Tried setup.py and getdata.py. Here are screen captures... Not sure if both will fit into this post.


      %my%\Documents\MN\ps3_dev>python3 setup.py

      %my%\Documents\MN\ps3_dev>C:\apps\python\WPy64-31160\python-3.11.6.amd64\python.exe --version
      Python 3.11.6

      %my%\Documents\MN\ps3_dev>C:\apps\python\WPy64-31160\python-3.11.6.amd64\python.exe setup.py


      PocketSense OFX Download Python Scripts for Python 3, Ver: 3.0.beta


      ----------Main Menu-----------
      1. Add or Modify Account
      2. List Accounts
      3. Delete Account (or reset connection)
      4. Encrypt account settings

      6. Enable Stock/Fund Quotes
      7. Test Account
      8. About
      0. Save & Exit
      ------------------------------
      Selection: [0] 7



      Site Account Type UserName
      ----------------------------------------------------------------------
      Traceback (most recent call last):
      File "%my%\Documents\MN\ps3_dev\setup.py", line 384, in
      list_accounts()
      File "%my%\Documents\MN\ps3_dev\setup.py", line 75, in list_accounts
      clientUID = rlib1.clientUID(url, user)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "%my%\Documents\MN\ps3_dev\rlib1.py", line 103, in clientUID
      dTable = pickle.load(f)
      ^^^^^^^^^^^^^^
      UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)

      %my%\Documents\MN\ps3_dev>

      ======================setup.py above, getdata.py below===========================
      %my%\Documents\MN\ps3_dev>python3 getdata.py

      %my%\Documents\MN\ps3_dev>C:\apps\python\WPy64-31160\python-3.11.6.amd64\python.exe --version
      Python 3.11.6

      %my%\Documents\MN\ps3_dev>C:\apps\python\WPy64-31160\python-3.11.6.amd64\python.exe getdata.py


      PocketSense OFX Download Python Scripts for Python 3, Ver: 3.0.beta
      Download transactions? (Y/N/I=Interactive) [Y] y
      Default download interval= 18 days
      Traceback (most recent call last):
      File "%my%\Documents\MN\ps3_dev\getdata.py", line 145, in
      status, ofxFile = ofx.getOFX(acct, interval)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "%my%\Documents\MN\ps3_dev\ofx.py", line 336, in getOFX
      client = OFXClient(site, user, password)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "%my%\Documents\MN\ps3_dev\ofx.py", line 102, in __init__
      self.clientuid = clientUID(self.url, self.user)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "%my%\Documents\MN\ps3_dev\rlib1.py", line 103, in clientUID
      dTable = pickle.load(f)
      ^^^^^^^^^^^^^^
      UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)

      %my%\Documents\MN\ps3_dev>

      Delete
    3. Thanks Cal. I noticed that the format of the ofx_config.cfg file was different between Python2 and 3. I'll have to sort out the whole pickle thing. Mine seemed to transition seamlessly. I wonder why yours isn't. I don't want to add a bunch of stuff for debugging in this blog, so if you don't mind feel free to reach me at pocketsense3 at the old g email service.

      Delete
    4. @Cal - when you transitioned from you copied the connect.key file? Try without copying it, I'd be curious to see what happens. I believe a new key file is generated, but I'm not 100% sure what happens if the keys are different. Robert may be able to pipe in on that one. If deleting the code doesn't work, I can the pickle functions have backwards compatibilities, I need to see if I can duplicate the issue.

      Both of the clientUID and the md5 hash issues appear to arise from the same issue. That code is only used for ofxVer > 102. My Fidelity connections use ofxVer 102 and sadly that is the only bank I have left that uses direct connect.

      Delete
    5. Carlos: I have tried experiments, and will email much longer notes. I found that I could not run setup.py and add a test account with the included files, and choosing to set up a mythical USAA account. I expect the USAA server is not there, and the code did not fail gracefully.

      I then brought over my sites.dat, and again tried setup, but without bringing my ofx_config.cfg, for a real working pair of accounts at the same broker. Downloading OFX worked. The produced ofx_config.cfg was not ASCII. So windows TYPE command did not work, Notepad++ did not work, and Windows Notepad did not work. Those show gibberish.

      Delete
  34. The Vanguard Crash Issue appears to be fixed! This afternoon's download worked well

    ReplyDelete
  35. This comment has been removed by the author.

    ReplyDelete
  36. ver the last couple weeks I've implemented Jon Larssen's program, My Financial Picture, which has allowed me to resume downloading transactions from BofA and Discover. He has been exceedingly helpful with his time and expertise as I had some peculiar issues. One thing he mentioned was using the /import folder to automatically run the OFX files. I found out I'm using an older version of Pocketsense and there's no /import folder. Because of this I updated Pocketsense to the most recent version. However, after updating, getdata quickly opens and closes. As best I can tell getdata is associated to Python 2.7 so I don't believe that's the cause. Although I can live without the /import folder, it would be nice to have. Any ideas how to fix getdata?

    ReplyDelete
  37. Ken: Your symptom of open, then close sounds similar to the "poison OFX" problem Vanguard had fairly recently. The fix was to either delete the %TEMP%\*.OFX files or to use RegEx to delete the key that pointed to the bad file so that Money no longer tries to download that file. Vanguard fixed that bug, so once you got rid of the temp file or the registry entry, the problem did not reoccur. Here is the not-case-sensitive command I would use:

    del %temp%\*.ofx

    Your Python should have the requests package, but many come with that. This has info on the requests package:
    https://pocketsense.blogspot.com/2023/07/new-version-available.html

    ReplyDelete
    Replies
    1. The requests package was the problem. With help from Jon I was able to install it and getdata runs perfectly. Thanks!

      Delete
  38. Appears that Fidelity has killed OFX access and disabled both the ofx.fidelity.com and ofx.fidelity.com:443 URLs.

    ReplyDelete
    Replies
    1. I'm having the same problem with Fidelity. This happened a few years ago and they restored access after a few days. Keeping my fingers crossed this will be the same, but I doubt it. My investment life revolves around Fidelity and the idea of manually entering transactions across several accounts is too terrible to think about. If anyone has a solution, please post it.

      Delete
  39. Alert: Fidelity PocketSense Users: Do not do GetData today!

    Keep a copy of your current Fidelity*.ofx files that are in the XFR folder before proceeding.

    Those previously successful OFX files can make creating the database that F2O uses much easier.

    GetData deletes existing *.OFX files from the XFR folder before trying to fetch new ones. So if Fidelity server stops working for you, as it did for me today, you could lose the latest successful Fidelity OFX files. Using Setup.py to run test is safe. It will try to get new OFX files for an account without deleting the existing OFX files.

    https://microsoftmoneyoffline.wordpress.com/2024/02/03/cals-fidelity-specific-csv-to-ofx-converter/

    ReplyDelete
    Replies
    1. Ken, you will not be alone. I had been concentrating on those who can save OFX files for the F2O_DBgather, but I will try to make a stripped down procedure for those with no saved OFX files.

      Part of what I will work on is to include F2O_cfg.py in a newer distribution, and that file will contain these two lines.

      IGNORE_BEFORE_YYYYMMDD="20251210"
      DEBUG=0

      My last downloaded Fidelity transactions were dated Dec 9, so this avoids the overlap/duplicate transaction problem. It is easier to do than choosing a range for transaction download dates. Just take the defaults.

      If you play with F2O before I put up a later version, I suggest you add that file to the F2O folder.

      A problem with overlap is that F2O generates FITIDs with its own algorithm, and Money's way to identify new vs seen transactions is the FITID.

      My F2O_DB.csv may not tolerate quotes. If people have a good way to make their spreadsheet program not introduce quotes for strings, then a spreadsheet could be used to produce the F2O_DB.csv database.

      I expect to do some work today, but then I will have to be away from the work for almost a week.

      Delete
  40. Hi All,

    Try this...

    In sites.dat add the following to the Fidelity parameters:

    userAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0

    -Kevin N.

    ReplyDelete
    Replies
    1. Kevin: Worked for me too!

      <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 :
      userAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0
      mininterval : 20
      timeOffset: # do not use withy my qq scrubber. Maybe -34 with released.
      </site>

      Delete
    2. Kevin, this worked for me, thanks!

      Cal, thanks for the warning, luckily I saw it before using GetData so I made a copy of my last sucessful download. Is F2O_beta11a.zip ready to try, or should we stick with 10a for now?

      Delete
    3. Thank you Kevin; I can confirm that this addition also works with the Fidelity NetBenefits site!

      Delete
    4. 11A is definitely better than 10A. Splits, seem to not generate ideal stuff, but the files import into Money without Money detecting an error. OFXAnalyze detects some flawed transactions. I will take the opportunity to study some more, starting about a week from now. With Money splits I generally voided the downloaded transactions, entering splits and spinoffs manually.

      So I will use parallel Money files while PocketSense can load Fidelity successfully. If you did some testing, that would be appreciated.

      Delete
    5. @Kevin @ Cal Thank you, thank you, thank you! Being an end user and not a Python programmer I have no idea how you came up with the agent that opened the door to allowing OFX downloads again. Who knows how long this workaround will last, but I now have saved all the OFX files as of today for whenever I need to implement F2O. Guess I should start working on understanding how to do that so I don't end up in this situation again. Happy holidays!

      Delete
    6. Thanks all! So glad to still have this supportive community!

      Delete
    7. Hi All,

      I'm glad to hear that I'm not the only one it worked for.

      -Kevin N.

      Delete
    8. Hey Cal, I should be able to test it out some over the next week. In the blog you mentioned some uncertainty about different types of accounts, and I'll be able to help with some of those. I have normal taxable accounts, IRAs, and a UGMA (not 529 though). Not sure if this one makes a difference but I also manage and download my wife's IRA as an authorized user, so that might be a twist. In any case, I'd definitely like to be prepared for if/when they cut off OFX. Thanks for keeping up the fight!

      Delete
    9. Forgot to mention HSA as well. That one's interesting since it'll have card payments and such similar to a bank account in addition to investment activities.

      Delete
    10. Thanks for the update Kevin. This looks similar to a change made a while back to get Regions access back after downloads quit working. Fidelity and Regions are the only two sites that still work for me from my original list of about six institutions.

      Delete
    11. This comment has been removed by the author.

      Delete
    12. Thanks Kevin worked for me too. Ah, ha, ha, ha, stayin' alive, stayin' alive!

      Delete
    13. Thank you Kevin! I added useragent and Fido is working again. And I saved the generated OFX files just in case. Ron

      Delete
  41. The userAgent works for both fidelity AND netbenefits. Thanks Kevin for discovering! Hopefully (fingers crossed) them updating the link to only utilize some user agents means that they are maintaining and keeping it around a bit longer.

    ReplyDelete
    Replies
    1. The UserAgent addition appears not to work for my NetBenefits on Fidelity. I'm using an old old version of Pocketsense (November 2019), and here is what my sites.dat looks like for Fidelity/NetBenefits:


      SiteName : FIDELITY NETBEN
      AcctType : INVSTMT
      fiorg : nbofx.fidelity.com
      BrokerID : nbofx.fidelity.com
      fid : 8288
      url : https://nbofx.fidelity.com:443/netbenefits/ofx/download
      appid :
      appver :
      userAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0
      minInterval: 30


      It worked fine last week.

      What is the magic of userAgent? In other words, what does that do?

      Thanks for helping....

      Harold

      Delete
    2. @Harold,

      Go to https://whatmyuseragent.com/ and see if the userAgent displayed there is different than the one currently in your sites.dat. If so, copy the UA and paste the new UA into sites.dat.

      There is an explanation of what the userAgent is on their website.

      If changing the UA doesn't work, you may want to try updating your version of PS.

      -Kevin N.

      Delete
    3. Thanks, Kevin. I tried it, but it still did not work. I imagine I need a PS update to make it happen.

      Since I have no idea how to even start with that, I guess I will add Fidelity to the list of sites that no longer automatically download for me.

      At this point, I have exactly one site that still works in PS. I guess it was a good run while it lasted....

      Delete
    4. @Harold - I checked my sites. for Net Benefits and it looks the same as yours, but with a mininterval of 60.

      To update to the latest pocketsense :
      - Copy the entire pocketsense folder to a new folder in case you hose something up.
      - in this blog, go to the last entry that has a new version. I believe it is the July 19 2023 entry.
      - download the .zip file
      - copy all of the files from the zip file into your pocketsense directory, overwritting the existing files.

      Provided you haven't done any manual edits to the code itself, this should retain your entire configuration.

      Delete
    5. @Harold,
      I see that Carlos has already provided instructions to update PS.
      Instructions from Robert are provided on his website. https://sites.google.com/site/pocketsense/home/msmoneyfixp1/p2

      -Kevin N.

      Delete
    6. My Fidelity NetBenefits sites.dat:
      SiteName : FIDELITY NET BENEFITS
      AcctType : INVSTMT
      fiorg : nbofx.fidelity.com
      BrokerID : nbofx.fidelity.com
      fid : 8288
      url : https://nbofx.fidelity.com:443/netbenefits/ofx/download
      appid : QWIN
      appver : 2400
      minInterval: 90
      userAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0

      And regular Fidelity:
      SiteName : FIDELITY
      AcctType : INVSTMT
      fiorg : fidelity.com
      BrokerID : fidelity.com
      fid : 7776
      url : https://ofx.fidelity.com:443/ftgw/OFX/clients/download
      appid : QWIN
      appver : 2400
      minInterval: 90
      userAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0

      Delete
  42. Too late for me as I had done GetData on December 12.

    The following did not work for me:


    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 :
    userAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0
    mininterval : 20
    timeOffset: # do not use withy my qq scrubber. Maybe -34 with released.


    However, I have old .ofx files from November 20 and March 20 if that will help me. Can someone suggest how I should proceed? Thanks!

    ReplyDelete
  43. Joe, your descriptor content looks the same as mine, but your <site> and </site> did not come through. Getting that removed from a posting is a quirk of the blogspot forum, and I deal with that by replacing < characters with these four characters: &lt; Only the < needs replacing for for most PocketSense posting purposes.

    No need to re-post yours, but they are there in your sites.dat file.

    Keep saving those old OFX files. Since the Fidelity server is working now, lets work on that. Is there any *.ofx file in your PocketSense XFR folder?

    If yes, look at contents with Notepad etc. Look for some error message.

    If no, I would use setup.py and do a test on the Fidelity account. Look for messages. It is possible to do a screen capture. I run setup.py in a command window. You might copy things from the screen, and insert things into a post. Don't post account numbers, or other things that might be sensitive, of course.

    When you run setup.py, there will be PocketSense OFX Download Python Scripts version information.
    If you just run "python --version" you should get Python version info.

    If you want to get F2O working now concurrently, I welcome that. But right now PocketSense is the priority.

    ReplyDelete
  44. I just noticed my last post didn't show up. Right now if I run getdata.py it just closes after I run it.

    ReplyDelete
  45. If you run it in a command window, that will stay open. One way to open a command window is to enter "cmd" in the run box. https://www.solveyourtech.com/how-to-open-command-prompt-in-windows-11-a-step-by-step-guide/ talks of several ways. In order to run getdata.py or setup.py in a command window, you will want to use the CD (change directory) command. Hmmm https://www.howtogeek.com/659411/how-to-change-directories-in-command-prompt-on-windows-10/ talks about ways I was not aware of, and maybe that will work better for you. Note that this topic works for Win 11 the same as for 10, etc.

    ReplyDelete
  46. D:\Microsoft Money\OFX Scripts>getdata.py
    PocketSense OFX Download Python Scripts, Ver: 04-Jan-2020

    Download transactions? (Y/N/I=Interactive) [Y] y
    Download interval= 7 days
    Traceback (most recent call last):
    File "D:\Microsoft Money\OFX Scripts\Getdata.py", line 139, in
    status, ofxFile = ofx.getOFX(acct, interval)
    File "D:\Microsoft Money\OFX Scripts\ofx.py", line 326, in getOFX
    site = userdat.sites[sitename]
    KeyError: 'FIDELITY INVESTMENTS'

    ReplyDelete
  47. Joe: Your PocketSense files are older (Ver: 04-Jan-2020.

    I suggest you download the newest version. https://sites.google.com/site/pocketsense/home/msmoneyfixp1/p2 "Install the PocketSense Package" section.
    Maybe make a copy of all of your files in your PocketSense folder, perhaps into a zip file. Download the newer zip file , and extract all of the files into your your PocketSense folder, replacing older files. See if that makes things better.

    In the left column of that PocketSense page, you can click on things like Revision History. You may also have to update your Python.

    The files that you will keep from before are ofx_config.cfg, connect.key, and sites.dat. So if you decide to make a new folder, rather than updating the old folder, copy those three files over.

    ReplyDelete
  48. Downloaded the latest version of PocketSense. Also installed Python 2.17.18 although I think that's what I already had. Still can only run GetData.py in a command window. Returns:

    D:\Microsoft Money\OFX Scripts>getdata.py
    Traceback (most recent call last):
    File "D:\Microsoft Money\OFX Scripts\Getdata.py", line 48, in
    import ofx, quotes, site_cfg, scrubber
    File "D:\Microsoft Money\OFX Scripts\ofx.py", line 69, in
    import requests, collections
    ImportError: No module named requests

    Running setup.py returns:

    D:\Microsoft Money\OFX Scripts>setup.py
    Traceback (most recent call last):
    File "D:\Microsoft Money\OFX Scripts\Setup.py", line 33, in
    import pyDes, ofx, quotes, site_cfg, filecmp
    File "D:\Microsoft Money\OFX Scripts\ofx.py", line 69, in
    import requests, collections
    ImportError: No module named requests

    My sites.dat info is:


    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 :
    userAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0
    mininterval : 20
    timeOffset: # do not use withy my qq scrubber. Maybe -34 with released.


    As always, thanks for your help!

    ReplyDelete
    Replies
    1. See step 1.a.2 at https://sites.google.com/site/pocketsense/home/msmoneyfixp1/p2

      Delete
  49. Thanks. Robert. Result is:

    PS C:\Python27> pip install requests
    DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
    Collecting requests
    Downloading https://files.pythonhosted.org/packages/2d/61/08076519c80041bc0ffa1a8af0cbd3bf3e2b62af10435d269a9d0f40564d/requests-2.27.1-py2.py3-none-any.whl (63kB)
    |UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU| 71kB 1.8MB/s
    Collecting idna<3,>=2.5; python_version < "3" (from requests)
    Downloading https://files.pythonhosted.org/packages/a2/38/928ddce2273eaa564f6f50de919327bf3a00f091b5baba8dfa9460f3a8a8/idna-2.10-py2.py3-none-any.whl (58kB)
    |UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU| 61kB 2.0MB/s
    Collecting chardet<5,>=3.0.2; python_version < "3" (from requests)
    Downloading https://files.pythonhosted.org/packages/19/c7/fa589626997dd07bd87d9269342ccb74b1720384a4d739a1872bd84fbe68/chardet-4.0.0-py2.py3-none-any.whl (178kB)
    |UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU| 184kB 3.2MB/s
    Collecting certifi>=2017.4.17 (from requests)
    Downloading https://files.pythonhosted.org/packages/37/45/946c02767aabb873146011e665728b680884cd8fe70dde973c640e45b775/certifi-2021.10.8-py2.py3-none-any.whl (149kB)
    |UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU| 153kB 3.3MB/s
    Collecting urllib3<1.27,>=1.21.1 (from requests)
    Downloading https://files.pythonhosted.org/packages/33/cf/8435d5a7159e2a9c83a95896ed596f68cf798005fe107cc655b5c5c14704/urllib3-1.26.20-py2.py3-none-any.whl (144kB)
    |UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU| 153kB 2.1MB/s
    Installing collected packages: idna, chardet, certifi, urllib3, requests
    Successfully installed certifi-2021.10.8 chardet-4.0.0 idna-2.10 requests-2.27.1 urllib3-1.26.20
    WARNING: You are using pip version 19.2.3, however version 20.3.4 is available.
    You should consider upgrading via the 'python -m pip install --upgrade pip' command.

    When I run getdata.py result is:

    PocketSense OFX Download Python Scripts, Ver: 2023-Jul-20
    Download transactions? (Y/N/I=Interactive) [Y] y
    Default download interval= 7 days
    Traceback (most recent call last):
    File "D:\Microsoft Money\OFX Scripts\Getdata.py", line 145, in
    status, ofxFile = ofx.getOFX(acct, interval)
    File "D:\Microsoft Money\OFX Scripts\ofx.py", line 316, in getOFX
    site = userdat.sites[sitename]
    KeyError: 'FIDELITY INVESTMENTS'

    ReplyDelete
  50. Joe: I suspect you have the string 'FIDELITY INVESTMENTS' in your sites.dat. The two descriptors you posted have "SiteName : FIDELITY" and "SiteName : FIDELITY NET BENEFITS", but not 'FIDELITY INVESTMENTS'. So I suspect you have an additional descriptor in sites.dat, and I suspect that is causing a problem.

    If you ran this command in a command window, I expect it will show a line number and content of a line in your sites.dat. And when you set up the account you chose the wrong

    find /N "FIDELITY INVESTMENTS" D:\Microsoft Money\OFX Scripts\*.dat

    This command may also be interesting:

    find /N "SiteName" D:\Microsoft Money\OFX Scripts\sites.dat

    There you will find all of the names presented to you when you go to add an account.

    find is a Windows command which is similar to grep. findstr is a newer command with more features, but I am used to the original.

    ReplyDelete
  51. Let me add an action item, if things are what I suspect. I would list the accounts, and expect one says FIDELITY INVESTMENTS. Delete that account. Set up a new replacement account with the entry FIDELITY by itself. Test it, and expect that to work. I would also remove that bad site descriptor from sites.dat at some point during the process, so that you don't use it again.

    ReplyDelete
  52. Eureka! Thanks for pointing me in the right direction. I just changed the site name from FIDELITY to FIDELITY INVESTMENTS and all is good. Can I buy you a drink?

    ReplyDelete
  53. Joe: That's very interesting. So you had no extra entry in sites.dat? Makes me wonder about what interaction goes on with sites.dat, if the name in ofx_config.cfg does not match a descriptor in sites.dat.

    Congratulations on your perseverance.

    Can I interest you in my scrubber that is best for Fidelity, but does some others also? See previous posts on that:
    See post Cal Learner October 17, 2025 which describes the concept and motivation. (link superseded)
    Then see Cal Learner December 6, 2025 which has the link to the latest.

    ReplyDelete
    Replies
    1. Thanks. I only just use Fidelity and it seems to work very well for me right now.

      Delete
  54. Hi folks. I see a number of you have downloaded the PocketSense version for Python 3. Thanks to Cal for finding a number of bugs (including one that impacts the original PocketSense). I would love to have some more people trying out the ported version. It's hard for me to do complete testing when only one of my banks uses direct downloads anymore. Please report any issues through github's issue tracker or by emailing me at the address found in the README.md file (if your readme doesn't have my email address you are not using the most up to date version, released today).

    The main branch found in github is a straight port of Robert's original Python 2 scripts with a number of fixes to account for Python 3 changes. In parallel I'm slowly working on an overall updated version that will make it easier to implement scrubbers as well as CSV conversion front-ends.

    PocketSense3 can be found here:
    https://github.com/spaceman1313/PocketSense3

    ReplyDelete
  55. I am subscribed to this blog and was receiving emails up until last March. Has anyone else had this problem? Is there a solution? (It may be that checking the Notify Me box on this post will fix it, and it broke when this new thread was started which was about the same time). Maybe another issue with the 200 message limit?

    ReplyDelete
    Replies
    1. It does seem that selecting "Notify Me" fixed the problem. I guess I have to do this whenever we go over the 200 message level. Or am I missing something else?

      Delete