βοΈ Data Editor & CSV Import
The Data Editor lets you view, add, edit, and delete individual exchange rate data points. For bulk loading, it includes a built-in CSV Import tool.
π Data Editor
Click the Edit button (βοΈ) in the chart toolbar to open the data editor panel:
π Viewing Data
The editor shows a scrollable table of all data points for this currency pair, sorted by date (newest first):
- π Date β The observation date
- π± Rate β The exchange rate value
- ποΈ Source β Where the data came from (provider name, CSV import, or manual)
β Adding a Data Point
- Click "Add" at the top of the editor
- Select the date from the date picker
- Enter the rate value
- Click Save β the point is immediately added and the chart updates
βοΈ Editing a Data Point
- Click the pencil icon next to any row
- Modify the rate value
- Click Save to confirm
ποΈ Deleting a Data Point
- Click the trash icon next to any row
- Confirm the deletion
Synced data overwrites manual edits
If you manually edit or add a data point for a date that is later covered by a sync, the provider's value will overwrite your manual edit β the provider is always treated as the authoritative source. For pairs where you want full manual control, use the MANUAL provider (no automatic data source) β see Provider Config.
π₯ CSV Import
For bulk loading historical rate data, use the CSV Import tool.
π How to Access
- Open the Data Editor (pencil icon βοΈ)
- Click "Import CSV" to open the import modal
π CSV File Format
The CSV file must have exactly 2 columns with a header row that specifies the direction:
π Rules
| Rule | Details |
|---|---|
| Separator | Semicolon (;) |
| Date format | YYYY-MM-DD |
| Rate values | Positive decimal numbers |
| Header | Required β must contain the direction (e.g., EUR>USD) |
| Direction arrow | Use > or < (both are supported) |
βοΈ Direction in the Header
The header tells LibreFolio which direction the rates are expressed in:
- β‘οΈ
date;EUR>USDmeans: 1 EUR = X USD (rates are EURβUSD) - β¬
οΈ
date;USD>EURmeans: 1 USD = X EUR (rates are USDβEUR)
If you're on the EUR/USD page and your CSV has USD>EUR rates, LibreFolio will automatically invert the values.
π Direction & Swap
The import modal shows a direction bar indicating how your data will be interpreted:
- β‘οΈ Left currency β Right currency: the rate tells you how much of the right currency you get for 1 unit of the left currency
- π Use the swap button (β) to flip the direction if your data is in the opposite format
The header in your CSV determines the direction automatically. If the header says EUR>USD, the modal sets the direction to EURβUSD.
π Examples
β Minimal Valid File
β Inverted Direction
This is equivalent to the first example β LibreFolio inverts 0.9053 to 1/0.9053 β 1.1045.
β Invalid File
This will fail if you're on the EUR/USD page β the header currencies must match the page's pair.
β οΈ Common Errors
| Error | Cause | Fix |
|---|---|---|
| "Header currencies don't match" | Header has currencies not on this page | Check the pair and fix the header |
| "Missing or invalid header" | No header row, or wrong format | Add a header like date;EUR>USD |
| "Duplicate dates" | Same date appears multiple times | Remove duplicates |
| "Invalid rate" | Non-numeric or negative value | Ensure all rates are positive numbers |
| "Invalid date format" | Date not in YYYY-MM-DD format |
Fix date formatting |
π Merge Behavior
When importing via CSV or adding points manually in the editor:
- Changes are first applied to the local client cache (visible immediately in the chart)
- Changes are not persisted to the database until you click Save
- π Existing data points in the database will be overwritten with the imported values upon save
- π New dates are added
- β Dates not in the import are left untouched
This allows you to selectively update specific date ranges without affecting the rest of your data.
Best for MANUAL pairs
The data editor is most useful for pairs configured with the MANUAL provider (no automatic data source). For provider-backed pairs, manual edits will be overwritten on the next sync.