// Importing
How to Import Your Broker's Trade History
The import wizard is four steps: Source, Scope, Map, Preview. Nothing is written until you commit on the last one, so the whole run is safe to explore and abandon.
Importing takes a file your broker already produces and turns each row into a trade. It runs as four steps, and nothing reaches your account until you commit on the last one — so the whole run is safe to explore, change your mind about, and abandon.
// 01 · prep
Before you start
Pick the export that lists transactions — variously called activity, history, or realized gains depending on the broker. A holdings or positions snapshot has no fills in it and can’t reconstruct how you got there.
Check which account is selected at the top of the wizard. Everything the import writes lands in that one.
// 02 · the file
1. Source — the file
Upload the file
Drop the CSV onto Import Data.Check this before dropping the file. The wizard has its own account picker — you don’t have to switch the active account first. Confirm what was detected
The columns are fingerprinted against known broker formats. On a match, a banner names it and the mapping is filled in for you.If nothing matched, choose a broker
A picker appears. Pick yours to use that broker’s reader, name an unlisted one (which tells us what to build next), or map the columns yourself on the Map step.
// 03 · scope
2. Scope — what to bring in
A single statement usually holds more than one kind of row: stock fills, option fills, and cash movements. Scope is where you choose which of those to import, with a count beside each so you can see what the file actually contains.
This step is skipped when the file only holds one kind.
// 04 · columns
3. Map — the columns
Mapping tells the importer which column is the date, the ticker, the quantity, the price, and so on. A recognized broker arrives already mapped and you can move straight past it; an unrecognized file gets best-guess matches you correct.
This step is skipped when the mapping is already complete.
// 05 · the check
4. Preview — check, then commit
The last step shows exactly what will be written, with everything the importer is unsure about surfaced as its own question: duplicates, splits, share transfers, spreads, short sales, and rows it set aside. Each is answerable in place.
You can also exclude individual rows or filter to specific tickers before committing. When something looks wrong here, it is almost always one of the cases in fixing an import that looks wrong.
// 06 · the clock
The source timezone
Trade times are kept as the wall clock you experienced, never converted. But a file records times in whatever zone the broker chose, so the preview asks which zone this file is in.
It pre-fills from the strongest evidence available: what the file says about itself first, then the broker’s known convention, then your own timezone — skipping any zone the file’s own timed option fills rule out, or that would place the newest fill after the moment you uploaded. You can override the pick. Getting it right is what places your trades correctly on the time-of-day and weekday charts; it does not shift the times you see on the trade itself.
// 07 · commit
What commit writes
| Row kind | What it becomes |
|---|---|
| Stock and option fills | Trades, with positions opened or closed as the fills dictate. |
| Option resolutions | The matching open contract is closed as assigned, exercised, or expired. |
| Cash movements | Deposits and withdrawals in your cash history. |
| Splits and renames | Applied to the open position, then recorded so a re-import can't apply them twice. |
A row that can’t be written fails on its own without taking the rest of the import with it, and is listed afterwards so you can see exactly what didn’t land.
How large a file can I import?
Up to 5 MB and 50,000 rows in one run. A longer history imports in parts — export it by date range and run them oldest first, so each statement’s opening trades exist before the sells that close them.