USAA Script to fix the broken download issue

Stuart Beesley (Mr Toolbox)'s Avatar

Stuart Beesley (Mr Toolbox)

24 Feb, 2021 06:40 AM

Need to reconnect to USAA? I have written a (run one-time only) script to make USAA download to Moneydance work again. All it does it fix your connection profile. You simply run once, and then use standard Moneydance. It's not needed again.

This is now the IK recommended fix as they are working on 'medium and long-term' improvements to ofx connections

You must be on MD version 2019.4 (build 1904) or newer (if older, you must upgrade, else usaa will never work again).

[@@ UPDATE Oct 2021: This script is now built into the Toolbox extension (MD2021 onwards) under the Online Banking menu and it also works with MD2022 too. Further, we have worked with Moneydance so that once you have ‘primed’ MD with your USAA specific ClientUID number(s), the standard Moneydance Online Setup will work. Further again, there is now an even simpler way to get the connection working (which we haven’t documented: In Toolbox run the USAA ‘Prime’ option and then just use standard MD Online Setup. Lastly, if you need to get multiple UserIDs working, then Toolbox / Online Banking / OFX Authentication / Edit Multiple UserIds. NOTE: if you still just want the script, it’s still available, read on…. @@]

Following these simple, but complete, PDF instructions will make USAA download to your Moneydance file.

My python script creates a new USAA profile in Moneydance to replace the broken USAA profile. It has been used since Feb 23 by more than 100+ users successfully 😃

This script will allow you to download USAA transactions again. It isn't rocket science, really. You don't have to wait for IK/MD to fix the problem, nor will it stop you from embracing the Moneydance fix if/when it happens. I just fix the connection profile.

NOTE: usaa have changed their download data (content, format). If you get some data duplication afterwards, this is NOTHING to do with the script, it's what usaa are now sending. You simply need to do a one-time cleanup, keep the new data, and that's it.

DISCLAIMER: I have no affiliation with Moneydance. It's entirely possible that this won't work for you. Pretty much the worst that can happen is that your bank logon / service profile won't work - but then it's not working anyway.. You can always just delete the profile and start again, if you wish.

PLEASE ALWAYS BACKUP YOUR DATA FIRST!

The first thing to do is read the walk through PDF guide: ofx_create_new_usaa_bank_custom_profile.pdf

The latest PDF guide (now version 8a) is always here:
[https://github.com/yogi1967/MoneydancePythonScripts/raw/master/sour...]

The latest zip file containing the script to fix USAA/Moneydance is at: [https://github.com/yogi1967/MoneydancePythonScripts/raw/master/usef...]

FYI - When you click these links, you may see a blank screen (depending on your browser) and the file(s) will auto download to your downloads folder

You need to unzip this file. The script is called: ofx_create_new_usaa_bank_custom_profile.py

Quick Details:

  • Make a backup first.
  • Read the instructions.
  • Once you run the script, Moneydance takes over with the new profile.

PS - If you get issues ensure a) you are connecting from a USA IP; and that any PiHole, Blockers etc are not getting in the way..

If you have problems, post - We love to solve problems.

CREDITS and thanks: @dtd and @hleofxquotes

I am not support, just a fellow user and creator of the very free and most-excellent Toolbox 🧰 extension for Moneydance.
The latest useful_scripts.zip package and Toolbox are on my site: [https://yogi1967.github.io/MoneydancePythonScripts/]

Showing page 5 out of 22. View the first page

  1. 121 Posted by dtd on 07 Mar, 2021 01:40 AM

    dtd's Avatar

    And for others reading, my two accounts (checking/credit card) have worked rock solid in the two weeks since I made the real change. I didn't deal with the connection glitch, so that may be a factor.

    But overall, (and yes please test) if you have a couple of accounts, this should be pretty solid. But yes, figuring out how moneydance fights with the fix, as well as connection issues, or multiple logins - is part of the process.

    But please if you try and succeed (or fail) we'd love to hear about it.

  2. 122 Posted by gnuite on 07 Mar, 2021 01:54 AM

    gnuite's Avatar

    dtd: It certainly seems like an educated guess, as in all my testing, whenever I add a new USAA connection (alongside the others), the previous ones all stop working.

    More interestingness: despite having different USAA logins and Quicken username/password, my wife's and my Quicken credentials actually have the same Client ID. I don't know if that's a coincidence, but I thought it might mean that--since Moneydance asks me for username/password each time I Setup Online Banking--I could set up a single connection and use it for both logins, by simply providing the different username/password for each bank account (depending on whether it's mine or my wife's).

    And it sort-of works - in the sense that it works the same as running the create script twice: I can SETUP Online Banking for the second login (it shows the second login's accounts fine!), but attempting to download transactions for the second login results in the same Error 2000. (First login continues to work fine.)

    Still not sure what it means - maybe there's some logic tying the Client ID to the username and/or passsword that prevents transactions from being downloaded (but somehow still allows account lookup to work).

  3. 123 Posted by dtd on 07 Mar, 2021 02:05 AM

    dtd's Avatar

    Good info.

    I'm assuming your statement about "the previous ones stop working" is about multiple logins, because we have had folks add accounts without this issue (well, i think so, but i'm not there)

    if you have the same clientuid, it can't really be a coincidence. still you have different userid and passwords, right? you've given me an idea to check my spouses account, we share the checking and credit card, (so there really is no need other than testing) but it might be interesting to see what her account says/shows. (I hope i don't break ME!)

    one thought - if you have the same client id, try the same userid/password on all accounts? just a thought. i mean, it's not working now anyway. and both your and spouses accounts all appear at the same time?

    we are still exploring what USAA has done.

  4. 124 Posted by dtd on 07 Mar, 2021 02:21 AM

    dtd's Avatar

    Interesting - thank you for the lead. My spouse and I also share the same clientUid.

    She has a different login/password. Still - and this is where you have to chime in - we share two accounts - checking and credit card, so obviously i can use my credentials to get both accounts.

    i could test using her login, but i really don't want to go there if i do not have to.

  5. 125 Posted by dtd on 07 Mar, 2021 02:27 AM

    dtd's Avatar

    If I may suggest - do it "juat one more time" but only set up one profile. IF ALL YOUR ACCOUNTS (both yours and spouse) show up when you set a profile up, then just assign them all, using the one login/passcode.

    This assumes they ALL show up, if not, then a big nevermind. Just a thought.

    We only have two, and they show up, but what do I know about what USAA has done here?

  6. 126 Posted by gnuite on 07 Mar, 2021 03:57 AM

    gnuite's Avatar

    Good thought, and while checking and savings accounts do show up on either login's Quicken credentials, the credit cards do not. We each are primary on our own credit cards (with the other being an authorized user), and each login can only Setup Online Banking (and download transactions) for the card on which it is primary.

    I wonder how you managed to set up your and your spouse's credit cards such that you both appear to have primary privileges (ability to see and download each other's credit card data via OFX). If I could do that, that would solve all my problems! Perhaps your credit cards are "joint" credit cards (which, as I understand it, aren't really a think anymore) ?

    FWIW, I was able to see and download her card's transactions before the January OFX glitch - but not since. I'd concluded that they had restricted OFX access for authorized users.

  7. 127 Posted by dtd on 07 Mar, 2021 04:12 AM

    dtd's Avatar

    Continued good info. I have NO IDEA how both credit cards appear primary. We've had them for 35 years, so who knows how it has worked or changed over the years.

    I think you may be right - joint was a thing 35 years ago.

    USAA made quite a few changes in this shift - i find the "weird" credit card numbers the most frustrating.

  8. 128 Posted by cathy s on 07 Mar, 2021 04:50 AM

    cathy s's Avatar

    I am so, so grateful. Thank you for this script! I now have 4/6 Checking and Savings accounts, and my CC account downloading and working.
    Two of my savings accounts didn't show up in the list to link them, but that might be because I hardly ever touch them. I've tried initiating some small transfers from those accounts to see if that wakes them up.
    I had to fix the CC number using the additional instructions, but it was no problem.

    Do you have a tip jar? I'd be delighted to buy you a virtual beer/coffee as thanks.

  9. 129 Posted by gnuite on 07 Mar, 2021 05:07 AM

    gnuite's Avatar

    dtd: I've tried messing around with the fi_name and fi_org fields in the manualFIInfo of the script, and perhaps someone like Stuart would know this already, but for posterity, the two fields have the following independent behaviors:

    1. fi_name controls the display name in the Connections drop-down box. So I can use this to make the various USAA connections visually distinct.
    2. fi_org acts as a unique identifier for Moneydance, and it is parsed by USAA for account/transaction interactions.

    Using the visual distinctness of fi_name, I was able to determine that Moneydance uses fi_org as a kind of unique identifier, using it (among other things) as a key for storing its "saved" usernames and (if enabled) passwords. If I create two connections with the exact same fi_org, then Moneydance has a lot of trouble distinguishing between the two connections - the second one never shows up in some places.

    If, on the other hand, I give two connections unique fi_org fields (like "USAA Federal Savings Bank #1" and "USAA Federal Savings Bank #2", then Moneydance treats them as unique, solving a bunch of behavioral issues. But then USAA throws errors about failing to parse those unexpected fi_org values.

    There's a workaround, though: Moneydance's unique IDs are based on case-sensitive fi_org, so connections based on fi_org values of "USAA Federal Savings Bank" and "usaa federal savings bank" are distinct. USAA, on the other hand, doesn't care about case, and so it can parse either one.

    So, by setting up two separate connections with different fi_name and fi_org values (ensuring that the fi_org values differ only by case), things work much better in Moneydance.

    ... but after all that, USAA still gives me the same Error 2000 when I try to download transactions for any logins other than the most-recently-created one. shrug

    I feel like I'm closer, but there's still something missing. Maybe I'll try playing around with some other manualFIInfo tomorrow....

  10. 130 Posted by dtd on 07 Mar, 2021 05:35 AM

    dtd's Avatar

    @cathy s - we've seen some nonused accounts not show up, so report back if the small transfers make therm appear. thanks.

    glad things are working again for 4/6.

    ooh, free beer.

  11. 131 Posted by dtd on 07 Mar, 2021 05:44 AM

    dtd's Avatar

    @gnuite - you're great, as you can parse the issues and provide input.

    Thank you.

    Don't know your time zone, but Stuart will be up soon and he'll just "eat up" your most recent post I've read it and understand it, but I'm not a python programmer. Reading between the lines somewhat explains why I've had so many problems with multiple chase logins.... they just arent parsed totally correctly.

    Thank you for the analysis.

  12. 132 Posted by Stuart Beesley ... on 07 Mar, 2021 06:12 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @cathy s  +1 - your thanks is all the tip we need ;->

  13. 133 Posted by Stuart Beesley ... on 07 Mar, 2021 12:54 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    ATTENTION: @dtd, @gnuite, @Rand, @dwk, @layer, @gelaw (and @TJ for info). New script released and deprecated the old ones. The script creates a new custom profile so that the refresh issues cannot occur, and also allow you to prime for multiple accounts. Latest package and documentation online as always.

  14. 134 Posted by rcf64 on 07 Mar, 2021 03:01 PM

    rcf64's Avatar

    To quote step 5 in the pdf on how to fix the USAA issue:
    "OH WOW, YOU FOLKS ROCK"
    I followed the instructions to create a new profile and am now downloading my USAA credit card transactions gain. Thank you to Stuart and all who have made this fix available.

    Edit: I used the original "ofx_create_new_usaa_bank_profile.py" script and didn't see Stuart's update about the new custom script. So I'll see how it goes and monitor this thread for further updates.

  15. 135 Posted by Stuart Beesley ... on 07 Mar, 2021 03:14 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @rcf64  +1 (we are Rocking away!)

  16. 136 Posted by Stuart Beesley ... on 07 Mar, 2021 03:21 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @drchandler1  +1

  17. 137 Posted by Stuart Beesley ... on 07 Mar, 2021 03:23 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @Jerry  +1

  18. 138 Posted by Stuart Beesley ... on 07 Mar, 2021 03:23 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @s22qm6677jo2  +1

  19. 139 Posted by Stuart Beesley ... on 07 Mar, 2021 03:40 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @Rand  +1

    (FYI - it was failing as the account type was set to Checking when it should have been Savings.... After re-running Online Setup @Rand reported it worked, including all other accounts and a CC account)....

  20. 140 Posted by Rand on 07 Mar, 2021 03:45 PM

    Rand's Avatar

    I've got all my accounts working two checking two savings and one CC +100

    My issue with my savings account seemed to be that it was setup as a checking account? At least that is what Suart found in my log. Going though online setup again has resolved that issue. The other savings account and the checking accounts had no problem. The CC acount had the missmatched number, but the pdf instructions got me through that.

    Excellent instructions by the way.

    I have not tried the new script, as i don't need to set up two credentials and all seems to be well.

  21. 141 Posted by dwk on 07 Mar, 2021 07:05 PM

    dwk's Avatar

    Rand -

    Exactly which/what instructions did you use?

    Thanks,
    @dwk

  22. 142 Posted by dwk on 07 Mar, 2021 07:10 PM

    dwk's Avatar

    Is this 23 Feb version the final script?

    USAA Scripts to fix the broken download issue

    Stuart Beesley - JUST A FELLOW USER <https://infinitekind.tenderapp.com/users/1176132>
    Feb 23, 2021 @ 10:40 PM
    @dwk

  23. 143 Posted by gnuite on 07 Mar, 2021 07:15 PM

    gnuite's Avatar

    Stuart: testing your changes now with multiple credentials... test log below (note: I have disabled "Store Online Passwords in File")

    1. Running the new custom.py script... I choose "YES - PRIME SECOND ACCOUNT". I then choose "YES - SET GLOBAL DEFAULT". I proceed as normally to set up the first credentials for Checking and CC. Now I am asked for the second credentials.... (Prefill of the previous Client ID is nice in my case.) It only asks me for username this time around, not password or Moneydance account, presumably because it's only priming. I finish up and restart Moneydance.
    2. Downloading of first credential's Checking and CC works fine. (I note the "USAA Custom Profile" name for the connection.)
    3. I now use the standard menus to add the Savings account for the first credentials. Setup works fine. When downloading, Moneydance correctly pre-fills the username for the first credentials in the "Online Banking Authentication" dialog. The download works fine.
    4. I now use the standard menus to add the CC account for the second credentials. Setup works fine. When downloading, Moneydance correctly pre-fills the username for the second credentials. The download works fine.
    5. Upon re-starting Moneydance, when downloading an account from the first credentials, everything works fine, including correctly pre-filling the username for the first credentials.
    6. When downloading an account from the second credentials, however, Moneydance pre-fills the username for the first credentials. I can change it and everything works fine; it's only a minor inconvenience. Trying then to download another account from the first credentials pre-fills the first credentials' username, though.
    7. Upon further experimentation of username pre-fill, I haven't been able to discern a pattern. Usually it's the first credentials' username, but sometimes it's the second credentials' username.
    8. Since having to potentially change the pre-filled username every time is annoying, I now enable "Store Online Passwords in File", hoping that it will correctly save the right username/password for each bank account. Sure enough, it indeed works!

    So, despite the minor inconvenience of occasional improper username pre-fill in the "Online Banking Authentication" dialog, everything works fine! And the inconvenience can be avoided when using "Store Online Passwords in File".

    Thanks, Stuart Beesley! All's well on my end!

    (Will I have to re-setup all this when you "promote" the script to non-custom? i.e. will you be renaming "USAA Custom Profile" back to "USAA Federal Savings Bank"?)

  24. 144 Posted by Stuart Beesley ... on 07 Mar, 2021 07:25 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @dwk. @Rand just used the standard create new script and the enclosed PDF... The issue he had was that he had identified his saving account as a checking account. He re-ran the online setup and corrected this.

    Please grab the latest (updated today) from here:
    https://github.com/yogi1967/MoneydancePythonScripts/raw/master/usef...

  25. 145 Posted by Stuart Beesley ... on 07 Mar, 2021 07:31 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @gnuite 1. 
    2. 
    3. 
    4.   
    5. 
    6. I don't know whether to bother looking into this... Have you confirmed this is not just normal (random) behaviour when you don't have store passwords turned on? I know from the Root setup that there is only 1 default - so I am not surprised it's presenting UserID 1.
    7. OK
    8. Great to hear!   

    Well, whatever I decide to do, you don't need to change anything.. Whenever MD fix the core issue, you can decide (or not) to disable/delete the profile and just use theirs...

    But.... I after more testing, I am probably going to keep the _custom.py script, delete the other other, and keep the custom profile name (so that refreshes cannot be enforced).

    One last thing... Are you able to test (on a test system) whether eliminating the hyphens from the client UID still works?

  26. 146 Posted by dtd on 07 Mar, 2021 08:40 PM

    dtd's Avatar

    dwk - the current pdf is dated march 4, 2021 and shows as Version 5.

    However, there will definitely be a version 6, as we will probably eliminate the two current fixes and put in a better one based on this conversation. So, hold on, as you said, you want to do this when everything works. We only just discovered that Moneydance will break the fix by refreshing the profile with its broken one.

    But we are probably talking less than 100 hours before we make it better.

  27. 147 Posted by gnuite on 07 Mar, 2021 08:42 PM

    gnuite's Avatar

    Stuart: When you say "eliminating the hyphens from the client UID," do you mean when the script asks for UUID? The script won't allow that due to the "len(uuid) != 36" (and other) checks, but I went ahead and removed them in order to test a hyphen-less Client ID.

    Unfortunately, I got the same Error 2000 I was getting before:

    The error code reported by the server was: 2000


    We're unable to complete your request. To download USAA account transactions into Quicken, you'll need to verify your information. Get Access ID and PIN here https://df3cx-services.1fsapi.com/casm/usaa/enroll
    So it seems the hyphens are necessary.
  28. 148 Posted by dtd on 07 Mar, 2021 08:46 PM

    dtd's Avatar

    to both stuart and gnuite - from my experience with FOUR login profiles for Chase cards, the credential fill-in does not always work properly. So, I'm calling that issue a Moneydance issue, and I've had to fix it by hand before, and occasionally do even more (I posted about this yesterday).

    So Stuart, I'd ignore the step 6 issue, but you may need to streamline (and sort of hide the process) as we don't want to confuse those (probably most) who don't need this part.

    gnuite - YOU rock! It's great to have someone like you testing this, as neither Stuart nor I could do so.

  29. 149 Posted by Stuart Beesley ... on 07 Mar, 2021 08:48 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @gnuite. Yes you passed the test. Silly me. But at least you knew how to bypass my uuid checks. Thanks for testing. So we have confirmed you must use the hyphens... Shame, but now we know...

    

  30. 150 Posted by dwk on 07 Mar, 2021 10:25 PM

    dwk's Avatar

    Thanks for the advice. I will wait.

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac