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
- Buy. Basis is the absolute USD amount plus the absolute USD fee.
- Sell. Proceeds are the absolute USD amount minus the absolute USD fee. The fee is a separate column in that ledger, so it is taken off rather than assumed to be already net. The sale is the Form 8949 candidate. With no 1099-DA basis, the default box is I or L. See Form 8949 for bitcoin.
- Debit with a bitcoin amount. A transfer out, not a sale.
- Credit with a bitcoin amount. A transfer in. No price is invented. Deposit Destination is the address Gemini shows for the credit, not the sender, and it is not used to match a wallet.
- Dollar credits and debits, and any symbol that is not bitcoin, including ether. Skipped. Nothing is booked at zero.
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.