How to Import a CSV Trade History into EdgeLedger (Any Exchange)
No API? No problem. EdgeLedger accepts CSV exports from virtually any exchange. Here's how to clean, format, and import your trade history in minutes.
When to Use CSV Import
CSV import is the best option when an exchange doesn't have API support in EdgeLedger yet, when your exchange has limited API history (e.g., Binance only returns 90 days of history via API), or when you want to bulk-import an archived history from a previous platform.
Step 1 — Export Your CSV from the Exchange
Every major exchange has a trade history export option, usually under Account → History or Reports. Here's where to find it on common exchanges:
- Binance: Orders → Spot Order History → Export
- Coinbase Advanced: Statements → Generate Report → Fills
- Bybit: Assets → Transaction Log → Export
- KuCoin: Orders → Trade History → Export
Select the widest date range available and export as CSV.
Step 2 — Upload in EdgeLedger
- Navigate to Import → CSV Import in EdgeLedger.
- Select your exchange from the dropdown — EdgeLedger knows the column structure for all supported formats.
- Upload your CSV file. EdgeLedger will preview the parsed trades before committing.
- Review the import summary — check for any rows flagged as unparseable.
- Confirm the import.
Tips for Clean Imports
- Don't edit the CSV in Excel before importing — Excel often auto-converts dates and numbers in ways that break parsing.
- If you have multiple date range files, import them in chronological order to avoid duplicate detection issues.
- Check the import log after completion: any failed rows are listed with the reason.
After the Import
Once imported, your trades appear in the journal with full P&L calculated. You can then add tags, notes, and setup types to each trade — or use the bulk-edit feature to tag an entire import at once. Your analytics dashboard will immediately reflect the new data.
When the Exchange Has No Decent Export
Some exchanges still produce broken or partial CSVs. Smaller venues, DEX aggregators, and certain regional exchanges may dump only thirty days, may split spot and margin into separate files, or may omit fee columns entirely. Three workarounds cover most cases:
- Multiple monthly exports — pull a fresh export at the end of every month and import them sequentially. EdgeLedger's duplicate detection prevents the same fill from being counted twice.
- On-chain reconstruction — for DEX trades, a block explorer export keyed to your wallet address gives you the full set of swaps. Format it to the standard EdgeLedger CSV template before upload.
- Manual append — for venues with no export at all, log trades manually in a spreadsheet that matches the EdgeLedger CSV columns. Slow, but every other approach is worse.
Date Format Pitfalls
The most common reason a CSV import fails is the date column. Exchanges export dates in five different formats depending on locale: ISO 8601, US M/D/Y, EU D/M/Y, UNIX epoch in seconds, or UNIX epoch in milliseconds. Before importing, open the file in a plain-text editor (never Excel — Excel silently rewrites dates) and confirm the format matches what the EdgeLedger importer expects. When in doubt, pick a single sample row and check that the timestamp matches when the trade actually happened.
Reconciling Transfers Between Exchanges
Trades on one exchange that were funded by a deposit from another exchange show as separate events with no cost-basis link. After import, walk through your deposit and withdrawal log and tag transfers so EdgeLedger can carry cost basis across venues. This step matters most for tax reporting and is the difference between an accurate annual report and a guesswork estimate.
Importing Years of History
Long-history imports — five or more years across multiple exchanges — should be staged. Import the oldest year first, verify P&L against the exchange's own annual summary if available, then move forward year by year. Catching a parsing issue early on year one is far cheaper than discovering it after importing all five years and having to reconcile the discrepancy.