USAA Script to fix the broken download issue
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
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
181 Posted by dtd on 11 Mar, 2021 09:22 PM
@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.
182 Posted by Stuart Beesley ... on 11 Mar, 2021 09:26 PM
I would get one working. Then using setup add another. Check that works. Then add another. Check it works. And so on.
183 Posted by dtd on 11 Mar, 2021 09:27 PM
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.
184 Posted by bfilite on 12 Mar, 2021 12:10 AM
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.
185 Posted by gnuite on 12 Mar, 2021 03:31 AM
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.186 Posted by cathy s on 12 Mar, 2021 04:31 AM
@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.
187 Posted by dtd on 12 Mar, 2021 04:50 AM
@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.
188 Posted by Stuart Beesley ... on 12 Mar, 2021 05:23 AM
@bfilite +1
189 Posted by Stuart Beesley ... on 12 Mar, 2021 07:50 AM
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
190 Posted by billpiper on 12 Mar, 2021 11:25 AM
Used script and connected to USAA. Thanks
191 Posted by Stuart Beesley ... on 12 Mar, 2021 11:43 AM
@billpiper +1 (=26)
192 Posted by Carl on 12 Mar, 2021 01:54 PM
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.
193 Posted by Stuart Beesley ... on 12 Mar, 2021 02:25 PM
@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: …
194 Posted by hleofxquotes on 12 Mar, 2021 06:27 PM
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
195 Posted by Stuart Beesley ... on 12 Mar, 2021 07:19 PM
See here for some guidance.
https://infinitekind.tenderapp.com/discussions/moneydance-developme...
196 Posted by mchristenson on 12 Mar, 2021 09:42 PM
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?
197 Posted by Stuart Beesley ... on 12 Mar, 2021 09:48 PM
@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.
198 Posted by mchristenson on 12 Mar, 2021 09:55 PM
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...
199 Posted by Stuart Beesley ... on 12 Mar, 2021 10:03 PM
20210314120000 = 14th March?!
I’m going to suggest Toolbox. Advanced menu. Ofx tools. Edit last txn download date.
https://yogi1967.github.io/MoneydancePythonScripts/
200 Posted by Dudley Sirius on 12 Mar, 2021 10:04 PM
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).
201 Posted by mchristenson on 12 Mar, 2021 10:16 PM
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.
202 Posted by Stuart Beesley ... on 12 Mar, 2021 10:36 PM
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...?
203 Posted by Carl on 12 Mar, 2021 10:53 PM
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.
204 Posted by mchristenson on 12 Mar, 2021 10:56 PM
I'm using version 2021 (2006). Not sure how to download a preview version? And it appears my Updater extension has stopped working, too.
205 Posted by Stuart Beesley ... on 12 Mar, 2021 10:57 PM
@Carl +1 (=28). We have seen that accounts with no recent activity do not appear. What happens if you create a transaction?
206 Posted by Stuart Beesley ... on 12 Mar, 2021 10:58 PM
@mchristenson https://infinitekind.com/preview
207 Posted by Carl on 12 Mar, 2021 11:33 PM
@Stuart I'll let you know as soon as it clears, which being Friday will probably be some time next week.
208 Posted by Carl on 13 Mar, 2021 01:12 PM
@Stuart Just checked this morning and sure enough, the transaction cleared and my Savings account was listed and is now synched. All good here.
209 Posted by Stuart Beesley ... on 13 Mar, 2021 01:33 PM
@Carl (still 28)
210 Posted by Stuart Beesley ... on 13 Mar, 2021 01:39 PM
@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.....