AI 加密税务计算实操:用 ChatGPT/Claude 整理交易记录的 5 步流程
报税季打开各家交易所的"导出历史"按钮,是大多数加密用户最绝望的几个小时。 字段格式不一、时间戳时区混乱、跨链 swap 被记成两笔、staking 收益单独躺在另一份 CSV—— 这部分整理工作正好是 AI 的甜区。这篇给完整 5 步流程,不告诉你怎么报税,只告诉你怎么把数据整理到能交给税务师的程度。
1. 加密税务真正难在哪里 #
大部分人以为难的是"算 capital gain 公式",其实公式简单(卖出价 - 成本基础 = 损益)。真正难的是把成本基础找回来。一个普通用户的数据现实长这样:
- 3-6 个交易所:Binance、OKX、Coinbase、Kraken、Bybit 等,每家导出格式不一样
- 2-4 个钱包:MetaMask、Phantom、Ledger 等,需要从区块浏览器抓 tx 记录
- 跨所 / 链转账:从 Binance 提币到 MetaMask 再到 Phantom,要识别为"内部转账"而不是"卖出 + 买入"
- DeFi 操作:流动性提供、staking、airdrop、wrapping,这些在 CSV 里看不出原本是什么
- 已经倒闭的交易所:FTX、Celsius 等记录可能要从邮件里翻
下面的 5 步流程不会让 AI 帮你"自动报税"——而是把上面这堆杂乱数据整理成一张干净的表。这张表你交给税务师 / Koinly / CoinTracker,他们会做剩下的工作。
2. 第 1 步:导出原始数据 #
这一步是手工的,AI 帮不上忙。但是必须导全,否则后面 AI 整理出来的数据是错的。
| 来源 | 导出路径 | 格式 | 典型遗漏字段 |
|---|---|---|---|
| Binance | Tax → Generate Tax Report → 选年份 | CSV | 跨账户内部划转、Launchpool 收益 |
| OKX | Assets → Bills → Export | CSV / XLSX | 合约持仓盈亏的实现 vs 未实现 |
| Coinbase | Reports → Tax Reports | CSV / Form 8949 | Coinbase Pro 旧数据需单独导 |
| MetaMask | 用 Etherscan / Arbiscan 等按地址导出 CSV | CSV | swap 内部步骤、L2 → L1 提款 |
| Phantom | Solana Explorer 按地址查或 Solscan 导 | 需手工整理 | SPL token 元数据 |
| 硬件钱包 | 从对应链浏览器按地址导 | 同上 | 多链需逐链导 |
建议:建一个文件夹 2025-tax/raw/,每个来源一个 CSV,文件名带年份和来源。所有 AI 处理都从这个目录开始,不要让 AI 直接连交易所。
3. 第 2 步:用 AI 统一字段格式 #
各家 CSV 字段名千奇百怪。Binance 用 UTC_Time,Coinbase 用 Timestamp,OKX 用 billCreateTime。让 ChatGPT 或 Claude 写一个统一脚本。
Prompt 模板(GPT-4o + Code Interpreter):
附件是 3 份不同交易所导出的 CSV:binance.csv / okx.csv / coinbase.csv。
请帮我写 Python 脚本,把它们合并到统一格式 unified.csv,列必须是:
- timestamp_utc (ISO 8601)
- source (binance / okx / coinbase / wallet_)
- type (buy / sell / convert / transfer_in / transfer_out / staking_reward / airdrop / fee / unknown)
- asset_in (BTC / ETH / USDT ...)
- amount_in (float)
- asset_out
- amount_out
- fee_asset
- fee_amount
- usd_price_at_time (留空,下一步算)
- raw_tx_id (原始记录 ID)
- raw_note (原始 CSV 的备注字段,原文保留)
要求:
1. 自动识别每份 CSV 的时间列、金额列、类型列(不要假设列名相同)
2. 类型映射不确定时填 "unknown",不要自己猜
3. 时区一律转 UTC
4. 输出一份 mapping_report.md,说明每份 CSV 哪些列被映射到哪个统一字段,哪些列被丢弃
附件就是真实数据,请基于真实列名做映射,不要假设。
关键是最后那行"不要假设"。GPT-4o 容易凭训练记忆给你一个"通用的"币安 CSV 字段列表,但 Binance 改过两次格式——基于真实附件做映射才靠谱。
4. 第 3 步:识别交易类型 #
上一步把"unknown"留了下来。第 3 步用 AI 把这些归类。这一步最容易出错,必须人工抽查。
Prompt 模板:
下面是 unified.csv 里 type=unknown 的所有记录(共 N 条)。
请逐条判断它的实际类型,从以下 9 类选一个:
- buy / sell / convert / transfer_in / transfer_out
- staking_reward / airdrop / mining_reward / interest
- fee_only
判断依据可以用:
- raw_note 字段里的关键词("Distribution" / "Stake Earn" / "Launchpool" 等)
- 是否两侧资产一致(同币种不同账户 = transfer)
- 金额是否过小(< $0.5 可能是 dust 或 fee)
- 来源是否 wallet(链上 tx 可能是 swap / mint / claim)
对每条输出:
- tx_id
- 推荐类型
- 置信度(high / medium / low)
- 你的理由
最后单独列出 confidence=low 的条目,那些我会人工复核。
不要硬填——拿不准就写 low + 说明缺什么信息。
"硬填"是 AI 的本能。"拿不准就标 low"必须显式要求,否则它会编一个看上去合理的类型。我跑过的真实样本里,low 通常占 5-15%,这部分必须人工查。
5. 第 4 步:成本基础计算 #
类型整理好后,让 AI 跑成本基础。这里需要补历史价格——CSV 里很多记录没有 USD 计价,要从 CoinGecko 历史 API 抓。
Prompt 模板(必须 Code Interpreter):
附件 unified.csv 已分好类型。
请:
1. 对每条 buy/sell/convert/staking_reward/airdrop,补上 usd_price_at_time
- 如果原始数据里有 USD 金额,直接换算
- 否则用 CoinGecko 历史价格(你可以联网取,注意标注 API 调用次数和限流)
- 如果某天某币没有公开价格,标 "N/A" 不要编
2. 用 FIFO 方法计算每笔卖出的成本基础:
- 对每个币种维护一个 "未卖出批次队列",按时间先进先出
- 每笔卖出按队列顶部批次成本计算 cost_basis
- 每笔 staking_reward / airdrop / mining_reward 的 cost_basis 就是收到时 USD 价格
3. 同时再跑一遍 LIFO 算法做对比
输出三份:
- realized_pnl_fifo.csv(FIFO 下每笔卖出的实现损益)
- realized_pnl_lifo.csv(LIFO 下,同上)
- summary.md(FIFO vs LIFO 总应税额对比 + 数据完整度报告)
最后告诉我:哪些币种 / 时间段的数据有明显缺失或低置信度。
FIFO 在大多数地区是强制的,LIFO 做对比只是看看差额——如果差额很大(> 30%),说明你的持仓批次结构很重要,更值得请税务师做精确处理。
6. 第 5 步:产出工作底稿 #
最后一步,把所有结果整理成一份能交给税务师的工作底稿。这一步 ChatGPT / Claude 都行。
Prompt 模板:
基于 unified.csv 和 realized_pnl_fifo.csv,请生成一份纳税年度工作底稿(Markdown):
# [年份] Crypto Tax Working Paper
## 1. 数据来源与时间范围
- 来源清单 + 每个来源记录数
- 时间范围
- 已知数据缺口(哪些来源没导,为什么)
## 2. 资产持仓变动总览
- 期初每币种持有量
- 期末每币种持有量
- 期内最大持仓 + 最小持仓
## 3. 已实现损益(FIFO)
- 按币种分组的实现损益表
- 按月度的累计实现损益
## 4. 收入类项目
- staking 收益总额
- airdrop 收到的总额
- 收入类按 USD 计价
## 5. 数据置信度与已知问题
- 低置信度记录数(type=low confidence 的 N 条)
- 缺失 USD 价格的记录数
- 跨账户内部转账识别情况
## 6. 给税务师的备注
- 我的 AI 整理流程概述
- 哪些字段是 AI 推断的(如交易类型)
- 推荐税务师重点核对的部分
明确写:"本文档由用户使用 AI 工具整理,最终申报数字必须由持牌税务师复核。"
这份底稿你交给税务师后,他不会重新做整理工作(那是你刚干完的),只会复核 + 适配本地税法 + 填申报表。整理这一步通常占税务工作 70% 时间,AI 帮你省下来了。
7. 6 个典型坑 #
坑 1:跨所转账被记成"卖出 + 买入"。从 Binance 提 BTC 到 MetaMask 不是应税事件,但两边 CSV 看起来像两笔交易。第 3 步识别 type=transfer 必须人工抽查。
坑 2:DeFi swap 的中间步骤。Uniswap 一笔 USDC → ETH 在 Etherscan 上可能展开成 4-5 个 internal transaction。AI 会把每个 internal tx 当独立记录,应该只算一笔 swap。让 Prompt 显式合并"同一 tx_hash 内的多个 internal"。
坑 3:Airdrop 入账时的 USD 价格。很多 airdrop 收到时没有公开交易市场(前 24 小时没 listing),CoinGecko 价格是滞后的。这种情况让 AI 标 "FMV unavailable",留给税务师判断。
坑 4:staking 自动复投。每天累积小额 staking 收益、自动复投到本金——CSV 里可能是几百条 0.0001 ETH 的小条目。AI 会一条一条算,结果是正确但繁琐。可以让它按日聚合("all stake rewards on YYYY-MM-DD combined")。
坑 5:把 KYC 个人信息一起贴给 AI。Binance Tax 报告 CSV 里有时含你的邮箱、UID、IP——脱敏后再处理。OpenAI Settings 里关 "Improve the model for everyone",企业 API 默认不训练。
坑 6:信任 AI 的 USD 价格。AI 给你的"2024-03-15 ETH 价格 $3,825"可能是它训练数据里的近似值,不是当日真实价。所有价格必须来自 CoinGecko / CryptoCompare 历史 API,让 AI 显式调用(联网模式)或你自己抓再贴。
导出 Binance Tax Report → 看完整 Prompt 库 →
8. FAQ #
Q1:AI 能直接帮我报税吗?
不能。AI 适合做数据整理和初步成本基础计算,最终的应税认定、扣除项、跨年结转必须由当地持牌税务专业人士复核。本文流程产出的是一份整理过的工作底稿,不是报税表。
Q2:用 ChatGPT 整理报税数据安全吗?
原始 CSV 里如果包含真实身份关联信息(KYC 邮箱、地址、IP)请先脱敏。OpenAI Settings 里可以关闭"Improve the model for everyone"。涉及大额账户建议用 API + 自建工具链而非 Web 对话。
Q3:FIFO 和 LIFO 哪个划算?
这取决于你所在地区的税法和持有时间结构。许多地区强制 FIFO(先进先出),少数允许 LIFO 或特定批次法。AI 可以同时算几种方法对比,但选哪个必须遵守当地法律。
Q4:和 Koinly / CoinTracker / TokenTax 比,AI 自己做更划算吗?
看记录量。少于 200 笔:AI 自己做更便宜(一次 ChatGPT Plus 对话就够);200-2000 笔:用 AI 做前期清洗,然后导入这些工具做最终税务;大于 2000 笔:直接付钱用专业税务软件,AI 只做 ad hoc 查询。
Q5:跨年结转的损失怎么算?
这是 AI 容易出错的地方——它不知道你去年的未利用亏损。把去年的工作底稿一并贴给 AI,明确说"附件 A 是 2024 损益、附件 B 是 2025 损益,请算 2024 未利用亏损在 2025 的结转"。
rel="sponsored"),
通过链接注册我们可能获得佣金,不会增加您的任何费用。
本文不构成税务、法律或投资建议。
加密税法在各地区差异巨大且频繁更新,最终申报必须由当地持牌税务专业人士处理。
完整披露 →
PromptDeck · 2026-05-15