Trade Import
This trade import setup guide shows how to bring broker exports, spreadsheets, supported HTML statements, and older trade journals into Journalit without rebuilding everything by hand.
Want a shorter overview page? See trade import for your Obsidian trading journal.
What Trade Import is really for
The goal is not just to ingest files. The goal is to convert messy trade exports into clean, structured Journalit records that work with Trade Log, reviews, accounts, and dashboards.
Trade Import Overview
Access Trade Import from the Home View quick links, or open the command palette with Ctrl+P and search for the trade import command.
Built-in adapters
Use broker-specific import logic when Journalit already knows the export format.
Manual mapping
Map custom CSV or Excel columns yourself when the broker is not built in.
AI-assisted mapping
Get a suggested mapping when the file structure is unfamiliar or inconsistent.
Template reuse
Save working mappings so you do not have to solve the same import problem twice.
Built-In Broker Adapters
If your broker or platform is already supported, use the adapter first. That is usually the fastest and safest path.
Tradovate
Futures imports with adapter logic tailored to Tradovate export structure.
TopstepX
Futures trade-history imports from the TopstepX Trades module.
Sierra Chart
Trade activity exports mapped for Sierra Chart workflows.
MotiveWave
Standard MotiveWave trade exports with entry, exit, and fee handling.
ATAS
XLSX journal exports from ATAS Statistics, including the Journal sheet workflow.
Trading Technologies
Execution-level pairing with support for scale-in and scale-out flows.
Rithmic
Completed-order exports with pairing logic for sectioned execution data.
Bybit
Bybit trade-history imports with the correct Trade History export instead of Closed P&L.
Hyperliquid
Hyperliquid trade-history imports, including the need for repeated exports on large histories.
Blofin
Crypto futures imports from Blofin order-centre exports.
FX Replay
Replay-trade imports from FX Replay's standard export format.
Best practice
If a built-in adapter exists for your platform, use that before reaching for manual mapping. The adapter usually handles broker-specific quirks you would otherwise need to rediscover yourself.
Three-Step Import Flow
Trade Import uses a three-step flow: upload the file, review the parsed data, then confirm the import. The flow is intentionally staged so you can catch file, mapping, and duplicate issues before anything is written to your vault.
Upload
Create the CSV, XLSX, XLS, or supported HTML export from the source platform. If you are unsure where to find the correct export, check the Broker Export Guides.
Choose the account, broker adapter, and asset type, then upload the original export file. Use the broker guide link in the upload panel when you need the exact export settings for a supported platform.

Choose the matching broker adapter, manual mapping, or AI mapping path.
Review

Before confirming the import, verify trade count, dates, prices, P&L, validation warnings, and any broker-specific edge cases.
Import

The import step shows the trades that are ready to write, their status, and any message from matching or duplicate detection. Confirm the import only after the preview set matches what you expect.

After completion, Journalit shows the account, broker, and recently imported trades. You can open the account view or start another import from the same screen.
Quick Import
Quick Import is for traders who use the same account, broker adapter, and asset type repeatedly. Instead of walking through the full three-step flow every time, save a favourite Trade Import setup and drop the next broker export straight into the modal.
Favourite setup
Quick Import reuses your chosen account, broker adapter, and asset type so routine imports start from the right configuration.
Sidebar access
Open it from the Quick Import button in the Tools section of the Journalit sidebar.
Command palette
Open it from Obsidian's command palette when you prefer keyboard-driven workflows.
Hotkey-ready
Assign an Obsidian hotkey to the Quick Import command when importing is part of your daily routine.
Excel And XLSX Workflows
Journalit supports direct Excel imports and selected HTML statement workflows because many brokers and tools do not produce a clean CSV.
XLSX and XLS support
Useful when the source exporter is Excel-native or when the CSV output is unreliable.
Custom-field mapping
Map source columns directly into your own custom trade fields during import.
Embedded image extraction
Extract images from supported workbooks and review them before confirming the import.
Direct P&L and extra fees
Import final realised P&L and additional fee columns when price reconstruction is incomplete or unnecessary.
Direct P&L note
Manual direct P&L imports work without a quantity mapping. If your file has trustworthy final P&L but no quantity column, you can still import it.
Embedded Images From Excel
If a workbook contains embedded images, Journalit can extract them during the review flow. Always confirm the image-to-trade alignment before importing.
Other Fees And Direct P&L
The mapping options sit together in the manual import flow. Use Direct P&L mode when your export already contains authoritative final P&L or when broker fee breakdowns matter more than reconstructing every fill manually. From the same area, you can load a local mapping template or request AI mapping suggestions.
Manual Mapping
Manual mapping is the fallback when a built-in adapter does not exist or the file format has drifted too far from the expected broker export.
Upload the file
Start with the CSV, XLSX, or XLS file you want to import.
Choose Manual Mapping
Select Manual Mapping instead of a broker adapter.
Map the source columns
Connect each source column to the corresponding Journalit field, including any custom trade fields or additional fee columns you want to preserve.
Handle format details
Adjust date, time, and number-format assumptions if the export uses something non-standard.
Preview and save the template
Review the parsed trades, then save the mapping if you expect to reuse the same format later.
Minimum data needed
Manual mapping needs enough information to build a valid trade. At minimum, you need symbol, entry timing, direction, and either full price/size data or a trustworthy direct P&L field.
Required trade identity
Symbol or ticker, entry date and time, and direction.
Calculation path
Either entry price + exit price + quantity, or a direct P&L field that you trust.
Convenience memory
Journalit remembers your recent broker and account selections to reduce repetitive setup.
AI-Powered Mapping
AI mapping exists to reduce the pain of unfamiliar exports, not to replace your review judgement. It is available from the same mapping options area as local templates and Direct P&L mode, so you can combine saved mappings, AI suggestions, and the right calculation mode for the file in front of you.
Upload the file and choose AI Mapping
Start the import and select AI Mapping.
Let the model suggest the mapping
Journalit analyses the column names and sample rows to infer likely field assignments.
Review the suggestion
Confirm that dates, prices, quantities, direction, fees, and P&L are mapped correctly before importing.
Save the working configuration
If the mapping is correct, save it as a reusable template for later imports.
Privacy note
AI mapping sends column headers and small samples for mapping help, not your full trade history. You should still review the result like any other import.
Template Sharing
Journalit Trade Templates let you reuse and share import configurations.
Save working mappings
Turn a successful manual or AI mapping into a reusable import template.
Export template codes
Generate a shareable template code after the mapping is working correctly.
Import someone else's template
Paste a shared template code and use it like another adapter in your list.
Import Matching And Duplicates
Journalit previews imports through the Journalit backend before writing local markdown notes. The preview classifies each row or trade group, identifies matches where possible, and shows which items can be imported, skipped, updated, or require manual review.
Backend preview
The preview uses canonical import IDs and classifications before anything is written to your vault.
Commit then project
Selected items are committed through the backend, then Journalit projects the committed trades into local markdown notes.
Duplicate protection
Duplicate or blocked items are not offered as normal writes, which keeps repeated imports from creating extra notes.
Import summary
The result shows what was created, updated, skipped, or blocked for review.
Restoring Imported Trade Notes
Imported trades are treated as backend records with local Obsidian notes as the vault projection. That lets Journalit restore missing local notes without re-importing the source file or creating duplicate backend trades.
Use the restore panel in Trade Import settings when imported trade notes are missing from the current vault, were deleted locally, or need to be projected into another vault that uses the same Journalit account.
Vault-aware restore
The panel shows the active vault identity and the imported trades that can be projected into that vault.
Local note recovery
Selected trades are written back as local markdown notes while the backend trade record remains the source of truth.
No duplicate commit
Restoring a projection does not run the import as a fresh commit, so the same imported trade is not duplicated.
Import Reliability Improvements
Timezone-safe timestamps
Import parsing is designed to avoid quiet time shifts between the source file and the final note data.
Break-even consistency
Imported trades are classified in line with your Journalit break-even settings.
Adapter maintenance
Supported adapters continue to receive fixes for commission handling, symbols, and broker-specific quirks.
Troubleshooting And Support Reports
Need help?
Join the Discord community if you need import help or if a broker export has changed unexpectedly.
Bottom line
Trade Import is the migration path for getting existing trade history into Journalit without rebuilding it manually. Use built-in adapters when possible, fall back to manual or AI mapping when necessary, and save working templates so the problem only needs to be solved once.
