Tax exports
Tax exports
The record, in the shape your filing software or your accountant expects — with the events no other tool can see already in it.
An export is a replay of your whole history in block order: lots opened and consumed, disposals matched by your jurisdiction's rule, income accrued through the multiplier, and every figure converted at the rate that applied on the day.
#Formats
| Format | For | Carries income with no transaction? |
|---|---|---|
koinly_csv | Importing into Koinly | Yes, as dividend income rows |
csv | Spreadsheets, your accountant | Yes, with rate and source columns |
json | Your own tooling | Yes, with the full event trail |
curl -X POST https://api.accuren.xyz/v1/exports \
-H "Authorization: Bearer $ACCUREN_API_KEY" \
-d '{ "year": 2026, "format": "koinly_csv", "currency": "IDR" }'{
"id": "exp_9f21",
"rows": 148,
"lotMatching": "fifo",
"currency": "IDR",
"warnings": [
"11 income events have no matching wallet transaction — included as dividend income",
"1 event is ai_labeled and unconfirmed"
],
"url": "https://app.accuren.xyz/exports/2026/exp_9f21.csv"
}Read the warnings before you file
They are the difference between a number you can defend and one you cannot. Unconfirmed AI labels are listed individually, never folded silently into a total.
#Koinly, specifically
Koinly reads your wallet and sees no dividend, because there is no transaction to see. Accuren's export adds those accruals as dated income rows in the format Koinly imports, so the year reconciles instead of quietly missing income.
Import the Accuren file as its own wallet in Koinly rather than merging it into the on-chain one. Merging double-counts the transfers Koinly already has.
#Exports are immutable
Once generated, a file never changes. Change a setting, correct a label, or add an address, and the next export is a new file with a diff against the last one — so an amended return is a deliberate act with a paper trail.