Importing
Trading Vault imports broker data through Trade Import Profiles so broker activity can become structured journal data. Each profile defines the broker, account, import settings, and mapping rules used when importing execution rows.
Imports can come from a supported broker file upload, supported broker auto-sync, or a custom CSV profile. Imported rows are matched to trades and executions where possible. Rows that cannot be matched can be reviewed and handled from the import history.
Imports are execution-first. A broker row normally becomes an execution on a trade. Trading Vault uses broker identifiers, account, symbol, direction, date, and quantity to decide whether the row belongs on an existing trade, a planned trade, a previously imported execution, or a new trade.
This lets imports support more than basic trade creation. They can attach broker fills to planned trades, update existing executions, preserve broker costs and comments, detect duplicate fills, enrich MAP/MFP where available, and give you import history tools for repairing older data.
Trade import profiles
Open "Trade Imports" from the side navigation to see your import profiles. Select a profile to view its settings, upload files, configure sync, and review import history.
Create a profile
Click "New" and configure:
| Field | Description |
|---|---|
| Broker | The broker or import type. |
| Name | A label for the profile. |
| Trade account | The account imported executions belong to. |
| Default strategy | Optional strategy assigned to new trades created by the import. |
| Import executions from | Optional start date used to ignore older broker executions. |
| Auto-attach planned trades | When enabled, new broker open executions can attach to matching planned trades and mark them executed. |
If the profile replaces another import source, set the import start date after the last imported execution to reduce duplicates.
Profile settings
Profile settings can include:
- Trade account
- Default strategy
- Date format
- Time format
- Report time zone
- Import executions from
- Auto-attach planned trades
- Custom CSV mapping
- Auto-sync settings
Profiles need a trade account before importing or enabling auto-sync.
Archive profiles
Archive a profile when you no longer want it in normal import workflows. Archived profiles preserve import history and duplicate-detection boundaries.
Archived profiles cannot import new trades. To restore one, select the Archived filter, open the profile, assign a trade account if needed, and unarchive it.
Upload broker files
On an active profile, use the Upload trades area to drag in a file or browse your device. Files must match the supported file type and layout for the selected broker. Uploads are limited to 4 MB.
Trading Vault first analyzes the file and shows a preview. The preview includes execution rows, import actions, broker details, matched trades, costs, prices, and unmatched row counts.
You can filter preview rows by symbol or show unmatched rows only. Review the preview before confirming the upload.
Import actions and statuses
Each execution row receives an import action. Common actions include:
| Action | Meaning |
|---|---|
| Added | A new trade or execution will be created. |
| Updated | An existing trade or execution will be updated. |
| Matched | The row matched an existing trade or planned trade. |
| Skipped | The row was recognized but no change is needed. |
| Unmatched | Trading Vault could not confidently match the row. |
| Invalid | The row cannot be imported until the issue is fixed. |
Rows can also show a link status after import, such as linked, unlinked, replaced, trade removed, or execution removed.
Import history
Import history shows each upload or auto-sync run. The history table includes:
- Date and time
- Account
- Total trades
- Trades added
- Trades updated
- Unmatched rows
- Invalid rows
- Source, such as file upload or auto sync
Expand an import to view the execution rows inside it. Large imports load rows in pages.
Review unmatched rows
Unmatched rows can be assigned manually from the expanded import history. Trading Vault suggests compatible trades using account, direction, symbol, date, and broker identifiers.
When needed, you can show symbol-mismatch candidates and intentionally assign a row to a trade with a different symbol. Broker identity conflicts are blocked so the same broker execution is not attached to the wrong trade.
If the row represents a new trade, use the create-trade action from the row.
Import examples
Useful import workflows include:
- Upload a broker report and let Trading Vault create trades from broker executions.
- Attach new broker open executions to planned trades.
- Use broker position IDs to keep scale-ins and partial closes grouped together.
- Import historical executions, then repair unmatched rows from import history.
- Use custom CSV mapping when your broker or spreadsheet has its own column names.
Broker identifiers
Broker identifiers help Trading Vault match future imports to the right trade and avoid duplicate executions.
| Identifier | What it means |
|---|---|
| Broker position ID | The broker's identifier for the overall position or trade. This is the most useful identifier for grouping entries, scale-ins, and exits. |
| Broker order ID | The broker's identifier for the order that created one or more fills. |
| Broker fill ID | The broker's identifier for a specific fill or execution row. This is usually the most precise identifier for duplicate detection. |
| Position / Trade ID | A custom CSV field that can be mapped to the broker position ID or another stable trade-level identifier from your source data. |
In most imports these values are read automatically. You can also enter or correct a broker position ID manually on a trade or execution when older data needs help matching future broker rows.
Position ID is especially important for scale-ins, scale-outs, and partial closes. When a broker provides a stable position ID, Trading Vault can keep related executions together even when there are several orders or fills for the same trade.
Broker row details
Imported execution rows can include:
- Broker position ID
- Broker order ID
- Broker fill ID
- Execution action
- External symbol
- Source row
- Broker comment
- Gross profit
- Commissions
- Fee
- Roll
- Dividends
- Balance after execution
- Initial stop
- Initial target
- Maximum adverse price
- Maximum favourable price
These details help match future imports and explain how imported executions were created.
MAP/MFP enrichment
After a broker import completes, Trading Vault can calculate missing MAP/MFP values for close executions in the background on Pro accounts. Recent trades are processed first. User-entered MAP/MFP values are not overwritten.
MAP/MFP can still be entered manually on executions on any plan.
Auto sync
Auto-sync lets supported broker profiles check for new broker reports without manual file uploads. If a broker supports auto-sync, the profile shows Sync Settings.
You can pause and resume sync from the profile. The profile must have a trade account selected before sync can be enabled.
MetaTrader 4 and MetaTrader 5
For MT4 or MT5 sync:
- Open the profile's Sync Settings in Trading Vault.
- In MT4 or MT5, go to
Tools -> Options -> FTP. - Copy the FTP server, login, and password from Trading Vault into the matching fields.
- Leave the path empty.
- Select passive mode.
- Enter the MT4/MT5 account number.
- Enable automatic publishing of reports via FTP.
- Set the refresh interval.
MT4 or MT5 must be open for reports to publish.
Custom CSV imports
Use a custom CSV profile when your broker is not directly supported or when importing data from a spreadsheet.
Trading Vault supports trade-shaped custom CSV mappings and execution-shaped custom CSV mappings. An execution-shaped file contains one row for each broker fill, so Trading Vault must be able to identify what each fill did and whether it opened or closed a position.
Auto-map columns from a CSV header
When the CSV contains a header row, you can drop a sample file into the mapping settings to detect common English column names and parsing options. The sample is read locally and is not uploaded or imported.
Review the detected mappings before importing. Broker terminology is not consistent: for example, a column named Direction that contains Buy and Sell usually represents the execution side, not the overall trade direction.
CSV options
- CSV delimiter
- Contains header row
Filter rows before importing
Some broker reports mix fills with order, stop, target, balance, or other event rows. Use the optional Row filter to import only the rows you need instead of editing the source file first.
Choose a filter column and enter the value that rows must equal. Matching is exact, case-insensitive, and runs before execution validation. Both fields are required when a filter is used; clear both fields to import every row.
For example, if a transaction-type column contains ORDER_FILL for executable fills, select that column and set Equals value to ORDER_FILL. Rows containing other transaction types are skipped and do not produce execution validation errors.
The current filter supports one column and one equals value.
Understand side, direction, and action
These mappings describe different parts of an execution:
| Mapping | Example values | What it describes |
|---|---|---|
| Execution side | Buy, Sell | What the individual broker fill did. This mapping is required. |
| Trade direction | Long, Short | The direction of the overall position. |
| Entry/exit action | In, Out, Out By | Whether the individual fill opened, closed, or closed-by another position. |
Map the execution side plus at least one source for the execution role:
- Use Side + Trade direction when the CSV explicitly describes the position as Long or Short.
- Use Side + Entry/exit action when the CSV identifies rows as opening or closing fills.
- You may map both when the report provides both.
Do not map the same Buy/Sell column to both Side and Trade direction. Buy/Sell describes the fill side; it does not by itself say whether the fill opens or closes a position.
Map broker-specific values
The keyword fields suggest common values, but they also accept custom text. Type the exact value used by the broker when it does not appear in the suggestions. For example, you can use LIMIT_ORDER as the Entry keyword or MARKET_ORDER_TRADE_CLOSE as the Exit keyword.
Keyword matching is case-insensitive. Each keyword field currently accepts one value. If an imported action is not recognized by a common or configured entry, exit, or close-by keyword, the row is invalid and the validation message shows the unrecognized value.
Required execution columns
- Symbol
- Execution side (Buy/Sell)
- Trade direction (Long/Short) or Entry/exit action (In/Out)
Date and time columns
Map either one combined execution date/time column or separate execution date and execution time columns.
Optional execution columns
- Price
- Quantity
- Position / Trade ID
- Broker order ID
- Broker fill ID
- Gross profit
- Commissions
- Fee
- Roll
- Dividends
- Broker comment
- Balance after execution
- Initial stop price
- Initial target price
- Maximum adverse price
- Maximum favourable price
Advanced import history
Import history is the best place to repair older imports, handle unmatched rows, and understand why a row did or did not attach to a trade.
Unmatched rows
An unmatched row is a broker row Trading Vault could not confidently attach to an existing trade or execution. This usually happens when older broker data is missing a stable position ID, the symbol format changed, the row predates the profile's matching history, or the trade was entered manually with different details.
From the expanded import history, review the row details and choose a matching trade when the row belongs to an existing trade. Trading Vault may suggest candidates using account, direction, symbol, date, quantity, and broker identifiers.
If the row should start its own trade, create a new trade from the row instead.
Reattach deleted executions or trades
Import history keeps enough broker context to show when a previously linked execution or trade has been removed. When the source broker row still exists, you can review the row and attach it again to the correct trade or create a replacement trade from it.
This is useful when cleaning up imported history, undoing an accidental deletion, or rebuilding trades after changing how older broker data should be grouped.
Correct old matching data
Older imports may not have the same broker identifiers that current imports provide. If a trade should match a broker position but does not, open the trade or execution and correct the broker position ID where it is known.
After the identifier is corrected, future imports can use that position ID to attach related open and close executions more reliably.
Move executions after import
If an imported execution lands on the wrong trade, move it from the trade's Executions tab. You can move it to another compatible trade or move it into a new trade created from that execution.
Use this when a broker file grouped rows differently from the way you want to review the trade, or when old data needs to be split into cleaner trade records.
Notebook
Trading Vault's Notebook feature allows you to keep track of your thoughts and ideas, jot down notes and observations, and record your progress as a trader. Customize your notes, group them into subnotes, and rearrange them as needed.
Privacy Mode
With Privacy Mode, you can hide personal financial details and focus on analyzing your trades. Learn how to enable it in your Trading Vault journal.