加拿大RSU限制性股票怎么报税?Sell-to-Cover、资本利得与ACB
拿到 RSU 的那一刻,很多人只盯着一个问题:公司是不是已经帮我扣税了?
真正容易漏的,往往不是 Vest 当天的 Employment Income,而是 Vest 之后系统自动发生的 Sell-to-Cover。这一步看起来像“公司扣掉一部分股票去交税”,但从加拿大税务角度看,它很可能是一笔真实的股票出售。
这也是很多人在报税时漏掉 Capital Gain 或 Capital Loss 的原因。

RSU Vest 时通常已经形成 Employment Income
在加拿大工作拿 RSU,常见处理方式是:
RSU 在 Vest,也就是归属 时,股票的公平市场价值通常会作为员工的 Employment Income。这个金额一般会反映在 T4 上,和工资、奖金一样进入当年的收入。
比如这份 RSU Statement 里显示:
项目 | 数字 |
Vest / Release 股数 | 53 股 |
Vest Price | $49.72 |
Vest 当天股票总价值 | 53 × $49.72 = $2,635.16 |
这 $2,635.16 通常就是当年就业收入的一部分。公司也会根据规则做所得税预扣、CPP、EI 或其他 payroll deductions,具体取决于雇佣情况和所在省份。
到这里,很多人以为事情结束了。
其实没有。
Sell-to-Cover 不是简单扣股,而是卖股
这份 Statement 接着显示,系统自动卖出 34 股,用来支付预扣税、Payroll Deductions 和 Brokerage Commission。最后,员工账户里只剩下 19 股。
关键点在这里:
Sell-to-Cover 不是“公司直接拿走 34 股交税”。这 34 股实际上发生了一次股票出售。
在这笔交易中:
项目 | 数字 |
Sell-to-Cover 股数 | 34 股 |
Vest Price | $49.72 |
实际 Sale Price | $46.8715 |
34 股出售收入 | 34 × $46.8715 = $1,593.63 |
34 股的初始 ACB | 34 × $49.72 = $1,690.48 |
如果暂时不考虑佣金,单看价格变化,这 34 股已经产生了约 $96.85 的 Capital Loss。
计算逻辑是:
Capital Gain / Loss = Proceeds − ACB − Selling Costs
如果有 Brokerage Commission,佣金通常也会影响资本利得或亏损的计算。也就是说,这笔 Sell-to-Cover 可能需要在报税时作为股票处置处理,而不是被忽略。

报税时为什么容易漏掉这笔交易
漏报 Sell-to-Cover,通常有几个原因。
第一,员工看到 T4 上已经包括 RSU 收入,就以为所有税务都完成了。T4 的确处理了 Employment Income,但它不一定完整处理之后卖出股票的资本利得或亏损。
第二,很多人把 Sell-to-Cover 理解成 payroll withholding 的一部分。现金确实被拿去交预扣款了,但现金来源是卖股。卖股本身会产生 disposition。
第三,Broker Statement 或 T5008 上的信息不一定适合直接照抄。T5008 可能显示 proceeds,但成本栏可能为空、为 0,或者和加拿大 ACB 规则不完全一致。
所以,RSU限制性股票Sell to Cover报税细节别漏掉这一步,重点不是多报一遍收入,而是确认这次卖股有没有 Capital Gain 或 Capital Loss。
剩下的 19 股成本不是 0
另一个常见误区是:剩下的股票是公司给的,所以成本为 0。
这在加拿大报税中通常不对。
因为 Vest 时,这些股票的价值已经作为 Employment Income 处理过。既然你已经在收入里确认了这部分价值,这些股票也会形成对应的初始 tax cost。
这份 Statement 中,剩下 19 股的 Cost Basis 是:
19 × $49.72 = $944.68
这 $944.68 不是随便填的数字。它来自 Vest 当天的股票价值。
以后如果卖掉这 19 股,资本利得或亏损不是用卖出价减 0,而是要用卖出收入减去正确的 ACB 和卖出成本。
比如以后这 19 股以更高价格卖出,才可能产生 Capital Gain。以后以更低价格卖出,才可能产生 Capital Loss。

后续 ACB 追踪不能只看某一批股票
RSU 的麻烦,经常不是第一笔,而是多笔混在一起。
如果同一家公司股票还有:
多次 RSU Vest
ESPP 员工购股计划
自己额外买入
股息再投资
部分卖出
那就不能简单把每一批股票当成独立成本来算。加拿大税务里,通常需要按 identical properties 的规则计算平均 ACB。
简单说,同一家公司、同一类别股票在同一账户或多个账户里持有时,需要合并追踪加拿大税务意义上的 ACB。Broker 给你的 lot cost 或 cost basis 可能有参考价值,但不一定等于 CRA 需要的数字。
如果股票是外国公司股票,还要注意汇率问题。加拿大报税通常需要用加元计算。Vest、Sell-to-Cover、后续卖出时的金额,都可能需要按对应日期的汇率换算成加元。
这也是为什么 RSU 报税不能只看一个最终余额。真正要看的是完整链条:
Grant → Vest → Sell-to-Cover → 剩余股票 → ACB → 以后出售
外国公司股票还可能牵涉 T1135
很多加拿大雇员拿到的是美国上市公司或其他外国公司股票。实际取得并继续持有这些股票后,还要结合其他海外资产的 cost amount,判断是否触发 T1135 海外资产申报。
T1135 不是因为有收入才一定要报,而是和 specified foreign property 的成本金额有关。外国股票通常属于需要考虑的资产之一。如果全年某个时间点相关海外资产成本金额超过申报门槛,就可能需要提交。
这里容易混淆的一点是,RSU 在还没有 Vest、还没有真正取得股票前,和已经 Vest 后持有外国股票,税务性质并不完全一样。报税时要分清状态。

报税前可以按这几步检查
处理 RSU 时,可以先把 Statement 拆成几部分看:
找到 Vest 日期、Vest 股数和 Vest Price
这些数字通常决定 Employment Income 和初始 tax cost。
找到 Sell-to-Cover 股数和实际 Sale Price
这一步用来计算是否有 Capital Gain 或 Capital Loss。
找到佣金和其他 selling costs
确认哪些费用和卖股直接相关。
确认最后实际留下多少股
留下的股票要继续追踪 ACB。
合并同一股票的其他交易
包括 RSU、ESPP、普通买入和后续卖出。
检查是否涉及 T1135
尤其是持有外国公司股票和其他海外资产时。
RSU 报税的难点,不在于知道“Vest 要算收入”这一句话,而在于不漏掉 Vest 后发生的交易。Sell-to-Cover 是现金预扣的来源,也是一次股票出售。剩下的股票也不是零成本资产,而是带着 Vest 当天形成的 tax cost 进入以后的 ACB 计算。
本文仅作一般税务信息说明,不构成个人税务建议。RSU、ESPP、ACB 和 T1135 的处理会受具体文件、账户、汇率和个人情况影响。报税前,把完整 Statement 和交易记录整理清楚,比只看 T4 安全得多。





留言