Connecting with USAA

Unfortunately USAA have recently made a change that seems to have disabled direct OFX connections, which Moneydance and other software requires to directly communicate with their servers. We are working to resolve this, but I’m afraid the connection is not working correctly at this time.

Stuart Beesley, a Moneydance user and contributor to the support forum, has written a python script that allows you to update your Moneydance dataset with the correct OFX connection settings that USAA requires.

Many thanks to Stuart, @dtd for instructions and testing, and @hleofxquotes for credits and technical OFX input. We really appreciate your contributions!

The script is not guaranteed to work, but the majority of customers who have followed the steps have reported success.

Before following the steps below, take a manual backup of your data file via File —> Export Backup. This will create a .moneydancearchive backup file.

It is estimated the steps below will take around 30 minutes to complete.

If you prefer to use the original PDF document, it can be downloading via the following link -
https://github.com/yogi1967/MoneydancePythonScripts/raw/master/sour...

Step 1 – Get new information from USAA

Since the changes made on 26th January 2021, you must gather three specific items from USAA -

  • clientUid
  • userid
  • userpassword

To retrieve this information -

You will see the following page where we can retrieve your clientUid -
Do not allow Quicken access just yet as that'll direct you to another page

USAA_Website.jpg

On this screen, you should copy all the text in your web browser address bar (see the purple arrow) and paste into a text program like TextEdit, Notepad, Word etc.

The following is an example of the information you'll see -

https://www.usaa.com/inet/ent_oauth_consent/authorize?0&client_id=12345678-abcd-efgh-ijkl-123456789abc&redirect_uri=https://df3cxservices.1fsapi.com/ casm/usaa/connect&scope=usaa.profile.member.read+usaa.bank.aggregation. read&response_type=code&code_challenge=my_challenge&state=my_state&code _challenge_method=plain&session_id=nonothere-nopenope-nope-clientidisit

Within this, you can find your clientUID. This is the information after "client_id".
It is 36 characters consisting of - XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX (8-4-4-4-12)

Take note of this clientUid as we'll need it later.
We'd recommend you create a new seperate text file where you can store the details you'll need

Make sure you haven't taken note of the session_id by mistake. We do not need the session_id as it will change

Then open your web browser to the same page as before, and click 'Allow' to authorise access with Quicken. On the next page, you'll see your Access ID and Access PIN

USAA_access_id_and_pin.jpg

The Access ID is your userid and the Access PIN is your userpassword.
Copy both of these fields and enter them in the same document as the clientUid.

At this point, you should have one document that contains your clientUid, userid and userpassword.

After following these steps you will receive an email from USAA stating you've allowed Quicken to access USAA

Step 2 – Run the Toolbox Extension

You can download the Toolbox extension via Extensions > Manage Extensions.
Once installed, choose Extensions > Toolbox, to open the extension.

You should use the extension to remove your existing USAA connection.

Select Toolbox Options (at the top left of the extension window) and select 'Advanced Mode'.

Then select MENU: Online Banking (OFX) Tools.

Under the 'UPDATE FUNCTIONS' heading choose
Delete OFX Banking Service / Login Profile (remove_one_service.py)
then select 'Proceed'.

You will be presented with a drop-down menu that includes your existing connection profiles.
Select the USAA connection profile, and click 'OK'.
Then click 'Yes' to delete the USAA connection, and follow the prompts to confirm the deletion.

You should then use the extension to “prime” a new USAA profile with the information you gathered above.

If you haven't already, click on Toolbox Options (at the top left of the extension window) and select 'Advanced Mode'.

Choose MENU: Online Banking (OFX) Tools.

Under the 'USAA ONLY' heading choose
USAA ONLY: (NEW METHOD) Manually ‘prime’/overwrite stored Root UserIDS/ClientUIDs then select 'Proceed'.

Follow the prompts to enter your UserID, ClientID.

Step 3 – Set up Online Banking

Close the extension window if you haven't already.

Then select your account and choose Online > Set up Online Banking.
Select 'Connect to OFX Service'.
Make sure you pick 'USAA Custom Profile' from the list of financial institutions.

Then follow the prompts to set up online banking as normal, entering your login credentials and specifying which account you want to download transactions from.

Step 4 – Download your transactions

Once the connection is set up, choose Online > Download AccountName Transactions to download transactions into your account.

Unfortunately if downloading does not work at all, you may need to revisit the whole process (i.e. start over).

Credit card transactions may download, but don’t be concerned if you see an error - we will address this in step 5.


If you see the 2000 error, this is a general error. You should create a new support request and provide details of the error you're seeing and messages displayed alongside this.

If you see the 2003 error, this means 'Account not found'. This error is a response from the bank, advising you the banks server could not find the account you've specified.
The changes you've made have worked, as Moneydance is now communicating with your banks server. So there is likely an issue with the details you've input. You should check the details you've entered are correct.

If you see the 2015 error, this means 'Date too far in future'. To fix this, select the account and choose Online > Set up Online Banking. In this window, select 'Reset Sync'. Then attempt to download your transactions again.

If you see the 403 FORBIDDEN error, there are a few causes. If you are outside the U.S., you may encounter this, and must use a VPN to “be in the U.S.”. If you are in the US, you may have attempted to connect too many times quickly. This is a temporary connection ban that should be lifted after a few hours.

If you encounter problems at this point, choose Help > Console Window. This will open the console messages window. Keep this window open and attempt to download again. Information relating to the download will appear in the console window. You should copy the text from this window, and include it with your support request.

Step 5 - Multiple Login Accounts for USAA (specific to only some users)

Some customers have multiple USAA logins (spouse, children, etc.) however most won't need this final step.

If you do have multiple logins, you should get one account working first (steps 1-4).

Open the Toolbox extension and (if you haven't already) click on Toolbox Options (at the top left of the extension window) and select 'Advanced Mode'.

Then select MENU: Online Banking (OFX) Tools.

Under the 'UPDATE FUNCTIONS' heading choose
OFX Authentication Management (various functions to manage authentication, UserIDs, ClientUIDs)
then select 'Proceed'.

Choose Edit/Setup (multiple) UserIDs / Passwords (executes a special script)

Follow the prompts to confirm you want to enable this feature.
Then select 'USAA Custom Profile' from the drop-down list.

Handling the downloaded transactions -

You may notice some changes to the way your USAA transactions download into Moneydance -

For checking accounts, you may now see a “0” in the check number field of some transactons.

The description and memo fields are cruder, mostly caps, and near identical.

The “don’t download me again” field (which is hidden) has in some cases been reset, so you may get many months of duplicate transactions that have to be dealt with.

If you’ve been entering USAA transactions manually since the connection problems began, then you will need to go through the confirmation process and merge the duplicates transactions.
If you prefer you can set moneydance to do this automatically - within your preferences, choose the 'Network' tab, where you can enable 'Automatically Merge Downloaded Transactions'.

If you have duplicate transactions that you cannot seem to merge, then you should keep the new downloaded transaction, not the original one. By keeping the newer transaction, Moneydance will recognise the transaction ID and it won't download again.
You may wish to transfer over the memo field from the original entry, category, etc. before deleting the original.