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 8 out of 22. View the first page

  1. 211 Posted by mchristenson on 13 Mar, 2021 03:27 PM

    mchristenson's Avatar

    @Stuart Beesley

    Thanks--the preview version made the Toolbox work, and I was able to adjust the date for my checking account so it all seems good at the moment!

    Such a relief--thanks to you and the other folks for making this fix!

  2. 212 Posted by Stuart Beesley ... on 13 Mar, 2021 03:29 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @mchristenson  +1 (=29)

  3. 213 Posted by margopowell on 13 Mar, 2021 05:22 PM

    margopowell's Avatar

    @Stuart Beesley - I successfully got my USAA accounts synching now with your wonderful script fix. You can increment your counter to 30:)

    Many Thanks
    @margopowell

  4. 214 Posted by Stuart Beesley ... on 13 Mar, 2021 05:56 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @margopowell  +1 (=30) 

  5. 215 Posted by smith.chrisg on 13 Mar, 2021 07:41 PM

    smith.chrisg's Avatar

    @Stuart Beesley - “Oh wow, you folks rock.” 

    Thank you for the script and detailed instructions, worked like a charm.

  6. 216 Posted by Stuart Beesley ... on 13 Mar, 2021 07:43 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @smith.chrisg  +1 (=31)... We are rockin' and rollin'.......

  7. 217 Posted by dtd on 14 Mar, 2021 01:07 AM

    dtd's Avatar

    dont forget the one who has had this working since Feb 23.

    @dtd +1 (=32)

    (Helping Stuart reach his goal of =100 - and this script is very solid at this point.)

  8. 218 Posted by Paul on 14 Mar, 2021 11:16 PM

    Paul's Avatar

    The link info states it only works for amax of 1 checking and 1 credit card. Is that true?

  9. 219 Posted by Paul G. on 15 Mar, 2021 02:18 AM

    Paul G.'s Avatar

    I appreciate the attempt Stuart - certainly above and beyond to provide this capability.
    Unfortunately for me, it did not work.
    im always disheartened when Software companies ignore current trends and are then shocked when their system no longer works - stranding their own customers with no options. There are other options out there and have been for years. WE CHOSE MoneyDance for one reason or another. but that doesn't mean we have to continue supporting this dismissive behavior.

  10. 220 Posted by dtd on 15 Mar, 2021 04:29 AM

    dtd's Avatar

    @Paul - the script was written to work with 1 checking and 1 credit card, because that's all it takes to fix the download profile.

    However, once those one or two items are "fixed", you can use Moneydance itself to fix the rest, and the pdf instructions provide details on how to do so.

  11. 221 Posted by dtd on 15 Mar, 2021 04:35 AM

    dtd's Avatar

    @Paul G - "it did not work" - what did not work? the script? it helps to have details, to understand what didn't work - I'm sure Stuart will be asking for more details to see why it did not work for you, as the success rate is quite high.

  12. 222 Posted by Stuart Beesley ... on 15 Mar, 2021 06:53 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @Paul. To clarify. You configure the new banking profile initially with max 1 and 1, then download these accounts. Once this works, then your profile is working and you then use standard moneydance Online menu to link/configure the rest. This is clarified within the PDF. This is a one time fix.

    So you can get as many accounts working as you like and many people have done so. The PDF explains.

  13. 223 Posted by Stuart Beesley ... on 15 Mar, 2021 06:56 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @PauG so far we have connected 31+ people successfully with this script (99% first time) and successfully answered everyone’s questions if any ‘wrinkles’ has arisen. Please help us understand what didn’t work for you?

  14. 224 Posted by jenkins007 on 15 Mar, 2021 10:10 AM

    jenkins007's Avatar

    Interesting that I could connect to my checking, visa, and 2 other savings accounts. But could not see my primary savings account. It did not show up in the list when adding the additional accounts.

  15. 225 Posted by Stuart Beesley ... on 15 Mar, 2021 10:15 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @jenkins007  +1 (=33) - This normally means that the account has had no recent activity. If you can generate a transaction in that account, then it will probably show up. Others have reported this works.... Let us know?

  16. 226 Posted by Paul G. on 15 Mar, 2021 01:16 PM

    Paul G.'s Avatar

    @Stuart Beesley @dtd
    here is the error generated upon opening MoneyDance after setup of new Bank Name: USAA Custom Profile (ofx_create_new_usaa_bank_profile_custom.py)
    and closing of MD after that setup is done.

    I'm sorry, an error occurred. The details of this error are below.
    Error Description: java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - Error at index 0 in: "u6"

  17. 227 Posted by Stuart Beesley ... on 15 Mar, 2021 01:19 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    .

  18. 228 Posted by Paul G. on 15 Mar, 2021 01:22 PM

    Paul G.'s Avatar

    the error presents on a pop-up window titled 'ONLINE ERROR' as soon as I open MD.
    typically, upon open my accounts start to download. but this window opens, with error message stating
    'There was an error communicating with your financial institution. The details of this error are below.'
    then includes my USAA bank id, and account number. along with text I included in the above post.

  19. 229 Posted by Paul G. on 15 Mar, 2021 01:25 PM

    Paul G.'s Avatar

    @Stuart Beesley
    idk if related, but I do have a '%' symbol in my password.

  20. 230 Posted by Stuart Beesley ... on 15 Mar, 2021 01:33 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    .

  21. 231 Posted by P. Gilmore on 15 Mar, 2021 01:52 PM

    P. Gilmore's Avatar

    1) MD 2021 (2006) and Windows 10 Home edition.
    2) java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters
    in escape (%) pattern - Error at index 0 in: "u6"
    at java.base/java.net.URLDecoder.decode(Unknown Source)
    at java.base/java.net.URLDecoder.decode(Unknown Source)
    at java.base/java.net.URLDecoder.decode(Unknown Source)
    at
    com.infinitekind.util.StringUtils.parseURLParameters(StringUtils.java:1268)
    at
    com.infinitekind.moneydance.online.OFXAuthInfo.fromCacheString(OFXAuthInfo.java:94)
    at
    com.moneydance.apps.md.controller.olb.ofx.OFXConnection.getAuthentication(OFXConnection.java:240)
    at
    com.moneydance.apps.md.controller.olb.ofx.OFXConnection.getTransactions(OFXConnection.java:927)
    at
    com.moneydance.apps.md.view.gui.OnlineManager.downloadTransactions(OnlineManager.java:550)
    at
    com.moneydance.apps.md.view.gui.OnlineManager.downloadTransactions(OnlineManager.java:465)
    at
    com.moneydance.apps.md.view.gui.AccountDetailPanel.lambda$downloadTransactions$0(AccountDetailPanel.java:296)
    at
    com.moneydance.apps.md.controller.BackgroundOpsThread.run(BackgroundOpsThread.java:136)

    3)confirmed UID is letters / numbers only. I copy /paste from notepad
    after parsing the url string
    the script was re-ran this morning after receiving the error last night. I
    can rerun again if you think it will help.

    as i mentioned earlier, my password does contain a %symbol (password
    generator) and is longer than 15 characters. is % an issue in Python?

  22. 232 Posted by Pete L. on 15 Mar, 2021 02:06 PM

    Pete L.'s Avatar

    @P.Gilmore

    I previously has issues with USAA and password length. USAA would allow login with a password on 15 characters, but Moneydance failed to connect. A Google search for USAA Maximum Password length "said" 12 characters.

    I generated a password with 12 characters and avoided "%" and changed my password via Web on USAA. Updated Moneydance and it worked.

    This was before the recent problems. I use MD 2021 (2006), Windows 10 Pro and when I followed the PDF instructions "line by line" I was able to get all of my accounts working.

    FWIW
    Pete L

  23. 233 Posted by Stuart Beesley ... on 15 Mar, 2021 02:10 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    .

  24. 234 Posted by Stuart Beesley ... on 15 Mar, 2021 02:12 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    .

  25. 235 Posted by Stuart Beesley ... on 15 Mar, 2021 02:26 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @PaulG.. it would be preferable to change your credentials and eliminate the %.....

  26. 236 Posted by hleofxquotes on 15 Mar, 2021 02:27 PM

    hleofxquotes's Avatar
    java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters
    in escape (%) pattern - Error at index 0 in: "u6"
    at java.base/java.net.URLDecoder.decode(Unknown Source)
    at java.base/java.net.URLDecoder.decode(Unknown Source)
    at java.base/java.net.URLDecoder.decode(Unknown Source)
    at
    com.infinitekind.util.StringUtils.parseURLParameters(StringUtils.java:1268)
    at
    com.infinitekind.moneydance.online.OFXAuthInfo.fromCacheString(OFXAuthInfo.java:94)
    at
    

    That looks like URLDecoder() is being called on a string that probably

    • was not previously URLEncoder.encode()
    • or was URLEncoder.encode() with wrong "character encoding"

    If it is the former case, same error or unexpected result will occur (wrong value will be decoded) for string with "special characters" such as

    $&+,/;:=?"'%<>#
    
  27. 237 Posted by P. Gilmore on 15 Mar, 2021 02:47 PM

    P. Gilmore's Avatar

    My id did not use the% but it was in my password.
    Password has now been changed 2 times and MD is still not able to connect. But a different error message this time.
    Putting this away for now. I need to get done with done.
    MF never had a problem previously with my password at 16 characters nor the%.

    I'll get back to this later today.
    Thanks to all those who were helping solve or work around MD or USAA issues. 
    YOU make the community better!

  28. 238 Posted by Stuart Beesley ... on 15 Mar, 2021 02:50 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    .

  29. 239 Posted by dtd on 15 Mar, 2021 05:33 PM

    dtd's Avatar

    To all discussing passwords - point of order (and understanding)

    1) You can log into usaa.com, correct?
    2) You can get the quicken loginid/password, correct?

    If so, I don't understand the % issue, as the password from usaa/quicken doesn't contain special characters (as far as I know).

    3) This script, nor the newly generated profile, contain your web usaa login id or password (which is where I think the % is?) Are you typing your web login/password into the script vs the usaa/quicken generated userid/password?

    Sounds like you discovered a moneydance bug, but are you putting the correct userid/password into the script? Saying the password is 15 or more characters makes me think you are using your usaa credentials in the script.

  30. 240 Posted by Stuart Beesley ... on 15 Mar, 2021 05:54 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    To clarify dtd’s last point. It’s not a bug in the MD code. I need to handle the % differently. I will update the script. However I think all dtd’s other questions are valid.

Comments are currently closed for this discussion. You can start a new one.

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