一个字母或数字可能就是免税转存(rollover)与国税局(IRS)突如其来的税单之间的区别。这个字符位于 1099-R 表格的第 7 栏(Box 7),大多数人直到出了问题才会去看它。
如果你去年从退休账户(如 401(k)、IRA、养老金、年金)中提取了资金,你会收到一份 1099-R 表格。金额固然引人注目,但真正的关键在于第 7 栏中的简短代码。它告诉 IRS 资金流动的“原因”,而这个“原因”决定了你的提款是应纳税的、免罚款的,还是会让你额外支付 10% 的费用。
本指南将解读每一个第 7 栏代码,解释每个代码对你税单的影响,并向你展示如何发现那些在每个报税季悄悄向纳税人多收税款的编码错误。
1099-R 表格到底报告了什么
1099-R 表格报告来自退休和养老金安排的 10 美元或以上的分配(distributions)。这包括传统的和 Roth IRA、401(k) 和 403(b) 计划、养老金、利润分享计划、年金以及某些人寿保险合同。计划管理人、托管人或保险公司会向 IRS 提交一份副本,并向你发送一份。
该表格有几个栏目,但其中三个最为重要:
- 第 1 栏 (Box 1) – 总分配额(离开账户的总金额)。
- 第 2a 栏 (Box 2a) – 应纳税额(通常少于第 1 栏,有时为空白)。
- 第 7 栏 (Box 7) – 对交易进行分类的分配代码。
第 7 栏是翻译器。它将第 1 栏中的数字转化为税务结果。IRS 利用它自动决定你的申报表应显示普通收入、提前取款罚款,还是完全不征税。当代码错误时,IRS 的自动系统也会出错——它们会假设表格是正确的,而你的申报表有问题。
第 7 栏代码的工作原理
第 7 栏包含一个或两个字符。代码要么是数字(1 到 9),要么是字母(A 到 Y)。当两个代码同时出现时,第一个描述分配的主要性质,第二个增加背景信息——通常是账户类型或特殊情况。
例如:
- 7 单独出现表示正常分配。
- G 单独出现表示直接转存(direct rollover)。
- 4G 表示由受益人直接转存的死亡分配。
- B 与另一个代码结合,表示涉及指定的 Roth 账户。
并非每种组合都有效。IRS 在 1099-R 和 5498 表格说明中发布了一份允许的组合表。不合理的配对——或两个相互矛盾的代码——本身就是一个值得质疑的警示信号。
数字代码 (1–9)
数字描述了“事件”:提前取款、死亡、更正。这些是最常触发税收和罚款的代码。
代码 1 – 提前分配,无已知例外
你在 59½ 岁之前取了钱,且付款人没有证据表明适用例外情况。这是让人们损失最重的代码。它通常意味着该分配完全作为普通收入征税,并且需要缴纳 10% 的提前取款罚款。
关键在于“已知”一词。付款人根据其能看到的信息进行编码。如果你符合例外情况——首次购房、合格的教育支出、高额未报销医疗费用、一系列实质上相等的定期付款——付款人通常无法得知。你需要自己在 5329 表格上声明例外。代码 1 不是最终裁决;它只是起点。
代码 2 – 提前分配,例外适用
你未满 59½ 岁,但付款人知道存在例外情况。所得税仍然适用,但 10% 的罚款不适用。你会在 Roth 转换、某些实质上相等的定期付款安排以及根据 IRS 征税令(levy)进行的分配中看到代码 2。
代码 3 – 残疾
根据税法定义,收款人为残疾人。不适用罚款;普通所得税仍然适用。
代码 4 – 死亡
账户持有人去世后,分配发放给受益人或遗产。无论受益人年龄大小,死亡分配均无提前取款罚款。这笔钱仍根据账户类型征税(Roth 账户可能免税;传统账户通常应税)。
代码 5 – 禁止交易
IRA 参与了禁止交易——自我交易、将账户用作贷款抵押品等。这很严重:账户可能会失去其税收递延状态,导致整个余额都要纳税。
代码 6 – 第 1035 条交换
一种年金或人寿保险合同与另一种之间的免税交换。无即时税务后果。
代码 7 – 正常分配
收款人至少 59½ 岁(或者分配在其他方面符合正常标准)。适用普通所得税;无罚款。这是退休人员表格上最常见的代码——遗憾的是,也是最容易被误用的代码之一。如果付款人在适用其他代码时默认使用代码 7,可能会掩盖罚款例外或错误陈述 Roth 分配。
代码 8 – 超额缴款,同年更正
你向计划中存入了过多的资金,超额部分(及其收益)在同年退还。收益部分需缴税。
代码 9 – 当前人寿保险保障成本
报告计划内人寿保险保障的成本。通常金额较小,没有罚金。
字母代码 (A–Y)
字母描述了账户类型或特殊状态。其中几个影响最大的代码涉及 Roth 账户和转存(rollovers)。
代码 A – 可选 10 年计税选项
分配可能符合特殊的 10 年计税平均法——仅适用于 1936 年 1 月 2 日之前出生的计划参与者。这是一个范围较窄但很有价值的优惠。
代码 B – 指定 Roth 账户
分配来自雇主计划(Roth 401(k) 或 Roth 403(b))中的指定 Roth 账户,而非 Roth IRA。代码 B 通常与数字代码成对出现。重要提示:Roth 401(k) 的提取并不自动免税——仍需遵守资格规则。
代码 G – 直接转存 (Direct Rollover)
资金直接从一个合规计划转移到另一个合规计划或 IRA,不经过你的手。正确标记为 G 的分配是不纳税的——2a 栏通常应显示为 $0。代码 G 是你希望看到的转存代码。
代码 H – 指定 Roth 账户直接转存至 Roth IRA
雇主计划中的 Roth 部分直接转入 Roth IRA。操作得当时可缓缴税款。
代码 J – Roth IRA 早期提取
在 59½ 岁之前进行的 Roth IRA 提取,且无已知例外情况。你自己的缴款部分提取是免税且免罚金的,但收益部分可能需要纳税并缴纳罚金。付款人并不总能区分缴款和收益——你需要通过 8606 表格来理清。
代码 L – 贷款视同提取 (Deemed Distribution)
计划贷款违约或违反了规则,现在被视为应纳税提取。
代码 M – 合规计划贷款抵销 (Qualified Plan Loan Offset)
你离职时有尚未还清的 401(k) 贷款,未付余额与你的账户进行了抵销。代码 M 很重要,因为它为你争取了时间:你可以在纳税申报截止日期(包括延期)之前转存抵销金额,从而避免税款和罚金。代码 L 不提供这段宽限窗口。混淆两者是一个代价高昂的错误。
代码 N – 当年 IRA 缴款的重新分类 (Recharacterization)
你在截止日期前,将当年为某一类型 IRA 缴纳的款项转移到另一种类型(例如,从 Roth 转为传统型)。
代码 P – 上一年度纳税的超额缴款
退还超额缴款;收益在最初缴款的年份纳税,而不是在报告年份。
代码 Q – 合规 Roth IRA 提取
Roth IRA 提取完全符合资格:满足五年持有期,且所有者年满 59½ 岁、伤残或过世。代码 Q 意味着整个分配都是免税且免罚金的。这是 Roth 储蓄者能看到的最理想的代码。
代码 R – 前一年度 IRA 缴款的重新分类
与代码 N 概念相同,但针对的是前一年的缴款。
代码 S – SIMPLE IRA 前两年的早期提取
在首次向计划缴款后的两年内进行的 59½ 岁前的 SIMPLE IRA 提取。此处的罚金是 25%,而非 10%——这是代码列表中最严厉的罚金之一。
代码 T – Roth IRA 提取,适用例外情况
所有者已满 59½ 岁、伤残或过世,但付款人无法确认是否满足五年持有期的 Roth IRA 提取。在实践中通常是免税的;你需要在 8606 表格上确认。
代码 U – ESOP 股息分配
从员工持股计划 (ESOP) 支付的股息。不符合转存条件。
代码 Y – 合规慈善分配 (QCD)(新增)
从 2025 年的表格开始,IRS 增加了代码 Y 来标记合规慈善分配——即直接从 IRA 发送给合规慈善机构的资金。代码 Y 与数字代码(通常是 4、7 或 K)同时出现,表示该分配可以作为 QCD 从应纳税收入中排除。对于 2025 年,付款人可以自选是否输入代码 Y,因此缺失代码 Y 并不意味着你的 QCD 不合规。如果你进行了 QCD,无论是否出现代码 Y,请确保你的申报单反映了这一点。
让纳税人蒙受损失的常见错误
第 7 栏代码由人工或软件输入,出错率比你想象的要高。以下是报税前值得排查的错误。
适用例外情况时显示代码 1。 这是最昂贵的单一错误。付款人因为不了解你的例外情况而标记为“1”。如果你不作为,你将支付本不欠的 10% 罚金。解决方法不是要求更正表格,而是提交 5329 表格并自行申明例外情况。
将所有 Roth 提取视为免税。 代码 B (Roth 401(k)) 以及代码 J 和 T (Roth IRA) 并不保证免税结果。资格取决于五年规则和你的年龄。只有代码 Q 和代码 H 确实意味着“无税”。
混淆代码 L 和代码 M。 贷款抵销 (M) 仍可以转存并免于征税;视同提取 (L) 通常不能。如果你离职时带有 401(k) 贷款,请确认你收到的是哪个代码。
转存时缺失或错误的代码 G。 如果你完成了直接转存,但第 7 栏显示的是“1”或“7”而不是“G”——或者 2a 栏显示了应纳税额——IRS 将把你的免税转存视为应纳税提取。请联系付款人索取更正后的 1099-R 表格。
忽视 SIMPLE IRA 的两年窗口。 代码 S 带有 25% 的罚金。如果你看到它并认为两年期限已过,该代码可能是错误的。
当你发现真正的错误时,要求付款人签发更正后的 Form 1099-R。当代码在技术上正确但未能体现你的特殊情况时(例如典型的代码 1 例外),请在自己的纳税申报单上使用适当的表格进行修正。
为什么你自己的记录比表格更重要
1099-R 表格是付款方对事件的描述。它通常是准确的,但当涉及罚款时,“通常”这个词并不可靠。那些能发现代码错误的纳税人,是那些已经清楚自己操作的人:资金来自哪个账户、是转存(rollover)还是取款、成本基数是多少,以及他们的 Roth 五年期限何时开始。
这种认知并非来自一月份的一张表格。它源于全年对账户的追踪。当你实时记录每一次供款、转换、转存和分配时,1099-R 就会变成你用来核实的东西,而不是你只能信任的东西。你可以将第 1 栏与你自己的账簿进行比对,确认第 2a 栏,并凭证据质疑某个代码。
纯文本会计使这种记录方式更持久。因为你的财务数据存储在受你控制的可读文本文件中,而不是被锁定在托管机构的门户网站内,所以你拥有每一笔账户变动的永久且可搜索的历史记录。当一张带有可疑代码的 1099-R 寄达时,你不需要凭记忆回想当年的情况;你只需查阅自己的账本。
全年保持清晰的退休记录
当你已经了解每笔分配背后的来龙去脉时,解读第 7 栏就会变得更容易。对退休账户(供款、转存、转换和取款)保持清晰、连续的记录,能让报税季从猜谜游戏变成快速的对账过程。
Beancount.io 提供纯文本会计服务,让你对财务数据拥有完全的透明度和控制权——没有黑箱,没有供应商锁定,且拥有随时可以审计的完整历史记录。探索 文档 了解其工作原理,或 免费开始使用,让你的财务记录随时准备好应对国税局(IRS)的任何要求。