Guides
Reconciliation
How to use Ledger's reconciliation flow to find and fix balance differences between your books and the underlying exchanges and wallets.
Reconciliation
Reconciliation is the practice of confirming that Ledger's books match the real balances sitting on your exchanges and on-chain. In a finance team this would happen once a month against a bank statement; in a crypto portfolio it's the same idea, except the source of truth is a public blockchain or an exchange-side API rather than a paper statement. The point is the same in both cases: catching missing transactions early, before they compound into a tax-time mystery.
Ledger reconciles by comparing your declared balance against its computed balance for each asset, asset by asset. Whenever the two disagree, the platform surfaces the difference and offers a small handful of named ways to close the gap, each producing an audit-trail entry rather than silently editing your records.
What causes discrepancies?#
Most discrepancies trace back to a small set of common causes. None of them are unusual; they're just the kinds of things that get missed on the first import and stay missed unless you reconcile.
Transactions that occurred before your earliest import date
Exchange transfers not captured by the CSV export format
Airdrops, forks, or staking rewards not included in trade history
Manual adjustments that were entered incorrectly
Running a reconciliation#
The flow is short. Open the reconciliation page from the portfolio menu, type in the real balance for each asset (Ledger pre-populates the assets it knows about), and click Calculate diff. The page then shows a per-asset comparison: where they agree, you're done; where they disagree, you choose how to close the gap.
Go to Portfolio → Reconcile
Enter the actual balance for each asset from your exchange or wallet
Click Calculate diff — Ledger shows the difference per asset
For each discrepancy, choose an action
Resolving discrepancies#
There are three named resolution flows, chosen depending on what the discrepancy actually represents. Each produces a documented entry in the audit trail rather than a silent edit.
Add an opening balance#
When the discrepancy is the result of holdings that pre-date your earliest imported transaction (you held an asset before you ever connected the wallet to Ledger), the right fix is an opening-balance entry. This is an equity transaction dated before the rest of the history; it sets your starting position without inventing a fake purchase.
Add a missing transaction#
When the discrepancy traces to a real event Ledger missed — an airdrop, a forgotten OTC trade, a staking reward that didn't appear in the exchange's CSV — add it manually via the transaction-entry form. The realised gains and the cost basis update accordingly, just as if the transaction had imported automatically.
Create an adjustment#
When the discrepancy is small and structural — a rounding difference between the exchange's accounting and Ledger's, a fee credited slightly differently than expected — a reconciliation adjustment closes the gap without affecting the P&L line. Adjustments are tagged distinctly so they're separable from real transactions on every report.
Audit trail#
Every reconciliation adjustment is tagged and stored permanently — Ledger never overwrites historical balances, only inserts new entries that explain the difference. The full adjustment history is available under Reports → Adjustments and exports cleanly to whatever spreadsheet your accountant prefers.