Concepts & events

Why exchange CSVs lie

Exchange CSV exports are built for operations, not tax. The recurring errors — missing rand values, hidden swaps, mislabelled transfers — and what a defensible record looks like.

Last reviewed: · Reviewed by Johan Pretorius, Registered Tax Practitioner

Why a clean CSV can still be wrong

Exchange CSV exports feel authoritative, but they are built for operations, not tax. Relying on a raw CSV is one of the most common reasons South African crypto tax filings are inaccurate — and inaccurate is exactly what triggers a SARS query under CARF data-matching from 1 March 2026.

The recurring problems

  • Missing rand values. Many exports show only crypto amounts (e.g. "−0.1 BTC, +1.5 ETH"). Tax sits on the rand value of each leg, which the CSV often omits or quotes only in USD.
  • Crypto-to-crypto swaps under-reported. Swaps are disposals, but a CSV may record them as a single "trade" line with no gain calculated.
  • Internal transfers misread as buys/sells. Moving crypto between your own wallets is not a disposal, but CSVs from different venues can double-count or mislabel these.
  • Delisted or defunct tokens and exchanges. History from a closed exchange or a delisted token simply disappears from current exports, leaving gaps.
  • Fees and dust. Network and trading fees, and tiny dust balances, are inconsistently recorded, distorting base cost.
  • Inconsistent timestamps and time zones. Year-end disposals can land in the wrong tax year if timestamps are misread.

What good looks like

A defensible record reconciles every account and wallet, attaches a rand value to every leg on its date, classifies each event correctly, and flags gaps. Coinfig's Data Completeness Score surfaces exactly where the data is incomplete — so you close the gaps before you file, not during an audit.

Not tax advice

Reconcile your data and confirm treatment with a registered tax practitioner.

Frequently asked questions

Why are exchange CSVs unreliable for tax?
They are built for operations, not tax. They often omit rand values, under-report crypto-to-crypto swaps, mislabel internal transfers, and lose history from delisted tokens or closed exchanges.
What makes a crypto tax record defensible?
It reconciles every account and wallet, attaches a rand value to each leg on its date, classifies each event correctly, and flags gaps before filing.
How does Coinfig help?
Coinfig reconciles connected accounts and computes a Data Completeness Score that surfaces exactly where data is missing, so you close gaps before you file rather than during an audit.

Sources