Skip to Content
DocumentationDisposals Export

Disposals export

Dashboard → Activity → Disposals → Export CSV downloads every disposal inzi has recorded for your account. The same data is available from GET /api/v1/reports/disposals?format=csv (JSON without format).

A disposal is a swap, a bridge, or a payout to someone else: an asset left your wallet and you received something else for it, or nothing. Moving funds between your own wallets is not a disposal and is not listed.

Cost basis is calculated with FIFO, per wallet and network: a disposal from one wallet only draws on what that wallet received.

An empty cell means not known. It never means zero. Where a value is zero, the file says 0.

Columns

ColumnMeaning
disposal_idinzi’s identifier for the row.
occurred_atWhen the disposal happened (UTC, ISO 8601).
source_typeswap (includes bridges), payout, wallet_outflow (a transfer you sent from a watched wallet outside inzi), or manual_sale.
source_idIdentifier of the swap, bridge, payout row or wallet transaction that caused it.
tokenThe asset that left the wallet.
amountHow much of it left. For a swap this includes any inzi fee withheld from the amount.
proceeds_eurMarket value of what the disposal brought in, in EUR. For a payout, the value of the asset paid out.
cost_basis_eurWhat the disposed amount cost when it was received, in EUR. Empty unless the cost basis is known for the whole amount.
realized_gain_eurproceeds_eur − cost_basis_eur. Empty unless the cost basis is known for the whole amount.
methodAlways fifo.
rate_statusWhere the rate behind proceeds_eur came from: spot_at_recording is the market rate when inzi recorded the disposal, taken at rate_at; historical_estimate is reconstructed from the ECB rate for the disposal date because the row was recorded later.
reversed_atSet when the row was reversed (for example, the payout address turned out to be your own wallet). A reversed row stays in the file for history and is not part of any total.
reversal_reasonWhy it was reversed.
uncovered_amountHow much of amount has no known cost basis.
cost_basis_statuscomplete: the cost basis is known for the whole amount. rate_unknown: the coins came from payments recorded before inzi captured rates, so their cost is lost. source_unknown: the coins reached this wallet outside inzi, so their cost has to come from your own records. rate_and_source_unknown: both. reason_not_recorded: the row predates this distinction.
rate_atWhen the rate behind proceeds_eur was taken.
covered_amountHow much of amount has a known cost basis.
covered_proceeds_eurProceeds of the covered part. Filled only when the cost basis is partly known.
covered_cost_basis_eurCost basis of the covered part. Filled only when the cost basis is partly known.
covered_realized_gain_eurGain on the covered part. Filled only when the cost basis is partly known.
received_tokenWhat you received in exchange. Empty for a payout: nothing came back.
received_amountHow much of it.
networkThe network the asset left from.
wallet_addressThe wallet it left from.
tx_hashThe transaction on that network. Empty when inzi does not hold the transaction hash (for example, some sponsored payouts, where only the operation hash is known).
fee_tokenThe coin the network fee was paid in.
fee_amountNetwork fee you paid for this disposal. 0 means inzi paid it (sponsored transactions). Empty means unknown. For a payout of several rows, the fee of the transaction is split across rows in proportion to their amounts.
fee_eurThe same fee in EUR. Empty when it could not be valued.
destinationWho received the asset. third_party: you marked the address as someone else’s. unknown: you have not classified the address yet — the payout already reduces your lots as a disposal, and your answer in Transfers awaiting an answer settles it: Someone else keeps it and sets third_party, My wallet reverses the disposal and carries the original lots to your receiving wallet. Empty for swaps (what you receive back comes to you) and for rows recorded before this column.

Reading the gain columns

Each row puts its known gain in exactly one place:

  • cost basis fully known: realized_gain_eur;
  • partly known: covered_realized_gain_eur, for covered_amount only;
  • not known at all: nowhere.

Summing realized_gain_eur and covered_realized_gain_eur over rows that are not reversed gives the known realized result. For the uncovered_amount of each row, the cost basis has to come from your own records; cost_basis_status says why it is missing.

The network fee is not part of amount, proceeds_eur or any gain column. How to treat it is a decision for your accountant.

Calculated using FIFO. Verify with your accountant before filing. inzi does not provide tax advice.

Moving lots between your own wallets

In Reports → Transfers awaiting an answer, My wallet moves the original acquisition lots to the receiving address. Quantities leave the sending wallet by FIFO; each fragment keeps its acquisition date and cost. An incoming transfer observed at the receiving wallet does not become a second acquisition at the transfer-date exchange rate.

For example, 10 USDC acquired for EUR 9.00 retain EUR 9.00 of basis when moved to another wallet, even if their value is EUR 12.00 on the transfer date. A later disposal from that wallet uses the original basis. An already known own address is handled by the background reconciliation without another answer.

If you answer after later disposals have already used the receipt, inzi revises the affected allocations. Earlier journal entries stay in the history with their reversal reason; replacement entries retain the original proceeds valuation. A repeated pass or the same answer does not create extra quantities. The dashboard reports how many transfers and later allocations changed.

Holdings retain known quantities even when an acquisition cost is missing. Their cost is shown as unknown, with the known part and the unpriced quantity separately. Transferring an asset does not invent a missing source, rate or acquisition date. The expanded disposal row identifies transferred lots and their original acquisition date; the evidence package also lists external transfers between your own wallets.

Last updated on