Import Thinkorswim trades with a CSV export from Account Statement, then upload it in Rize Trade under Add Trades > File upload with broker set to Thinkorswim.
For the full import flow across brokers, see How to import your trades.
Export from Thinkorswim
Export from the Thinkorswim desktop Account Statement so the file includes the trade sections Rize Trade reads.
- Open the Thinkorswim desktop application.
- Click the Monitor tab in the upper panel.
- Select Account Statement from the dropdown.
- Choose the date range for the trades you want to import.
- Next to the Cash & Sweep Vehicle row, click Transactions.
- Click Reset.
- In the Trade History row, click the gear icon, then Customize > Load Defaults so the required fields are included.
- Click Actions in the upper-right header panel, then Export to File.
- Save the file as CSV.
Tip: Loading defaults on Trade History keeps the columns Rize Trade needs. Skipping that step is a common reason the file comes back empty of trades.
Columns and statement sections expected
Rize Trade reads three sections from a Thinkorswim Account Statement export: Account Trade History, Futures Statements and the Cash Balance section. Keep the section headings and their column names intact.
Futures Statements
Futures fills come from rows under the Futures Statements heading. Rize Trade keeps only rows where Type is TRD.
Expected columns:
- Trade Date
- Exec Date
- Exec Time
- Type: trade rows must be TRD
- Ref #
- Description: must include side and fill details, such as
BOT +100 /MES @6847.50orSOLD +100 /MES @6847.50 - Misc Fees
- Commissions & Fees
- Amount
- Balance
Per-row rules:
- Description, Exec Date, and Exec Time are required on each futures trade row.
- Side comes from the description text: BOT is a buy, SOLD is a sell.
- Trade time is built from Exec Date + Exec Time.
- Fee fields accept numbers;
--is treated as zero. - Exchange suffixes on futures symbols (for example
:XCEC) are stripped during import.
Account Trade History
Stocks, options, and other fills come from rows under the Account Trade History heading. The header line under that section must include Exec Time, Side, Qty, Symbol and Price. Columns are found by name, so their order does not matter.
Expected columns:
- Exec Time
- Spread
- Side: only BUY and SELL are accepted
- Qty
- Pos Effect: TO OPEN or TO CLOSE
- Symbol
- Exp
- Strike
- Type: options use CALL or PUT; futures use FUTURE (or a symbol that starts with
/); other rows with no expiry or strike are treated as stock - Price
- Net Price
- Order Type
Per-row rules:
- Each trade row needs enough fields to cover the columns above.
- When a later row has no new time, Rize Trade reuses the last valid Exec Time it already read.
- Rows with a side other than BUY or SELL are skipped.
- Rows with a time the product cannot read are skipped.
- Money market sweep rows (Type FUND) and futures options are skipped.
Cash Balance
The Cash Balance section (header DATE,TIME,TYPE) supplies the commissions and fees for fills in Account Trade History. When the file has no Account Trade History, its TRD rows are read as fills instead, using the same BOT and SOLD descriptions. Options that expired, were assigned or were exercised are closed at a price of 0 from their removal rows in this section.
Upload in Rize Trade
Import the CSV from Add Trades with Thinkorswim selected. For the general upload flow, see How to import your trades. Thinkorswim-specific settings:
- Set broker to Thinkorswim.
- Set Time zone to match the timestamps in your Thinkorswim export. Required.
- Accepted types: CSV or TXT. Max 50 MB, up to 200,000 rows. If your export exceeds that, see how to break up your import file.
After upload, track progress in Settings > Import History.
Tip: If dates look shifted after a successful import, the time zone may not match your Thinkorswim timestamps. See Why are my entries and exits on the wrong dates?.
Why a Thinkorswim file is rejected
When an import fails, Rize Trade shows a clear message. Thinkorswim-specific rejections are below. For generic errors (file too large, wrong file type, empty file, not a valid CSV, missing account or time zone), see Fix any import problem.
No valid trades found
Symptom: Import fails with a message that no valid trades were found, and that Thinkorswim files should have rows with TYPE="TRD" and a description like BOT +100 AAPL @175.50.
Cause: The file is missing trade rows Rize Trade can use. This is often the wrong statement export, missing Account Trade History, Futures Statements or Cash Balance sections, futures rows that are not TRD, or descriptions without BOT or SOLD fill text.
Fix: Export again from Thinkorswim desktop Monitor > Account Statement. Click Transactions next to Cash & Sweep Vehicle, click Reset, load defaults on Trade History, then Actions > Export to File as CSV. Upload that file.
Failed to read the Thinkorswim file
Symptom: Import fails with a message that starts with Failed to parse Thinkorswim file:.
Cause: The file structure does not match a standard Account Statement export, or rows cannot be turned into trades.
Fix: Re-export as CSV with the steps above. Do not rename section headings or remove required columns. If you used a different Thinkorswim export layout, switch to the Account Statement path described here, or try Custom CSV only if your file is not a Thinkorswim statement export.
Rows skipped inside an otherwise valid file
Symptom: Some fills never appear even though the import runs.
Cause: Individual rows are skipped when required fields are missing or invalid. For example: futures rows without Description, Exec Date, or Exec Time; futures rows where Type is not TRD; Account Trade History sides other than BUY or SELL; money market (FUND) rows or futures options; or a datetime the product cannot read.
Fix: Load defaults on Trade History before export, keep the full column set, and confirm sides and times look correct in the CSV. Re-export and upload again.
If the import stays queued or fails after upload, see Import queued or something went wrong.
