Flagship feature · Never silently wrong
Reconciliation-first accounting.
The category's single biggest complaint is broker imports that quietly drop legs, so your totals stop being true and nothing tells you. ThetaRecap is built the other way around: a number is either checked against your broker's own statement or visibly flagged as unverified. There is no third state.

“EVERY import I was finding trades that didn't even exist… I spent more time correcting its errors than I did trading.”— an options trader on a competing tracker, r/thetagang
That trust gap is exactly what reconciliation closes. Here is how it works, end to end.
- 1
Your raw file is stored, untouched
Every CSV you upload is written to immutable storage before anything parses it. Parsers run against that raw copy and can be re-run; the original is never mutated. Re-uploads are deduplicated, so you cannot double-count.
- 2
We recompute from your fills
ThetaRecap rebuilds every position and cash delta per account straight from the parsed fills — deterministically. The same fills always produce the same totals, so a disagreement is a real signal, not noise.
- 3
We diff against the broker's own totals
Those computed totals are compared to the statement figures the broker reports. When they agree, the campaign earns a Reconciled badge. When they don't, the gap is surfaced — with the suspected missing-fill window.
- 4
A mismatch is a loud event
A dropped closing leg or a missed assignment doesn't disappear into a wrong number. It becomes a flagged alert pointing at the two-day window to inspect — the row your old spreadsheet quietly skipped.
What the badge means
“Reconciled” is earned, not decorative.
Reconciled
Every fill in the campaign sums to the broker's reported totals. The badge appears on the campaign and, on Pro, in the recap card footer. It is a statement-checked claim, not a rendering choice.
Mismatch
The computed cash or position delta disagrees with the statement. The report names the account and the time window where the missing fill most likely sits, so you can find and re-import it.
The verified badge is a separate, stricter claim: it appears only on stats from an API-synced account, never a CSV import. Reconciliation gives you statement-checked numbers today; verification arrives with auto-sync.
Why it holds up
Immutable raw, re-runnable parsing.
Broker CSV formats drift — it is a matter of when, not if. Because your raw files are immutable and parsing is a pure, re-runnable function of them, a parser fix means we re-parse your history and reconcile again. The failure mode is loud and recoverable, never a silently corrupted total.
See a reconciled campaign for yourself.
Import a CSV free and watch the totals check out — or catch the row your spreadsheet missed.
No card required. Free while we are in public beta.