🧙 How to Import Transactions
Learn how to use the Broker Report Import Module (BRIM) to import your transactions step-by-step.
🚀 Step-by-Step Guide
- Export a transaction report from your broker (usually a CSV file — check your broker's help center).
- In LibreFolio, navigate to the Transactions page.
- Click the Import button () in the page header, or drag-and-drop your statement file directly into the transaction list.
- The Import Wizard opens.
- Review the preview — check that dates, amounts, and asset names look correct.
- Click Import to commit all transactions.
On-the-fly Broker & Asset Creation
If the imported report contains a broker account or assets that are not yet created in LibreFolio, you don't need to exit the import flow! The wizard will guide you to create the missing Brokers and Assets on-the-fly, pre-filling details from the statement.
You can also use the Files section
The Files section (BRIM tab) lets you manage uploaded broker reports centrally, re-import them, or delete them.
🧙 The Import Wizard Steps
The guided wizard contains 5 operational steps designed to parse, validate, resolve and import your transaction history safely.
🧙 Step 1: Upload Report File
This step accepts CSV, XLSX or PDF reports exported from your broker. You can select files manually or drag-and-drop them directly into the wizard.
⚙️ Step 2: Parser Configuration
The system automatically detects the broker format (e.g. Degiro, Directa, Interactive Brokers). If you upload a generic spreadsheet, you can use the Generic CSV parser to manually map your columns (date, type, quantity, asset, net cash) to LibreFolio fields.
🧠 Step 3: Analysis & Parsing
The system parses the files, validating dates, numbers and currencies. You will see a progress bar indicating the parsing speed and status. Once analysis completes, any warning or error in parsing will be summarized before continuing.
At the end of parsing, the table displays a summary of the processing for each file with the following statistical columns marked by emojis:
| Emoji / Column | Metric Name | Meaning and Population Rules |
|---|---|---|
📊 |
Transactions | The total number of financial transactions read and identified within the file. |
🏦 |
Identified Assets | The number of financial instruments (stocks, ETFs, etc.) found within the parsed transactions. |
✗ |
Unresolved Assets | The number of instruments in the file that were not found in LibreFolio's database (marked in red if > 0, requiring mapping in Step 4). |
🔴 |
Validation Issues | Formal errors detected in the data (e.g., invalid formats, incorrect dates, missing required data). |
🔧 |
Action Required (TODOs) | Fields or attributes requiring attention (red if blocking, orange for warning/info level actions). These are not necessarily errors: they simply indicate missing data that cannot be extracted automatically from the statement alone, which you can easily fill in manually in the bulk transaction form at the end of the wizard. |
⚠️ |
Warnings | General notifications or warning messages generated by the parser during processing. |
🔍 Step 4: Asset Mapping & Duplicate Detection
This is the reconciliation phase. The wizard performs two core checks:
🗂️ Asset Resolution
If the statement contains ticker symbols or ISINs that are not in your library, the wizard flags them. You can:
- Map them to an existing asset in your database.
- Create them on-the-fly directly inside the wizard.
⚠️ Duplicate Detection
The system compares parsed entries with your database to find potential duplicates based on type, date, amount, quantity, and description.
Duplicates are flagged in the UI using two status badges based on 4 confidence levels:
| UI Badge | Confidence Level | Criteria / Matching Rules |
|---|---|---|
| ⚠️ LIKELY | LIKELY_WITH_ASSET |
Basic fields and description match, and asset auto-resolved (highly confident duplicate). |
| ⚠️ LIKELY | LIKELY |
Basic fields and description match, but asset is not resolved. |
| ℹ️ POSSIBLE | POSSIBLE_WITH_ASSET |
Basic fields match, and asset is auto-resolved (but description differs or is empty). |
| ℹ️ POSSIBLE | POSSIBLE |
Basic fields (type, date, quantity, amount) match, but asset is not resolved. |
| ✅ UNIQUE | — | The transaction has no matching records in the database and is classified as new (no duplicate detected). |
| ❌ UNRESOLVED | — | The broker or financial instrument was not matched to an existing entity in the database (requires resolution in Step 4 before importing). |
By default, the wizard automatically unchecks "Likely" duplicates to prevent double-entry, but you can override this choice.
📦 Step 5: Bulk Staging Review
The final review shows the parsed list in a spreadsheet-like grid.
The table displays:
- Date: The execution date.
- Type: BUY, SELL, DIVIDEND, DEPOSIT, etc.
- Asset: The matched asset from your library.
- Quantity: The number of units/shares.
- Price: The unit price.
- Net Amount: The total cash impact.
- Fees/Taxes: Commissions and taxes included.
Click Import to finalize the import and write the transactions to your ledger.