TROUBLESHOOTING

Tradovate CSV Not Importing: Which Report You Actually Need

Tradovate offers several downloads under Reports and they are not interchangeable. One is an account snapshot with no trades in it whatsoever. One is a performance export with no direction column, which for a long time imported as a journal full of longs with the times all stamped at the moment of upload. One is the orders file that carries your stop prices and gives you R-multiples for free. This page tells the four apart and covers the mid-session export gap that makes a correct import still disagree with your broker.

Why traders can try Aurafy safely

Aurafy is a young, independent trading journal. It earns trust by keeping the local app usable without an account, making desktop data exportable, and being clear about which features are free and which require Pro.

Page updated September 2026

Local-first desktop
Your desktop journal works locally; cloud sync is optional.
No lock-in posture
Desktop data lives in SQLite and can be exported/backed up.
~50% off the stack
Aurafy Pro is $48.88/mo, replaces the ~$103/mo stack of journal + screen recording + bar-replay backtester. The backtester chart is free for everyone; Pro unlocks unlimited simulated trades, history jumps, analytics and exports.
Start free, foreverSee Pro · $48.88/moTry the live demo, no signup
Log a trade you actually took. No account, nothing to install.
The result is the number your platform showed you, after commission. That is the whole entry: no fill prices, no CSV, no import.

The four files, by their first line

An account snapshot starts Total P/L, Open P/L, Net Liq, Total Margin Used, Available Margin. It is one row describing your account right now and contains no trades at all. Performance starts symbol, _priceFormat, _priceFormatType, _tickSize, buyFillId, sellFillId, qty, buyPrice, sellPrice, pnl. It holds completed round trips. Orders carries one row per order with a status, a fill price and your stop and limit prices. Fills carries one row per execution. Orders is the best of the four, because the stop price on it lets the journal work out the R-multiple of every trade with no input from you.

The Performance file has no direction column

Nothing in Performance.csv says long or short. Direction is implied by which fill came first: bought before sold is a long, sold before bought is a short. It also uses camel case timestamps that a generic column matcher never matched, so both the direction and the times were lost. The result was one of the worst outcomes in this whole cluster: one user had 105 of his 108 trades stored with every entry and exit time set to the second he uploaded the file, all marked long when most were short. There is now a dedicated parser for this file that reads direction from the fill order and keeps the wall clock times exactly as written. If your Tradovate history looks like that, delete those trades and import again.

The mid-session export gap

The Orders export is a snapshot of what has happened so far. Export it while you are still holding a position and everything after that moment is simply not in the file, including the exit. This produces a correct import that disagrees with your broker, which is maddening to debug because nothing is wrong. One real case: a journal showing minus 290 against a platform showing plus 316, entirely explained by five contracts still open at the moment of export whose winning exit came minutes later. Export flat, at the end of the session, and the gap disappears. If your numbers are off and you exported mid session, check that before suspecting anything else.

Fees, which is the other reason the numbers differ

The Tradovate orders export carries no commission column, so fees have to be estimated. The default is well under what a prop firm simulated account really charges, and the difference compounds fast at any real volume: one account showed 463 dollars of profit against the broker's 106, and the entire 357 dollar gap was commission. The arithmetic that settles it is simple. Take your gross profit, subtract what the broker says you made, divide by the number of contracts you traded, and you have your true per contract rate. Set it on the account, re-cost the existing trades, and the journal matches to the cent.

Paper accounts and multiple funded accounts

Tradovate paper reports export and import identically to live ones. Flag the account as paper in the journal so simulated results do not mix into your real statistics, which is the single most common way a set of trading stats quietly becomes meaningless. The same applies across funded accounts: keep each one separate rather than importing everything into a single default account, because a per account commission rate is the thing that makes each one match its own broker, and a shared account can only carry one rate.

Frequently Asked Questions

Which Tradovate report gives the best analytics?
Orders. It carries your stop prices, which lets the journal calculate the R-multiple of every trade automatically instead of asking you for a default risk figure.
I exported while still in a position. Is my import wrong?
Not wrong, incomplete. Everything after the export moment is missing, including exits. Export again once you are flat and re-import: trades already present are recognised and skipped rather than duplicated.
Why is my Tradovate P&L higher in the journal than in the platform?
Commissions, nearly every time. The orders export has no fee column so the journal estimates, and the default is below real prop firm sim rates. Set the true rate on the account and re-cost.
What does a file actually need before it can become a trade?
Six things: which instrument, which direction, how many contracts or lots, the price you got in at, the price you got out at, and when. A stated profit column can stand in for the exit price, and a pair of fills can stand in for a single round trip. If any of the other pieces is missing from every row, no journal can rebuild the trade, and one that appears to has guessed.
My file is still not importing. What now?
Send it to support@aurafy.dev and say which platform it came from. You are welcome to delete the account number column first, nothing else is needed. Files that arrive this way are what the parsers get built from, and if yours is a format we can already read, you will get told that instead of being left guessing.

Related Resources

CSV Imported Nothing?
The six files that cannot become trades, and how to spot yours in ten seconds.
Export Your Tradovate CSV
The step by step export, then drop the file and see your stats.
Futures Commissions, Explained
What a round turn really costs and why your journal disagrees.

Ready to try Aurafy?

Aurafy is free to start, no card. Every new account also gets 14 days of full Pro first, so you can see everything unlocked before deciding. Pro itself is $48.88/mo, monthly only, and replaces the ~$103/mo stack of journal + screen recording + bar-replay backtester, with a 30-day money-back guarantee if it isn't for you. The TradingView-powered backtester chart is free for everyone, any symbol, any history; Pro unlocks unlimited simulated trades, history jumps, analytics and exports. Start instantly in your browser at app.aurafy.dev. After the trial, Free keeps going as a complete journal: log and import everything, 12 months of trade history, 1 account.

Start free, forever →See Pro · $48.88/moTry the live demo, no signup