前面十二章,我们一直在拆一台机器:联邦那台。IRS、联邦所得税、预扣、抵免……好像美国人交完这一份,账单就结清了。
但如果你真在美国上过班、发过工资单,会发现一件事:工资条上不止一行“税”。有一行写着 Federal,下面还有一行写着 State(有时候再下面还有一行 City)。这不是同一笔钱被拆开记账,而是两个完全独立的政府,各自向你伸手。
先搞清楚一件事:这是两级独立的收税主体
美国是联邦制 federalism。
大白话:不是“中央有分公司在各地”,而是“联邦政府”和“五十个州政府”是五十一个各自独立、各自立法、各自收税的实体。联邦不能命令加州怎么收税,加州也管不着联邦。它们平级,各收各的。
所以你交的所得税,往往不是一份,是两份叠加:先给联邦交联邦所得税,再给你所在的州交一份州所得税 state income tax。它们不是二选一,是叠在一起的——联邦收 22%,州再收 6%,那你这一档实际被拿走的就是接近 28%(细节上州税还能在联邦层面抵一点,但大框架就是相加)。
如果你住在纽约市,恭喜,头上还有第三层:市级所得税。
工程师的类比:一个请求进来,要依次穿过好几层独立的中间件/网关。第一层网关(联邦)收一道过路费,第二层网关(州)再收一道,第三层(市)可能又收一道。每层都是独立部署、独立配置的,你没法跟其中一层说“我在上一层已经交过了”。
五十个州 = 五十套彼此不兼容的规则
如果只是“联邦一套、州再来一套”,那还好。真正让人头大的是:五十个州不是同一套规则的五十份拷贝,而是五十套各自独立演化、字段定义都不一样的系统。
差异有多大?举几个极端:
- 有大约九个州压根没有州所得税——德州、佛州、华盛顿州、内华达州等等。你在那儿挣工资,州这一层收你零。它们靠别的税种补回来。
- 另一头,加州最高一档税率超过 13%。同样挣一百万,在加州和在德州,光州税就差出十几万美元。
- 税率是几档、每档从哪切、能扣什么、能抵什么——各州一套。连“什么算应税收入”这个最底层的定义,各州都可能不一样。
翻译成人话:这就像五十个微服务,每个都自己定义了一套数据格式(schema)。有的服务连“收入”这个字段的类型和口径都跟别人不同。没有一个全局统一的表结构,也没有谁有权强制统一。
而且“税”不止所得税这一种
就算你搬到没有州所得税的州,也别高兴太早。州和地方还有几条平行的收税管道:
- 销售税 sales tax:你买东西时结账多加的那几个百分点。各州、甚至各县各市税率都不同,有的州干脆没有。没有州所得税的州,往往就是靠这个补窟窿。
- 财产税 property tax:按你房产的估值,每年收一笔。这笔钱主要归地方(县、市、学区),是公立学校和市政的主要钱袋子。得州没有州所得税,但财产税出了名的高——羊毛总得从某只羊身上出。
所以“哪个州税低”从来不是看单一税率,而是看这几条管道加起来、落到你这种收入结构的人身上,总共被拿走多少。
一句话记住:联邦是一套规则,州是五十套彼此不兼容的规则,叠在同一个纳税人身上。
税负差这么大,人就会“用脚投票”
既然同样的收入在不同州被拿走的钱能差出十几个百分点,理性人当然会算这笔账。于是就有了用脚投票:搬家。
这不是段子,是正在发生的迁徙。大公司把总部从加州搬去德州,富人和高收入远程工作者往佛州、德州、田纳西州跑——因为这些州州所得税是零。州与州之间,其实在打一场税收竞争 tax competition的仗。
大白话:州的“税基”就是它能收税的人和公司。人和公司是会跑的。所以低税州用低税率去抢别人州的税基,高税州则担心把人赶跑。这就是一群独立节点为了抢用户而竞相调参数——只不过参数是税率,用户是纳税人。
但套利没那么简单:两条线都想抓住你
你可能以为,搬个家、把驾照换了,就干净利落地脱离原来那个州了。没这么容易。因为州主张“你归我管、该给我交税”,用的是两条独立的线:
- 税收居民身份 residency:你是哪个州的税务居民(大致看你主要住在哪、重心在哪)。你的居住州,倾向于对你全球所有收入征税。
- 收入来源地 source:这笔钱是在哪个州挣的。钱在哪个州产生,那个州就想对这部分收入征税,不管你人住哪。
两条线一叠,麻烦就来了:你住 A 州(居民线,A 想收你全部),但钱在 B 州挣的(来源线,B 想收这部分)。同一笔收入,两个州都伸手——这就是双重征税风险。
系统当然打了个补丁来对齐:他州税抵免。你的居住州 A 一般会说:你在 B 州已经交的那部分税,我给你抵掉,别重复收。
类比:两个微服务对同一笔订单都记了一笔账,靠一个“抵免协调”协议来对账,把重复的那部分冲掉。能对上账,但对账逻辑本身就是复杂度的来源,接缝处一堆边界情况。
远程办公和跨州通勤,把这套本就别扭的协议搅得更乱。有些州甚至有一条叫便利雇主规则 convenience rule的东西(名字你记一下就行,细节能写一整章)——大意是:哪怕你人在家远程办公,只要是“图自己方便”而不是雇主要求,你的收入照样算在雇主所在州挣的。于是你人在新泽西的沙发上敲键盘,纽约州还是要收你的税。
把这些叠起来,你就得到一个真实存在的倒霉蛋:住新泽西、在纽约上班、公司注册在特拉华。他一个人要同时面对好几个州的税务规则和对账逻辑。
工程师的总结:一个没有全局 schema 的多系统并存架构
把这一章拉到最高的抽象层看,事情其实很清楚:
联邦想统一(一套规则多好),但美国宪法一开始就把征税权分给了各州。于是你得到的不是一个统一系统,而是五十个各自演化、字段定义都不一样的子系统,硬要拼在一起给同一个纳税人做结算。
它们之间靠一些“协议”勉强互操作:居住地规则决定谁是你的主账户,他州税抵免负责对账去重。能跑,但集成层惨不忍睹——所有的复杂度、漏洞和套利空间,全都藏在这些接缝里。跨州套利者钻的,正是这些子系统定义不一致、协议对不齐的缝。
最后一句最关键,别把它当 bug:
这种复杂度不是设计失误,而是“地方自治”这个特性的必然代价。你想要每个州能按自己的意愿决定收多少税、怎么花,就必然得接受五十套不兼容的规则叠在一起。统一和自治,在这里是不能同时满足的两个约束。
所以下次看到那张工资单上 Federal、State、City 三行税,你该知道:那不是同一台机器的三个模块,而是三台各自独立、各自立法、还在互相竞争和对账的机器,恰好都盯上了你这一份收入。而无论联邦还是州,它们抽上来的钱最后去了哪、又为什么总不够花,是我们接下来两章的事。