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.


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:

The latest zip file containing the script to fix USAA/Moneydance is at: []

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:

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 package and Toolbox are on my site: []

Showing page 13 out of 22. View the first page

  1. 361 Posted by dtd on 31 Mar, 2021 12:40 AM

    dtd's Avatar

    @sodak1181 - well, that's my writing, but let me try to explain.

    When a bank and Md connect, the bank sends the "new" transactions, and MD downloads them into MD. You see most of the data, but one piece (which probably has some inexplicable code like abcdefghijklmnop ) is a code to say - ok, you have this transaction, and we don't need to do it again. Well, it's not surprising that MD doesn't feel a need to show this code, so it is "hidden", but still there.

    So, NORMALLY, you get the download, merge it or confirm it, and it is never downloaded again. Of course, with the USAA changes, those download codes (sometimes) change (haven't figured out when or why they do, honestly) and you get all those downloads again, and if you delete the new ones (since they are indeed duplicates), the "code" is gone, and they get downloaded again (and again - if you keep deleting them)

    I discuss this in the newest documentation (7c). As for "finding" that code - well Stuart better be asleep right now, but MAYBE toolbox can show them,but honestly, they are mostly transactional codes that won't mean much, other than to stop constant downloads.

  2. 362 Posted by dwg on 31 Mar, 2021 03:10 AM

    dwg's Avatar

    The OFX specification defines that there is a transaction ID. This is what the software uses to determine if a transaction has already been downloaded and if it has to discard it.

    The transaction ID needs to be a unique reference for that transaction, it would be expected that the OFX server software would generate it and assign it to the transaction, the ID has no use outside of OFX.

    As dtd has said delete this new transaction and the code is gone and Moneydance will download the transaction again. If you have a manually entered transaction and merge them then the code is merged into the existing transaction to prevent future downloads.

    Banks have been known to change the ID generator, software like Moneydance has no idea how to deal with this, all the transactions have new IDs so it will usually be necessary to go through the merge process to merge in the new IDs.

  3. 363 Posted by dtd on 31 Mar, 2021 04:00 AM

    dtd's Avatar

    dwg - thanks for the clarification.

  4. 364 Posted by Stuart Beesley ... on 31 Mar, 2021 06:22 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    Try this. Locate a txn in the register. Right click. Show record details from the popup menu.

  5. 365 Posted by sodak1181 on 31 Mar, 2021 06:28 AM

    sodak1181's Avatar

    Thanks, all. Appreciate the rundown.

  6. 366 Posted by hleofxquotes on 31 Mar, 2021 06:38 PM

    hleofxquotes's Avatar

    Re: duplicate transactions

    I think it is useful to view this type of problems as two separate cases

    1. What (how many) transactions were downloaded?
    2. and for those download transactions, are there enough/correct information to detect duplicates.

    For case #1, the exchange goes like this

    • MD send an OFX request asking for transactions from a specified day. For example:since 2021/01/18. In the request, it looks something like this
    • The server then returns a response with a list of transactions starting from 20210118

    In perfect world, that how it goes. But in real life, s**t happens and here are some of the typical reason where things go side way

    • The client (MD in this case) does not send DTSTART or send bad DTSTART
    • The server does not honor DTSTART and send all transactions it has.
    • The server does not have access to "older" transactions and can only send what it has. For example: client asks for 60 days but server has only 30 days of information.

    The best way to sort this out is to look at both the request and response.

    For the request, look for value of DTSTART.
    For the response, look for value of DTASOF (there will be multiple) to see if any of them is outside the requested range


    For case #2, the server must assign a unique ID for each transaction. In the response, such value will look something like this with tag FITID (for each transaction)


    Things that could go wrong

    • The server does not send FITID
    • The server changes FITID for same transaction. I've seen this when a transaction is in PENDING state. Some FI will assign a FITID while the transaction in PENDING and then assign another FITID when the transaction is SETTLED.

    Program such as MD relies on this FITID value to be unique in order to detect duplicates.

  7. 367 Posted by dtd on 31 Mar, 2021 08:19 PM

    dtd's Avatar

    To others - the current messages have nothing to do with the script, which just works, this is about what happens once USAA is downloading transactions again.

    @hleofxquotes - thanks for the post - once again, you show your knowledge of ofx and explain it well.

    Of course, this info is beyond the point of the script (to reopen the ofx gateway), but the info intrigues me as to what is different now that usaa downloads again. So, my curiosity beckons, and I may dive into your tool again (is current version still, hmmm, 295?) as well as get console logs from MD as to what is sent by USAA now.

  8. 368 Posted by Stuart Beesley ... on 01 Apr, 2021 02:11 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @monty 😃 +1 (=50) 🎉

  9. 369 Posted by 00mjwhite on 01 Apr, 2021 04:00 PM

    00mjwhite's Avatar

    I got the savings account to work today after making a small transfer to the savings account. Again, thanks for your help.

    I also found out that Apple now allows exports of OFX (and other types) files from Apple CC which can be imported into MD and thought that I should pass that information along. This isn’t an automatic download such as you have helped us achieve with USAA, but is a small file that basically goes from one’s phone to computer via AirDrop (or otherwise) and is then imported into MD. It certainly beats doing it by hand, but it would be even better if it were automatic. Here is a link if others are interested:

  10. 370 Posted by Stuart Beesley ... on 01 Apr, 2021 04:08 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @00mjwhite 😃 *2 (still = 50)

  11. 371 Posted by Bernie Breton on 01 Apr, 2021 07:05 PM

    Bernie Breton's Avatar

    I ran the script (finally after debating it for too long!) and got transactions for 6 months. Then I ran the toolbox extension and reran the script with a different back-up file and it only downloaded to the date I selected. Bravo Stuart!!! Kudos to you and to everyone who provided constructive feedback.

  12. 372 Posted by Stuart Beesley ... on 01 Apr, 2021 07:23 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @Bernie Breton 😃 +1 (=51)

    Toolbox 🧰 😃 +1 too

  13. 373 Posted by tahartman on 01 Apr, 2021 11:19 PM

    tahartman's Avatar

    This worked very well for me, thanks Stuart! I have two credit card accounts with USAA and both are now downloading. I did it first with a test file, as suggested. Then had to do the change set up for downloading (who would have thought that USAA uses different internal account numbers than what's on the card). Then repeated everything in my main Moneydance file and it works like a charm! Thanks again!

  14. 374 Posted by dtd on 01 Apr, 2021 11:25 PM

    dtd's Avatar

    @tahartman - fantastic!

    As for the different credit card numbers, this change primarily happened on Jan 26, 2021. Before then, the credit card numbers matched (with some exceptions I won't get into), but they "all" seem different now. (I'm sure some stayed the same).

  15. 375 Posted by Stuart Beesley ... on 02 Apr, 2021 07:19 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @tahartman 😃 +1 (=52)

  16. 376 Posted by hleofxquotes on 03 Apr, 2021 04:39 PM

    hleofxquotes's Avatar

    different credit card numbers

    Most likely that was done to satisfy credit-card related security standard (limited exposure of actual credit card number via transmission).

  17. 377 Posted by dtd on 04 Apr, 2021 02:12 AM

    dtd's Avatar

    @hleofxquotes - that sounds right to me.

  18. 378 Posted by tahartman on 04 Apr, 2021 02:46 AM

    tahartman's Avatar

    Me too.

    Sent from my iPhone

  19. 379 Posted by Bernie Breton on 04 Apr, 2021 11:03 PM

    Bernie Breton's Avatar

    Quick question - Downloading without any issues to my MAC using the python script. Is there anything to do for the data to synch with the iPhone Moneydance app? See to not be updating with changes made to some accounts.

  20. 380 Posted by dtd on 04 Apr, 2021 11:17 PM

    dtd's Avatar

    The python script fixes the USAA download profile. Assuming you did this to the computer that does the downloads. If there are new downloads, it is within Moneydance, the script has nothing to do with that. And yes, it should sync.

    That said, if you replaced your primary file with a fixed file (i.e. like a backup) versus modifying the live file itself, that breaks the synchronization and you have to reset that up.

    My methodology was to test the script on a test file, then modify the live file versus replacing the live file (no need to do so, the script just modifies the USAA profile). That methodology works.

    Can you describe if you did this differently?

  21. 381 Posted by Bernie Breton on 04 Apr, 2021 11:26 PM

    Bernie Breton's Avatar

    I had to use a couple of different backup and then I went back to the file on my desktop for the final script and most likely not the original file. I most likely will have to reset the synchronization. Something else to figure out ☺ but so thrilled it is downloading form USAA again.


  22. 382 Posted by Stuart Beesley ... on 05 Apr, 2021 01:45 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @Bernie Breton 😃 +1 (=53). As @dtd says... the script has nothing to do with the actual download and will not directly affect syncing; however, if you did File/Restore from backup and kept this as your live dataset then the Sync would be disabled. In this situation, as you say, you will have to get sync reconnected.

  23. 383 Posted by Stuart Beesley ... on 06 Apr, 2021 05:55 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @Michael McGregor 😃 +1 (=54)

  24. 384 Posted by sodak1181 on 06 Apr, 2021 08:14 PM

    sodak1181's Avatar

    Apologies if this has been addressed already - I scanned through the thread and didn't see anything.

    I'm having a small issue with my USAA credit card downloads. For whatever reason, it will download transactions fine, but then the next day it will download the same transactions again. I then have to delete the first round of downloads and keep the second. Once I do that I'm good and it doesn't download the transactions a third time. And strangely enough, there's no merge option for these duplicates.

    Anyone else have this issue?

  25. 385 Posted by Stuart Beesley ... on 06 Apr, 2021 08:24 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    Some suggestions.
    - make sure you delete the original txns and keep the new downloaded txns - try toolbox, advanced mode, ofx tools, edit last txn download date and set it to today - dtd might have some ideas.

  26. 386 Posted by dtd on 06 Apr, 2021 08:29 PM

    dtd's Avatar

    My one question is - is this a one off, one time problem, or does this "download transactions twice" happen day to day? i.e. you get everything fine, then download again the next day, get BRAND NEW downloads, then the day after that you get them again?

    I do discuss the "one off, one time" problem in the pdf documentation, Version 7d, but it sounds like you are describing an ongoing problem versus a fix it once and done.

  27. 387 Posted by sodak1181 on 06 Apr, 2021 10:25 PM

    sodak1181's Avatar

    Yes, it's on going. It's been happening since I installed the script on the 30th.

  28. 388 Posted by dtd on 06 Apr, 2021 10:53 PM

    dtd's Avatar

    The script has nothing to do with this issue.The script runs once and then is gone. It just opens the gateway to USAA. You are observing how USAA downloads to you now.

    So, what you describe as happening now is that USAA keeps downloading transactions to your credit card, even brand new ones, until you delete old ones and keep new ones.

    Yes, this is unique.

    What we have observed is that USAA will download duplicates, and if you delete the new duplicates, they will download again. You describe that you "do it right" (delete the old, not the new) and then those transactions stop downloading.

    But what I'm hearing is that, let me make something up, that you fixed everything on say April 2, but then you downloaded transactions on April 4, and those download multiple times until you do the same fix. Things from April 2 and earlier no longer happen, it is the new items that are duplicated.

    Please download the 7d documentaion from Stuart's initial post. And reread mags 361, 362, and 366 in this thread.

    All I can think of is that something is wrong with your datafile, or the last txn download field. What version of MD are you using? If a preview version, it would be nice to see which credit cards you are having problems with, and what the last transaction date for those files are, and with a preview version you can do that with Stuart's toolbox extension.

    Since this issue is not associated with the script, and this thread is about using the script, please either start a new thread and I will respond, or send email to dan at tbg3 dot com.

  29. 389 Posted by mehkelley611 on 10 Apr, 2021 03:26 AM

    mehkelley611's Avatar

    First, I can't thank y'all enough for all the work you've done to fix the problem with USAA! You are awesome!

    I've followed instructions in PDF and am hung up on "Run Script. I get message: "Your system is not set up to save/store passwords. Do you want to continue?"

    Then if I say yes "Do you have multiple DIFFERENT credentials where you wish to prime the default UUID into (Root's) Profile?

    What does this mean and how do I fix?


  30. 390 Posted by dtd on 10 Apr, 2021 04:36 AM

    dtd's Avatar

    Well, first of all, you are VERY close to done. Yay.

    I have taken your questions and revised the PDF documentation to Version 7e. That should answer your questions about what to do.

    The pertinent changes to you would be this:

    You will also be asked “Do you have multiple DIFFERENT credentials where you wish to prime the default UUID into (Root's) Profile?”. Say SKIP THIS as it is an advanced fix for a small subgroup. (read Multiple Login Accounts for USAA at the end if you do say yes).

    Note: You may be asked: "Your system is not set up to save/store passwords. Do you want to continue?" – Answer YES, you can explore this option in Moneydance later, if you wish.

    When using online downloading, most people (including me) set up "save/store passwords" so that they don't have to input the username/password each time they run online downloads. You have it set up so that you enter the username/password each time, which is a choice - I just hadn't covered it in the document.

    Hope that helps.

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

Keyboard shortcuts


? 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