Coinbase

PIT-38 from Coinbase: a header carrying your name, and conversions that are not sales

A Coinbase file opens with rows of account details, and among the operations are some that look like sales but are not. Below is exactly what our engine reads.

Where to get the file

  1. Open Profile → Reports and generate a transaction report for the tax year.
  2. Download the CSV; if you used Advanced Trade, download its report too.
  3. Do not delete reward and conversion rows — without them the cost of acquisition is invisible.

What is inside

Description rows before the table
Above the headers sit a few lines with the user name and account identifier. Column names begin below them.
Separate retail and Advanced Trade reports
Ordinary trading and Advanced Trade use different column layouts, on one account.
Conversions with two legs
A conversion row describes the coin given up and the coin received in one operation.
Rewards, staking, sends and receives
Separate operation types alongside buys and sells, each with its own label.

Where it goes wrong

A conversion counted as a sale
Swapping one virtual currency for another is tax-neutral — art. 12 ust. 4g. Counting it as income inflates section E by the entire volume traded between coins.
A send to your own wallet taken for a disposal
The file does not say whether the destination address is yours. The row alone is no proof of a sale, so it needs your confirmation rather than a guess.
Rewards treated as purchases
Nothing was paid for reward coins. There is no documented expenditure, hence no cost in the sense a purchase creates.
The first rows taken for the header
Opened raw, a spreadsheet takes the account description for the column names and shifts the table.

What we compute from it

Virtual currencies — section E/F
Separate from shares, art. 30b ust. 1a. A crypto loss does not reduce a gain on shares.
Costs without FIFO
Line 37 is the sum of every purchase in the year, including those not yet sold — art. 22 ust. 14-16.
Conversions outside income
Tax-neutral, art. 12 ust. 4g.
Conversion to złoty
NBP rate from the day before income is realised, art. 11a ust. 1.

Run this once

claude mcp add --transport http taxroam https://taxroam.com/mcp --header "Authorization: Bearer $TAXROAM_KEY"

Documentation · How it works · Pricing

Where this export usually goes wrong

Crypto
A December purchase left out because “it isn’t sold yet”
The NBP rate
The trade-date rate

All Polish tax cases

Questions about Coinbase

I converted USDC to BTC. Is that a sale?

No. Swapping one virtual currency for another is neutral — art. 12 ust. 4g. Tax arises only when you exit into money, goods or services.

The file has sends to my own wallet. What happens to those?

The file alone cannot establish whose the destination address is. We flag such rows for confirmation instead of treating them as sales.

Staking rewards — do they belong in PIT-38?

It depends on the approach taken to income at the moment of receipt. We state that plainly with the result, together with what it means for cost on a later sale.