How to import trades from a CSV or your own spreadsheet
Updated September 11, 2026 · 2 min read
Not trading on Tradovate, TopstepX, Rithmic, or TradeZella? You can still get your full trade history into Tradervana — from a personal tracking spreadsheet, another journal's export, or anything else with one row per trade. No CSV caps, on any plan.
Two ways to do it
Download the template. Fill in your trades using our column headers and upload it — every column is recognized automatically, so there's no mapping step at all.
Or keep your own columns. Upload your file as-is on the Import
trades page. Tradervana does its best to auto-detect your
columns by header name ("Buy Price", "Entry Price", and "Avg Entry" all
match, for example), and you can fix anything it misses before importing.
What each column means
One row = one completed trade (an entry and, once closed, an exit) — not one row per fill or order.
| Column | Required? | Notes |
|---|---|---|
| Symbol | Yes | The contract or ticker |
| Side | Yes | Long/Short (also accepts Buy/Sell/B/S/Bought/Sold) |
| Quantity | Yes | Contracts or shares |
| Entry Price | Yes | — |
| Entry Time | Yes | See the note on dates below |
| Account | No | Ties the trade to a specific eval or funded account |
| Exit Price | No | Leave blank for a trade that's still open |
| Exit Time | No | Leave blank for a trade that's still open |
| Fees | No | Defaults to 0 |
| Commission | No | Defaults to 0 |
| Notes | No | Free text |
| Tags | No | Comma- or semicolon-separated within the cell |
| Strategy | No | Matched by name to a playbook you've already created |
Dates need a timezone to be unambiguous. A plain "1/15/2026 9:32 AM" gets
interpreted using the server's own timezone, not necessarily yours. For
guaranteed accuracy, use full ISO 8601 with a UTC offset, e.g.
2026-01-15T09:32:00-06:00 for 9:32 AM Central. The template's example row
already uses this format.
Already have order-level fills, not paired trades?
If your export has one row per order (a buy row and a separate sell row, like Tradovate's own "Orders" report) rather than one row per completed trade, switch to "One row = one fill/order" on the import page instead. Fills get matched flat-to-flat into round-trip trades the same way live broker sync does.
Re-uploading is safe
If you upload the same file again later — or a file that overlaps with trades you've already imported — matching rows are updated in place, not duplicated. There's no need to trim a file down to just the new trades.
Once your history's in
Every imported trade gets the same analytics, calendar, and goal tracking as one entered by hand — and if you attach a rule set to an eval or funded account, Tradervana starts showing live distance-to-breach, drawdown room, and profit-target progress from your very first imported trade.
Troubleshooting
A row got skipped. The importer needs Symbol, Side, Quantity, Entry Price, and Entry Time at minimum. The preview screen tells you exactly which rows were skipped and why before anything is actually imported.
"We don't have contract details on file for ___." Tradervana doesn't recognize that symbol's contract specs, so it assumes 1 point = $1 for P&L — correct for a stock, wrong for most futures. Worth a second look if it's actually a futures contract.
Still stuck? Contact support with a sample row and we'll take a look.