City buildings in soft light

Building a year packet from four noisy CSVs

A desk walkthrough of merging overlapping exchange exports without double-counting fees and dust conversions.

A client brought four CSVs covering the same calendar year: two from an exchange that changed export formats mid-year, one staking rewards sheet, and one withdrawal history that duplicated rows already in the trade file.

Order of operations

  1. Deduplicate by trade ID where the exchange provides one.
  2. Strip pure funding-fee lines if your accountant treats them separately—ask first.
  3. Park dust conversions in their own short appendix; they clog lot matching without changing the story much.
  4. Only then begin disposal-to-acquisition pairing.

What we refused to invent

Several staking reward lines lacked a market price on the credit date. We left acquisition value blank and listed each in the open-question section. The accountant supplied values from their price source; inventing mid-session would have mixed methodologies inside one packet.

Time reality

That merge alone took most of a morning. Classification of disposals filled the afternoon. If your folder looks similar, budget a full-day session rather than a half-day.