Importing statements
Fidolio reads Fidelity account-history and Merrill Edge account-activity exports, detects which is which from the file itself, and classifies every row — buy, sell, dividend, reinvestment, interest, fee, transfer. Overlapping exports are safe to re-import: anything already stored is skipped.

Importing is a task, not a place — you do it a few times a year when a statement lands — so it lives one tap from the Positions screen rather than taking a permanent slot in the navigation.
Two brokers, one shape
Every parser normalises its file into the same row shape, so nothing downstream knows or cares which broker a transaction came from. The header row identifies the format, which means you never choose one; the matched format is named in the preview before anything is written.
Merrill’s export differs from Fidelity’s in nearly every detail that matters, and each difference is handled deliberately:
- Two-digit dates, a byte-order mark, and
--for an empty cell. - No Action column — the description doubles as the action.
- Pending rows are skipped. Their amounts still change, so importing one would leave a stale twin of the settled row behind.
- A reinvested distribution arrives as three rows where Fidelity sends one. The share leg carries shares at $0, which would classify as a worthless dividend and lose them; it is rewritten so both brokers land on identical totals.
- Sweep-interest rows carry a bank account number where the ticker belongs. An all-digit identifier on a row with no quantity and no price is dropped, so the row imports as the account-level cash movement it is.
Importing the same file twice does nothing
Neither broker issues transaction IDs, so identity is the row itself: a hash over the date, account, action, symbol, quantity, price, amount, fees and commission, plus an occurrence counter that distinguishes genuinely identical same-day trades. Any pair already stored is filtered out. A whole-file checksum short-circuits re-importing the exact same download.
The practical consequence: you never have to remember which date range you last imported. Export everything, import it, repeat next quarter.
Reconciling against what you actually hold
Because the history only reaches back so far, a long-held position’s share balance can simply be wrong — the old buys are in no file you can download. Fidelity’s portfolio-positions export says what you hold right now, and Fidolio takes it through the same picker (it is recognised by a column no account history has).
Everything it will do is computed and shown as an itemised preview before anything is written, because this is the one import that creates transactions you never typed:
- Balances that disagree get one dated adjustment each, editable and deletable like any manual row. A balance that already agrees is left completely alone.
- Where shares are being added and nothing has been sold, the adjustment is priced at the part of the broker’s cost basis your records don’t account for — so the position lands on the file’s cost basis and average cost, not merely on its share count.
- What that cannot fix is reported rather than fudged. Symbols whose basis still disagrees are listed with both figures and pointed at the paste-lots tool, which does fix it.
- Positions you hold that the file does not list are never closed silently. The export may cover one account out of several, so they are reported behind an off-by-default checkbox.
- A partial export is called out. Balances are per symbol across all accounts, so reconciling against an export of one account would read the others’ shares as shares to remove. Any account the file does not cover is named in a warning above the adjustments.
Re-applying the same snapshot is a no-op by construction: every adjustment is a delta against the balance as it stands now.
Typing one in
Anything the files cannot supply can be entered by hand — a backfilled purchase, an opening balance, a correction. Manual rows are editable and deletable afterwards, where imported ones are immutable, and they carry the same identity hash, so a statement that later reports the same trade is recognised as the duplicate it is.