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

  1. 181 Posted by dtd on 11 Mar, 2021 09:22 PM

    dtd's Avatar

    @dwk
    Lots of accounts - your biggest problem may be matching numbers/accounts. Someone suggested "naming" all your accounts in USAA to help with linkages in this post Jan 26 world, but I haven't verified that yet.

    You'll understand what I just said better after reading all the documentation. in your case, do read it all first before you really begin, given 11 accounts.

  2. 182 Posted by Stuart Beesley ... on 11 Mar, 2021 09:26 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    I would get one working. Then using setup add another. Check that works. Then add another. Check it works. And so on.

  3. 183 Posted by dtd on 11 Mar, 2021 09:27 PM

    dtd's Avatar

    Stuart has a good suggestion, fix them one at a time. i may add a sentence to that effect in the next version of the documentation.

  4. 184 Posted by bfilite on 12 Mar, 2021 12:10 AM

    bfilite's Avatar

    Oh wow, you folks rock!!!
    Simple profile - two banking, one CC that had changed no. - script and instructions worked flawlessly. Only one moment of pause. Instructions Step 2 says to gather "userid" and "userpassword". USAA uses "Access ID" and "Access Pin". If this very senior citizen can work through it, anyone should be able to.
    Many kudos and thanks to the team that did the coding, testing and documentation.

  5. 185 Posted by gnuite on 12 Mar, 2021 03:31 AM

    gnuite's Avatar

    hleofxquotes: I checked the USAA OFX, and indeed it is peppered with <CHECKNUM>0</CHECKNUM>, so the fault appears to be USAA's. Still, it would be nice if Moneydance gracefully handled zero check numbers by simply ignoring them.

  6. 186 Posted by cathy s on 12 Mar, 2021 04:31 AM

    cathy s's Avatar

    @dtd @Stuart Beesley Just following up that transferring to/from my minimally active savings accounts caused them to show up in the list a couple days later. And yes, the list of accounts is labeled with the nicknames I set in USAA, which helps to match them up.

    One weird thing is that one of my newly active savings accounts imported transactions from a different checking account, with only the last transfer being correct. I'm modifying all those transactions to zero (ugh) because if I delete them they just get re-imported. Very odd, but fairly certain the problem is on USAA's end.

  7. 187 Posted by dtd on 12 Mar, 2021 04:50 AM

    dtd's Avatar

    @cathy s - yay you woke them up.

    good info, also with the nicknames.

    As for your second paragraph, yes, very strange, and yes zero them out or they will be downloaded again and again.

    is this a dead checking account - or one that is active? usaa is doing some weird remapping in this transition (like nobody's credit cards match...)

    THANK YOU FOR THE UPDATE.

  8. 188 Posted by Stuart Beesley ... on 12 Mar, 2021 05:23 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @bfilite  +1

  9. 189 Posted by Stuart Beesley ... on 12 Mar, 2021 07:50 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    I just did a tally. 25 users so far who have let us know that the script worked for them and that they are connected to USAA again.  +25

  10. 190 Posted by billpiper on 12 Mar, 2021 11:25 AM

    billpiper's Avatar

    Used script and connected to USAA. Thanks

  11. 191 Posted by Stuart Beesley ... on 12 Mar, 2021 11:43 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @billpiper  +1 (=26)

  12. 192 Posted by Carl on 12 Mar, 2021 01:54 PM

    Carl's Avatar

    Well I was hoping to tackle this today but unfortunately I have an issue opening the Moneybot console. Looks like a JavaFX/JFX issue. Running on Manjaro using the Moneydance AUR (which basically uses the installer from IK).
    "Caused by: java.lang.ClassNotFoundException: javafx.embed.swing.JFXPanel"
    I installed OpenJFX but I'm still having the issue.
    Not a big deal but it would be really nice to get USAA syncing again.

  13. 193 Posted by Stuart Beesley ... on 12 Mar, 2021 02:25 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @Carl.. To clarify (for others reading this post). This is NOTHING to do with USAA or in fact the fix scripts.. I don't want others put off.... This is an issue with your own installation.....

    Moneybot requires JavaFX working. I use:
    https://gluonhq.com/download/javafx-15-0-1-sdk-mac/
    and
    https://adoptopenjdk.net/?variant=openjdk15&jvmVariant=hotspot
    .. and of course you will need Linux versions.

    Perhaps email me your console log: …

  14. 194 Posted by hleofxquotes on 12 Mar, 2021 06:27 PM

    hleofxquotes's Avatar

    Caused by: java.lang.ClassNotFoundException: javafx.embed.swing.JFXPanel

    How do you launch MD? Your own launcher? Or MD-created launcher? If it is the latter, then I think you should report to MD as a bug.

    If you are using your own launcher, you will need to tell the JVM where to find the JavaFX libraries using JVM command-line args

    • --module-path: pointing to JavaFX/libs
    • --add-modules: list of JavaFX modules
  15. 195 Posted by Stuart Beesley ... on 12 Mar, 2021 07:19 PM

    Stuart Beesley (Mr Toolbox)'s Avatar
  16. 196 Posted by mchristenson on 12 Mar, 2021 09:42 PM

    mchristenson's Avatar

    This is great--works awesome for my CC account. However, for my checking account I'm getting an error:

    Bank Name: USAA Custom Profile (ofx_create_new_usaa_bank_profile_custom.py)
    The error code reported by the server was: 2015
    Date Too Far in Future

    Any suggestions?

  17. 197 Posted by Stuart Beesley ... on 12 Mar, 2021 09:48 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @mchristenso  +1 (=27). Can you Help/show console and with console open, try the download again. Need to see the ofx message. I’m going to suggest you use toolbox to edit the last txn date.

  18. 198 Posted by mchristenson on 12 Mar, 2021 09:55 PM

    mchristenson's Avatar

    Here you go--hopefully I purged any personal info.

      checking for txn logs...
    Sending message to https://df3cx-services.1fsapi.com/casm/usaa/access.ofx
    >>>>>>>>

    using internal https checking

    OFXHEADER:100
    DATA:OFXSGML
    VERSION:103
    SECURITY:NONE
    ENCODING:USASCII
    CHARSET:1252
    COMPRESSION:NONE
    OLDFILEUID:NONE
    NEWFILEUID:NONE

    <OFX>
    <SIGNONMSGSRQV1>
    <SONRQ>
    <DTCLIENT>20210312155002.355
    <USERID>
    <USERPASS>*
    <GENUSERKEY>N
    <LANGUAGE>ENG
    <FI>
    <ORG>USAA Federal Savings Bank
    <FID>67811
    </FI>
    <APPID>QMOFX
    <APPVER>2300
    <CLIENTUID>
    </SONRQ>
    </SIGNONMSGSRQV1>
    <BANKMSGSRQV1>
    <STMTTRNRQ>
    <TRNUID>1615585802355-9
    <STMTRQ>
    <BANKACCTFROM>
    <BANKID>314074269
    <ACCTID>
    <ACCTTYPE>CHECKING
    </BANKACCTFROM>
    <INCTRAN>
    <DTSTART>20210314120000
    <INCLUDE>Y
    </INCTRAN>
    </STMTRQ>
    </STMTTRNRQ>
    </BANKMSGSRQV1>
    </OFX>

    <<<<77<<<<
    connecting to: https://df3cx-services.1fsapi.com/casm/usaa/access.ofx with method: POST
     remote address:df3cx-services.1fsapi.com/45.60.151.211:443
     application protocol:
     handshake app protocol:null
     enabled protocols:[TLSv1.3, TLSv1.2, TLSv1.1, TLSv1]
     enabled cipher suites:[TLS_AES_256_GCM_SHA384, TLS_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
     ssl parameters:javax.net.ssl.SSLParameters@6136e6a4
     send buffer size:131768
      option: SO_RCVBUF = 131575
      option: IP_TOS = 0
      option: SO_REUSEPORT = false
      option: SO_REUSEADDR = false
      option: TCP_NODELAY = false
      option: SO_SNDBUF = 131768
      option: SO_KEEPALIVE = false
      option: SO_LINGER = -1
    Connecting with https headers:
    POST /casm/usaa/access.ofx HTTP/1.1
    Host: df3cx-services.1fsapi.com
    Content-Type: application/x-ofx
    Accept-Language: en-us
    Cookie: visid_incap_2454689=KAHbRQsZTwCwVYpbH5tsanNUSmAAAAAAQUIPAAAAAACd8x4GvbxfFdwGAs3Acgcj; nlbi_2454689=BafKRRvkf3TwuMwWhXBnAwAAAAC7VQmyCliJ0ARTcqK0ikP/; incap_ses_8075_2454689=RdaRILvodQc/wk3SxykQcD7cS2AAAAAAGYh4F3y5TG8DNcVWIVJY2Q==
    Date: Fri, 12 Mar 2021 15:50:02 CST
    Accept: */*
    User-Agent: InetClntApp/3.0
    Content-Length: 704
    Cache-Control: no-cache
    Connection: close

    ---end headers
    HTTP/1.1 200
    Date: Fri, 12 Mar 2021 21:50:04 GMT
    Content-Type: application/x-ofx
    Content-Length: 502
    Vary: Origin
    Vary: Access-Control-Request-Method
    Vary: Access-Control-Request-Headers
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    Cache-Control: no-cache, no-store, max-age=0, must-revalidate
    Pragma: no-cache
    Expires: 0
    Strict-Transport-Security: max-age=31536000 ; includeSubDomains
    X-Frame-Options: DENY
    X-CDN: Imperva
    Connection: close
    X-Iinfo: 5-19161278-19161291 NNNN CT(34 70 0) RT(1615585802416 66) q(0 0 1 -1) r(24 24) U6

    HTTP response headers:
    date: [Fri, 12 Mar 2021 21:50:04 GMT]
    content-length: [502]
    expires: [0]
    vary: [Access-Control-Request-Headers]
    x-frame-options: [DENY]
    x-cdn: [Imperva]
    x-iinfo: [5-19161278-19161291 NNNN CT(34 70 0) RT(1615585802416 66) q(0 0 1 -1) r(24 24) U6]
    pragma: [no-cache]
    strict-transport-security: [max-age=31536000 ; includeSubDomains]
    x-content-type-options: [nosniff]
    x-xss-protection: [1; mode=block]
    content-type: [application/x-ofx]
    connection: [close]
    cache-control: [no-cache, no-store, max-age=0, must-revalidate]
    Reading message from https://df3cx-services.1fsapi.com/casm/usaa/access.ofx
    >>>>>>>>

    OFXHEADER:100
    DATA:OFXSGML
    VERSION:103
    SECURITY:NONE
    ENCODING:USASCII
    CHARSET:1252
    COMPRESSION:NONE
    OLDFILEUID:NONE
    NEWFILEUID:NONE

    <OFX><SIGNONMSGSRSV1><SONRS><STATUS><CODE>0<SEVERITY>INFO<MESSAGE>SUCCESS</STATUS><DTSERVER>20210312165002.663[-5:EST]<LANGUAGE>ENG<FI><ORG>USAA Federal Savings Bank<FID>67811</FI></SONRS></SIGNONMSGSRSV1><BANKMSGSRSV1><STMTTRNRS><TRNUID>1615585802355-9<STATUS><CODE>2015<SEVERITY>ERROR<MESSAGE>Date Too Far in Future</STATUS></STMTTRNRS></BANKMSGSRSV1></OFX>BEGINRESPONSE>>>>>
    <OFX>
    <SIGNONMSGSRSV1>
    <SONRS>
    <STATUS>
    <CODE>0
    <SEVERITY>INFO
    <MESSAGE>SUCCESS
    </STATUS>
    <DTSERVER>20210312165002.663[-5:EST]
    <LANGUAGE>ENG
    <FI>
    <ORG>USAA Federal Savings Bank
    <FID>67811
    </FI>
    </SONRS>
    </SIGNONMSGSRSV1>
    <BANKMSGSRSV1>
    <STMTTRNRS>
    <TRNUID>1615585802355-9
    <STATUS>
    <CODE>2015
    <SEVERITY>ERROR
    <MESSAGE>Date Too Far in Future
    </STATUS>
    </STMTTRNRS>
    </BANKMSGSRSV1>
    </OFX>

    <<<<<<<<ENDRESPONSE
      checking for txn logs...

  19. 199 Posted by Stuart Beesley ... on 12 Mar, 2021 10:03 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    20210314120000 = 14th March?!

    I’m going to suggest Toolbox. Advanced menu. Ofx tools. Edit last txn download date.
    https://yogi1967.github.io/MoneydancePythonScripts/

  20. 200 Posted by Dudley Sirius on 12 Mar, 2021 10:04 PM

    Dudley Sirius's Avatar

    Just jumpin in, but this line jumped out at me:
    "</BANKACCTFROM>
    <INCTRAN>
    <DTSTART>20210314120000 "
    It's about 25 lines into the post. See attached screenshot.
    It looks like the transaction start date is noon on this coming Sunday. (14 March 2021).

  21. 201 Posted by mchristenson on 12 Mar, 2021 10:16 PM

    mchristenson's Avatar

    When I try to run Toolbox I get the following:

    Error running script: SyntaxError: Non-ASCII character in file '/Users/mark/Downloads/toolbox.mxt', but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

    I'm using the signed version from March 8.

  22. 202 Posted by Stuart Beesley ... on 12 Mar, 2021 10:36 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    Hi, that makes no sense? Perhaps a corrupt download? How are you installing? Windows or Mac? Any message in Help/show console? Are you on MD2021 preview build 3036/3039 - if not, please install that...?

  23. 203 Posted by Carl on 12 Mar, 2021 10:53 PM

    Carl's Avatar

    My issue (specific issue with my install/OS) is for the most part, resolved, at least until the next MD update when I'll need to modify the launcher as it'll get overwritten.

    I was able to successfully download my checking account transactions, got it all merged clean, etc.

    Unfortunately when I try to link my savings account, It's not listed in the accounts to link. It only shows my checking account and my loan account.

    Not a huge deal as I hardly even use that account.

  24. 204 Posted by mchristenson on 12 Mar, 2021 10:56 PM

    mchristenson's Avatar

    I'm using version 2021 (2006). Not sure how to download a preview version? And it appears my Updater extension has stopped working, too.

  25. 205 Posted by Stuart Beesley ... on 12 Mar, 2021 10:57 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @Carl  +1 (=28). We have seen that accounts with no recent activity do not appear. What happens if you create a transaction?

  26. 206 Posted by Stuart Beesley ... on 12 Mar, 2021 10:58 PM

    Stuart Beesley (Mr Toolbox)'s Avatar
  27. 207 Posted by Carl on 12 Mar, 2021 11:33 PM

    Carl's Avatar

    @Stuart I'll let you know as soon as it clears, which being Friday will probably be some time next week.

  28. 208 Posted by Carl on 13 Mar, 2021 01:12 PM

    Carl's Avatar

    @Stuart Just checked this morning and sure enough, the transaction cleared and my Savings account was listed and is now synched. All good here.

  29. 209 Posted by Stuart Beesley ... on 13 Mar, 2021 01:33 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @Carl  (still 28)

  30. 210 Posted by Stuart Beesley ... on 13 Mar, 2021 01:39 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    @mchristenson - you can also try this. Go to the Moneydance Online menu (click on your account in the left side bar first). Online Setup. Then RESET SYNC. This should set the last txn download date to ZERO (download all)... See screenshot.. So you have three choices... Wait 2 days to pass the date, use Toolbox for a selective date, Online menu to reset all.....

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