Privacy mode is on. Financial details are hidden.
Preparing sample data controls…
ALL TOOLS / CSV TRANSACTION IMPORTER
CSV Transaction Importer
Map columns, normalize dates and assets, preview errors and merge without duplicates.
Review every input and assumption. Calculate, save a scenario, compare it below, and export a backup before clearing browser data.
Inputs
Results
Saved scenarios & comparison
Assumptions & how it works
Accepts comma-delimited UTF-8 CSV with quoted fields. Supported types are buy, sell, deposit, withdrawal and fee. Quantity is positive; USD price and USD fee are nonnegative. Dates must be ISO dates or ISO timestamps with a timezone, or interpreted UTC/local as explicitly selected. Save a named import profile to reuse column mappings, asset aliases and UTC/local settings across portfolios. Select and apply profiles manually for each CSV, then review the import again. CSV records stay separate from holdings: importing a sell never silently changes a portfolio.
Worked example
A BTC buy row is mapped to bitcoin, an ISO date is normalized to UTC, and importing the exact same transaction twice adds it only once.
Can I use this offline?
Manual calculations work after this page and its assets have been cached. Live provider fetches need internet. Historical DCA needs uploaded or cached price data.
Where are my records saved?
Saved records use IndexedDB in this browser on this device. Use Settings after the moon icon to download a JSON backup, review recovery copies or restore records.
Does this execute trades?
No. Results are educational scenarios. Check fees, contract rules and actual execution prices separately.
HELPFUL ANSWERS
Frequently asked questions
Answers for CSV Transaction Importer.
What does CSV Transaction Importer do?
Map columns, normalize dates and assets, preview errors and merge without duplicates.
Which assumptions should I check?
Accepts comma-delimited UTF-8 CSV with quoted fields. Supported types are buy, sell, deposit, withdrawal and fee. Quantity is positive; USD price and USD fee are nonnegative. Dates must be ISO dates or ISO timestamps with a timezone, or interpreted UTC/local as explicitly selected. Save a named import profile to reuse column mappings, asset aliases and UTC/local settings across portfolios. Select and apply profiles manually for each CSV, then review the import again. CSV records stay separate from holdings: importing a sell never silently changes a portfolio.
How do I get help with an input?
Use Help & guide for instructions for this page. Hover over a question mark, focus it with your keyboard, or tap it on mobile for field help. Press Escape or tap outside to dismiss a tooltip.
Where are my records saved?
Saved financial records stay in this browser on this device. Use Settings to download a full JSON backup. Clearing browser site data can delete local records.
Can I try the website without entering real information?
Use Load sample data to open a fictional sample portfolio. Review / clear samples shows the affected records before clearing them. Real records remain separate; cleared samples are recoverable for 30 days.
What is the difference between a report and a backup?
PDF, Excel and CSV reports contain the selected results or records. A full JSON backup preserves the workspace, settings and supported record types for restoration. Confirm a downloaded file was actually saved.
Will my old website data appear here?
On the same browser profile and exact origin, legacy local-storage data migrates when the new database is first created. If this database already exists, import an old version 13 JSON backup through Settings. Original calculation summaries appear on their calculator pages; missing inputs are not invented.