Trandence

Other Brokers

Broker not in the list? You can still import your trades. Convert your broker’s export into Trandence CSV, a simple format Trandence reads for any broker, then import it with Other broker (Trandence CSV).

The quickest way to convert is with an AI assistant you already use. Doing it by hand in a spreadsheet works too.

Convert With Your AI Assistant

This works with ChatGPT, Claude, Gemini or any assistant that accepts files and can run code.

  1. Export your trade history from your broker as CSV or Excel. Include only filled executions if the broker lets you choose.
  2. Open a new conversation with your assistant and attach the file.
  3. Copy the prompt below and send it. The assistant asks which broker the file comes from and anything else it needs. In Trandence the same prompt is behind Copy AI prompt in the import dialog.
  4. The assistant first tells you how it understood your file: the date format, how short sales are marked, which rows it will skip. Check this carefully and correct it if anything is wrong. This is where most mistakes are caught.
  5. Download the converted file and note the timezone the assistant reported.
  6. Compare the check it prints with your broker: the number of rows and the total commission should match your statement.

If the download link does not work. Some assistants show a link that opens a search page instead of the file. The prompt asks the assistant to print the finished file as code output too: copy that output into a plain-text editor such as Notepad or TextEdit and save it with a .csv extension.

If your broker exports dates without times. The assistant tells you before converting. The file still imports, with every execution at 12:00:00, but hold times and intraday statistics will not be meaningful. Rows of the same day must stay in the order they happened, otherwise a sell can land before its buy and the trade is read as a short: check the side of each trade in the preview. If your broker offers an export with execution times, use that one instead.

Help me convert a trade history export from my broker into "Trandence CSV" so I can import it into my trading journal. Reply in the language I write to you in.

BEFORE YOU START
1. Ask me which broker the export comes from and which of its reports it is, unless I have already said. If I attached a file, you may name the broker you think it comes from and ask me to confirm.
2. Then ask me, in one message, for anything else you need and cannot read from the file, only what matters for this broker and file. For example: the timezone of the times; whether I trade options; whether fees are in a separate report; whether the export starts on a day when I had no open positions (if not, a sale that closes a position opened earlier is read as a short sale, so I should export a longer period).
3. If I have not attached the file yet, tell me how to export it from that broker, if you know, and ask me to attach it.

HOW TO WORK
1. Do not retype, summarise or regenerate rows yourself. Write a script that reads my file and writes the result, run it, and give me the file to download. If you cannot run code, say so and give me the script instead.
   Download links from some assistants do not work, so also have the script print the finished file's full contents as code output, which I can copy into a .csv file. Do not retype those contents in your message. If the file has more than 1000 rows, print only the first 20 and say so.
2. Before converting, tell me briefly, and wait for my confirmation:
   - which columns of my file you will use for each output column;
   - the date format you found (for example MM/DD or DD/MM) and how you know;
   - the timezone of the times in the file, if the file or the broker says;
   - whether the file has execution times or only dates. If only dates, say so clearly: my journal can still import them, but hold times and intraday statistics will not be meaningful;
   - how buys, sells, short sales and covers are marked;
   - whether the file has option trades, and how it writes the contract (symbol, expiry, strike, call or put) and the option price;
   - which rows you will skip and why (cancelled or unfilled orders, deposits, dividends, interest, fee-only rows, futures and options on futures, crypto, non-US stocks).
   If something is ambiguous, ask me instead of guessing.
3. After converting, show me a check: rows read, rows written, rows skipped by reason; shares bought and shares sold per symbol; contracts bought and sold per option contract; total commission; first and last DateTime. List every symbol or contract where the amounts bought and sold differ, because that is either a position still open or a mistake. Trandence shows the same totals when I import the file, so I can compare them.

OUTPUT FORMAT
- A CSV file, comma-separated, UTF-8, with exactly this header: DateTime,Symbol,Side,Quantity,Price,Commission,Expiry,Strike,Right,Multiplier,Event,OrderId
- The last six columns are for options. Leave them empty on stock rows.
- One row per execution (fill), in the order the executions happened. Sort by DateTime with a stable sort, so rows with the same DateTime keep their order. If the file lists newest first, reverse it before sorting; otherwise, when times are missing or equal, a sell can end up before the buy it closes and the trade is read as a short. If the file has only closed round-trip trades (entry and exit on one row), write two rows per trade: the entry and the exit.
- DateTime: YYYY-MM-DD HH:MM:SS, the time of the fill exactly as in the file. Do not convert timezones and do not invent times: if the file has dates only, use 12:00:00 (noon keeps the date the same in any timezone). If the file gives a UTC offset, you may keep it: 2026-09-15T09:31:07-04:00
- Symbol: the ticker only, for example AAPL or BRK.B, without exchange prefixes or suffixes.
- Side: BUY, SELL, SHORT (a short sale that opens or adds to a short) or COVER (a buy that closes a short). If the file does not mark short sales, use only BUY and SELL.
- Quantity: number of shares, positive, no sign.
- Price: price per share, positive, with a dot as the decimal separator, no currency symbol, no thousands separator.
- Commission: all fees for that fill added together (commission, exchange and regulatory fees), as a positive number; empty if none.
- US stocks and US stock or index options only.

OPTIONS
- Symbol: the underlying ticker (for example NVDA, or SPXW for SPX weeklies), and fill Expiry (YYYY-MM-DD), Strike (a number) and Right (CALL or PUT).
- Quantity: number of contracts. Price: the premium per share as quoted, for example 3.40, not 340. If the file gives the price per contract, divide it by the multiplier.
- Multiplier: only if the file states one other than 100; otherwise leave it empty.
- OrderId: the broker's order id, if the file has one.
- Event: only for a row where the file itself records that a contract expired, was assigned or was exercised. Write EXPIRATION, ASSIGNMENT or EXERCISE, leave Side empty, and use Price 0, or the settlement price per share if the file shows a cash settlement. The shares an assignment or exercise delivers are a normal stock row, as in the file.
- Never add an expiration, assignment or exercise row that is not in my file, even for a contract that is past its expiry and still open. My journal asks me what happened to it.

The prompt asks the assistant to convert your file with a script rather than rewriting rows itself. Assistants that retype long tables drop rows and change numbers without saying so; a script copies them exactly. If your assistant cannot run code, for example on some free plans, it gives you the script instead, and you can run it or convert the file by hand.

Your file goes to the assistant you choose, under that assistant’s terms. Trandence never sees it until you import the result.

Convert By Hand

For a short history, a spreadsheet is enough. Rename and reorder the columns to match the format below, fix the date and side values, and save as CSV (comma delimited).

Sample file: Download a Trandence CSV template.

The Trandence CSV Format

One row per execution, with this header:

DateTime,Symbol,Side,Quantity,Price,Commission
2026-02-02 09:31:07,AAPL,BUY,100,227.15,1.00
2026-02-02 09:48:22,AAPL,SELL,100,228.40,1.00
ColumnRequiredWhat goes in it
DateTimeYes2026-02-02 09:31:07. Seconds are optional. Read in the CSV Timezone you choose on import, unless it carries its own offset: 2026-02-02T09:31:07-05:00.
SymbolYesThe ticker: AAPL, BRK.B.
SideYesBUY, SELL, SHORT or COVER. If your broker does not mark short sales, use only BUY and SELL: a sell with no open long position is treated as a short sale, and the buy that closes it as a cover.
QuantityYesNumber of shares, positive.
PriceYesPrice per share, positive, with a dot as the decimal separator. No $, no thousands separators.
CommissionNoAll fees for the execution added together. Empty means none.

Column names are not case-sensitive, and extra columns are ignored.

Options

Stock and index options import through the same file. Add the option columns to the header and leave them empty on stock rows:

DateTime,Symbol,Side,Quantity,Price,Commission,Expiry,Strike,Right,Multiplier,Event,OrderId
2026-02-02 09:31:07,AAPL,BUY,100,227.15,1.00,,,,,,
2026-02-02 09:35:12,NVDA,BUY,2,3.40,1.30,2026-02-20,140,CALL,,,8812
2026-02-02 10:02:41,NVDA,SELL,2,5.10,1.30,2026-02-20,140,CALL,,,8840
2026-02-10 09:40:05,SOFI,SHORT,1,1.34,1.14,2026-02-20,26,PUT,,,8911
2026-02-20 17:00:00,SOFI,,1,0,,2026-02-20,26,PUT,,ASSIGNMENT,
2026-02-20 17:00:00,SOFI,BUY,100,26.00,5.00,,,,,,
ColumnWhat goes in it
SymbolThe underlying ticker: NVDA, or SPXW for SPX weeklies. You can also put the whole contract here as an OCC symbol, such as NVDA 260220C00140000, and leave Expiry, Strike and Right empty.
ExpiryExpiration date, 2026-02-20.
StrikeStrike price: 140.
RightCALL or PUT.
QuantityNumber of contracts.
PriceThe premium per share as quoted: 3.40, not 340. Trandence applies the multiplier.
MultiplierOnly if it is not 100, for example on an adjusted contract after a split.
EventEXPIRATION, ASSIGNMENT or EXERCISE, only on a row where your broker’s export records that event. Leave Side empty and use price 0, or the settlement price per share for a cash-settled index option.
OrderIdThe broker’s order id, if the export has one. Legs of the same order share it.

An assignment is two rows. The option closes on the ASSIGNMENT row, and the shares you received or delivered are an ordinary stock row at the strike, as in the example. The premium stays with the option trade; the shares are a trade of their own.

Do not add an expiration your broker did not record. If a contract is past its expiry and the export never closed it, leave it open. Trandence shows it under Expired options to resolve on the Trades page, where you choose whether it expired worthless, was assigned or was exercised. The prompt above tells your assistant the same.

Options on futures are not supported yet: a file that contains them is rejected.

Import To Trandence

  1. Open Trandence and go to the Trades page.
  2. Click Import Trades and select Upload CSV/TXT.
  3. Choose Other broker (Trandence CSV) as the broker.
  4. Set CSV Timezone to the timezone of the times in your file. For most US brokers this is America/New_York.
  5. Select or drop the converted CSV file.
  6. Review the parsed trades before saving. At the top, Check the converted file before saving shows the totals your assistant printed: rows, total commission, first and last date and time, and shares or contracts bought and sold per symbol. They should match; a symbol marked uneven is either still open or a mistake. Then open two or three trades and compare them with your broker’s statement, and compare the total P&L for the same period. Trandence shows P&L after commissions. This catches what a valid-looking file can still get wrong, such as day and month swapped.
  7. Click Save & Review Session, or Import & Review Summary when the file covers several days, to save the import.

For the full import workflow, see Importing Trades.

If The File Is Rejected

Trandence rejects the whole file if any row is invalid, so a broken row is never silently left out of your journal. The error names the rows and the problem, for example:

Trandence CSV has 1 invalid row. Nothing was imported. Row 3: Side must be BUY, SELL, SHORT or COVER, got "Sold".

The most common causes:

  • Dates in another format, such as 02/03/2026. Use 2026-02-03, and make sure day and month were not swapped.
  • Side words from the broker, such as Bot, Sld or Buy to Cover. Use BUY, SELL, SHORT or COVER.
  • Formatted numbers, such as $1,234.50. Use 1234.50.
  • A spreadsheet that saved with semicolons. Save as CSV with commas.
  • An option row missing part of its contract, such as a strike with no expiry. Fill Expiry, Strike and Right together, or put the OCC symbol in Symbol.
  • An option price per contract, such as 340.00 for a $3.40 premium. Divide by the multiplier.

If an assistant made the file, click Copy for your AI assistant under the error and paste the report into the same conversation. It lists every problem with the rows and values it was found in, and asks the assistant to fix its script and give you a whole new file rather than patching rows by hand.


Need Help?

Tell us which broker you use at help@trandence.com. Brokers that traders ask for most get their own import option, so you can skip the conversion.

Need Help?

Questions about Other Brokers? We answer within one business day.

Contact Support