Auto import trades from Charles Schwab

blog-post-image
By TradesViz in Auto Import Trades

In this post, we will explore how to pair your TradesViz account with a Charles Schwab trading account.

This post assumes that you have read the basics about auto importing in TradesViz.

 

NOTE: This module is under public beta testing. No guarantees are provided. Please use a separate trading account to link and sync your trades.

 

Once you select your trading account and broker as "Schwab" in the trade auto-import page, a popup box will appear when you click on the "Connect account" button.


The purpose of this blog post is to guide you to get this ID from the Schwab website. Here are the steps you need to follow:

  1. Click on the link in the instructions in the popup box shown in the picture above.
  2. This will redirect you to a secure Schwab webpage where you need to enter your credentials to authenticate that you are the user of Schwab to link. Note that we have no access to any information in the subsequent pages after you click on the link in the instructions - all actions are done via Schwab's secure pages. You can check the URL in the browser to verify this.

  3. Fill in your information, follow the security checkups (one-time-password authentication), and finally, you will arrive at a window that asks for your confirmation on whether you give us read-only access to your account's orders and executions.
  4. When on the accounts selection screen, make sure to select only one account. It is suggested to create one connection per account.
  5. Click on Allow/Confirm" and you will now be redirected to a TradesViz.com page where you will have to copy a code and paste it in the popup box shown as the first image in this blog post.
  6. Once you return to the tradesviz.com's import page, click on the "Auto-import trades" tab, follow the same instructions of selecting the trading account and brokerage platform (Schwab), and now paste the code in the text field.

 

Notes (PLEASE READ!):

  • Account ID is the account number (not your Schwab username) and it does NOT have any special characters (if your account number is 1234-5678, then enter 1235678)
  • DO NOT RE-USE THE API CODE! If the API connection fails or if you are not able to sync, it's MOST probably because you are using an incorrect account ID or you re-used your API code when setting up the connection.
  • Copy the API code from the final TradesViz paste it in the connection box and click submit within 30 secs! (that's the expiry time for API code).
  • Not every account type that has been migrated will be supported by the Trader API to start. Only accounts that are optimized for the thinkorswim experience at Schwab will be able to be seen by the Trader API.
  • The API connection validity is 7 days - this is set by Schwab and we cannot extend or override this.

Finally, click "Connect" and in a few seconds, you should receive a connection successful message which means the linking was successful. If not, please contact us at [email protected].

Note that this access read-only to the information shown in step 3. We have no control over your account and cannot access ANY information other than what is given to us by Schwab. 


For users migrating from TDA (PLEASE READ!):

Make sure you have backed up all your data so that even if the data is incorrect, you can always restore it. Steps for backup:

To export all your executions data,

1. Go to https://tradesviz.com/import/
2. Click on "Manage/Export Data" tab
3. Now select your Trading account(s)
4. Select "Executions" and "Native" and then click on "Download" - this will download a mirror copy of all your executions, notes, and tags from your account which you can later use to import into TradesViz.

 

Next, you need to understand the 3 important notes for Schwab connections:

  1. Only the last max of 60 rolling days of data can be synced (compared to a max of ~340 days with a TDA connection).
  2. The connection's validity is only 7 days (i.e. it expires after 7 days and you need to establish a new connection) (compared to 90 days validity of a TDA connection).
  3. "Technically" only one account's access token info can be used... (more on this later).

Of these 3 notes, [1] and [2] cannot be solved/improved from our side.

For [3], the problem is that when you connect and sync one account, and then when you connect and sync the second account, the first account's credentials are invalidated. 

Since a lot of TradesViz users have multiple Schwab accounts, we have created some internal workarounds. Here's what you need to do:

CAREFULLY FOLLOW **EVERY STEP** BELOW IF YOU WANT TO SYNC/CONNECT MULTIPLE SCHWAB ACCOUNTS
  1. Clear/delete all your Schwab connections across all trading accounts in TradesViz.
  2. Establish just *one* Schwab connection (during the authentication process, check ALL the trading accounts when you see the screen "select your Schwab accounts to link) 
  3. Sync this connection (to make sure it's working).
  4. To add connections to more accounts, you have two options (CONTINUE ONLY IF YOU HAVE CORRECTLY ESTABLISHED ONE CONNECTION):
    1. If you want to add multiple Schwab connections to the same account, enter multiple account IDs separated by a comma when establishing a connection. Example: 12345678, 12345679. Enter the same value as in the account field for the API code (no need to generate a new one) and click submit. This will automatically create two unique connections in the same trading account. 

    2. If you want to add a single Schwab connection to different accounts, simply enter a single account ID in both the account ID field and the API code field (no need to generate a new one) and click submit.
  5. After you have established all your connections, test all your connections to make sure they are working.
  6. If you have issues, please don't hesitate to contact us at [email protected]
Please note: If you have an existing TDA connection, you will need to delete it (after it stops working) and make sure your Schwab connection's "sync from the date" (view connections list > edit connection) starts AFTER the last execution's date in your TDA account. This is to make sure there is no overlap between your TDA and Schwab data.

We will keep this blog updated as the improvements to API come from the Schwab team.