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
- Deduplicate by trade ID where the exchange provides one.
- Strip pure funding-fee lines if your accountant treats them separately—ask first.
- Park dust conversions in their own short appendix; they clog lot matching without changing the story much.
- 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.