· Auto Import Trades · 6 min read

Auto import trades from Charles Schwab

Auto import trades from Charles Schwab
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.
 
The single most important rule for Schwab connections: when Schwab shows you the account selection screen during login, check ALL of your accounts - even the ones you don't plan to track in TradesViz. You will choose which accounts to actually link on the TradesViz side afterwards. Selecting only some accounts on Schwab's screen is the #1 cause of connection problems.

 

Connecting for the first time

 

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. Here are the steps to follow if you don't have any existing working Schwab connection yet:

  1. Optionally choose your sync options in the popup box:
    • Data stream: keep "Orders" (default) unless you trade futures or lots of option spreads - then choose "Transactions".
    • Extended history: check this if you want up to 1 year of history instead of the default 30 rolling days.
    • Sync from date: only needed if you already imported older data manually and want the sync to start after it.
    You do NOT need to enter an account number anywhere - TradesViz reads your account list directly from Schwab after you log in.
  2. Click the "Connect to Schwab" button - this will redirect you to the Schwab website to complete the authentication process

  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. On the accounts selection screen, select ALL the accounts and also check the "automatically link new Schwab accounts in future" option. This is crucial - see the note at the top of this post.
  5. Click "Allow/Confirm" and you will be redirected back to TradesViz - to the account selection page described below.

The account selection page

After logging in at Schwab, TradesViz shows you the list of ALL Schwab accounts your authorization covers. For each account you can decide:

  • Link it or not - tick the checkbox for every account you want to track in TradesViz (they are pre-checked for you).
  • Where to link it - by default each account gets its own brand-new TradesViz trading account (named "Schwab <account number>"), or you can pick one of your existing trading accounts from the dropdown. Each Schwab account must go to its own separate TradesViz trading account - this keeps the data from different accounts cleanly separated.

Click "Link selected accounts" and you are done - all connections are created at once and you can sync them from the connections list.

Seeing only ONE account on this page even though you have more accounts at Schwab? That means you did not check all the accounts on Schwab's selection screen. Cancel, go back to the import page, and connect again - this time selecting ALL accounts on the Schwab screen.

Adding more account connections later

If you skipped some accounts on the selection page, or want to link an account later:

  1. Visit the TradesViz import page (tradesviz.com/import) and click on the "Add Auto-sync connection" tab
  2. Choose your trading account, choose Schwab in the platform list, and click Connect.
  3. You will be presented with a slightly different connection box than what we saw before. 
  4. Pick the account from the dropdown (it lists every account covered by your Schwab authorization that is not linked yet), optionally set the sync from date, and click Connect - no need to go through the Schwab login again.
    • Missing an account in the dropdown? Your Schwab authorization does not cover it - see the next section.

When TradesViz asks you to re-authenticate

In some situations, instead of the dropdown, TradesViz will show a popup asking you to "Re-authenticate on Schwab". This happens when:

  • Your connection token has expired (Schwab tokens last only 7 days - see below), or
  • All accounts covered by your authorization are already linked and you want to add a new one.

Just click the "Re-authenticate on Schwab" button in the popup and log in again - remember to check ALL of your accounts on Schwab's selection screen. This single login refreshes ALL of your existing connections at once AND takes you to the account selection page to link anything new. If you click "Cancel" instead, nothing changes: your connections cannot sync until you re-authenticate.

Things to remember/consider

The connection only lasts 7 days

We have no control over this and this is a limit set by Schwab. This means the read-only access code we get expires in 7 days and cannot be used beyond that. In order to prevent additional work for the users, we've simplified this process as much as we can. Once the 7 days pass, your syncs will automatically start to fail. When that happens, you will see the following:

Simply click on the button that says "click here to refresh Schwab connection" and complete the Schwab authentication process (again: select ALL your accounts on the Schwab screen). That's it! Even if you have multiple connections, doing this for any ONE connection will automatically refresh ALL your other connections. There's no need to re-establish the connection or delete all your connections. 

If the connection syncs 0 trades

If the connection is created successfully but no trades are imported even though the Schwab account has executions in the selected sync date range, check whether that Schwab account is enabled for thinkorswim. In Schwab, go to the Trade tab > Trading Platforms (or account settings if Schwab shows it there) and use the "learn how to enable thinkorswim" option. Enable thinkorswim for every Schwab account you want TradesViz to sync, then refresh the Schwab connection in TradesViz and sync again.

"Your Schwab authorization does not include account ..." error

If a connection shows this error and its syncing is paused, it means the account tied to that connection was NOT among the accounts you checked during your last Schwab login. TradesViz deliberately pauses the sync in this case - otherwise it would import another account's trades into the wrong journal. The fix takes one minute: click the "re-authorize Schwab connection" button shown with the error, log in to Schwab, and check ALL of your accounts on the selection screen. The connection will resume syncing on its own.

The sync limit is 30 days

This means only the executions made in the last 30 days are imported. In case you have more history or if you are a swing trader, this may cause incomplete positions to be imported. For example, if the last 60 days start from 2024-03-15 and you made a trade on 2024-03-10 and closed it on 2023-03-20, in this case, only the closing positions are imported because the open positions fall beyond the 30-day limit. To avoid this, we suggest manually importing your entire history via CSV (tradesviz.com/import > choose Schwab and follow instructions) and then edit your connection to have "sync from date" after the last execution's date in the account. This will ensure that you have ALL data + your sync transition is smooth (no duplication). 

2026 Update: We have added a new extended history mode that can get max available history (up to 1 year) via the API. You can check that as an additional option when setting up your connection.

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 date in your TDA account. This is to make sure there is no overlap between your TDA and Schwab data.

Found this useful?

Share this with a trader friend, or start your own free trading journal.