The ledger columns, saved as text. The workbook itself is not read.

Not tax advice · reviewed 25 October 2026

Gemini CSV to a Form 8949 worksheet

Gemini’s help says the exchange transaction history downloads as a spreadsheet. BasisFix does not open that workbook. Save the sheet as CSV and keep the dates as text. The columns it looks for are the per-asset ledger headers confirmed in btctax-adapters 0.18: Type, a date, Time (UTC), Symbol, BTC Amount BTC, USD Amount USD, Fee (USD) USD, Trade ID, Order ID, Tx Hash, and the destination columns. A Specification column is ignored. The result is a review with a tax pro.

What each type becomes

The id kept on the row is the Trade ID, then the Order ID, then the transaction hash. An Excel serial in the date column stops that row. Fix the CSV instead of asking the worksheet to guess the calendar day.

Questions

Does Gemini’s download open directly?

Gemini’s help says Exchange Transaction History downloads as a spreadsheet. BasisFix reads a CSV with text dates. An Excel serial number is rejected. Save the sheet so the date column is text, then import that CSV.

How are Gemini buys, sells, and transfers separated?

A Buy uses the absolute USD amount plus the absolute USD fee as basis. A Sell uses the absolute USD amount minus that fee as proceeds. A Debit with bitcoin is a transfer out, not a sale. A Credit with bitcoin is a transfer in, with no automatic fair market value. Deposit Destination is Gemini’s receive address and is not a match key.

What happens to ether and dollar rows?

They are skipped. This pass is bitcoin-only. A dollar credit is not income, and a non-bitcoin symbol is not given a zero basis.

Related drafts