
每年报税季,我都要面对一个尴尬的问题:税务局寄来BIR60绿色表格,各种免税额变化的新闻满天飞,想算清楚自己要交多少税得对着税率表一行一行拼。
后来写了一个Prompt和API脚本,30秒搞定。
核心思路: 把香港薪俸税的累进税率表和免税额规则「喂」给Claude,根据输入直接算结果。
方案一:Prompt模板(无需编程)
直接贴到Claude对话里就能用:
markdown
你是香港薪俸税计算助手。
已知条件(2026/27课税年度):
- 基本免税额:145,000 港元
- 已婚免税额:290,000 港元
- 子女免税额(每名):140,000 港元
- 额外子女免税额(出生年度):140,000 港元
- MPF雇员供款:收入5%,上限18,000港元/年
累进税率:
- 首50,000:2%
- 次50,000:6%
- 次50,000:10%
- 次50,000:14%
- 剩余:17%
标准税率:15%
请根据用户输入的年收入、婚姻状况、子女数量:
1. 计算应评税入息(收入 - 免税额 - MPF)
2. 按累进税率计算
3. 按标准税率(15%)计算
4. 取较低者作为最终税款
5. 输出清晰步骤和各项金额
实测把「年薪50万、单身、无子女」输入Claude,3秒出结果------应缴约3.7万。自己手算一遍,基本一致。
方案二:Claude API + Python(可集成)
想集成到自己工具里,走API:
python
import anthropic
import json
# 2026/27课税年度税率配置
TAX_BRACKETS = [
(50000, 0.02),
(50000, 0.06),
(50000, 0.10),
(50000, 0.14),
(float('inf'), 0.17)
]
STANDARD_RATE = 0.15
MPF_CAP = 18000 # 年度上限
ALLOWANCES = {
"single": 145000,
"married": 290000,
"single_parent": 145000,
"child": 140000,
"newborn_extra": 140000
}
def calculate_tax(income, marital_status="single",
num_children=0, newborn=0):
mpf = min(income * 0.05, MPF_CAP)
base = ALLOWANCES.get(marital_status, 145000)
child = num_children * ALLOWANCES["child"]
newborn_extra = newborn * ALLOWANCES["newborn_extra"]
total_allowance = base + child + newborn_extra
taxable = max(0, income - total_allowance - mpf)
# 累进税率
remaining, tax_progressive = taxable, 0
for bracket, rate in TAX_BRACKETS:
if remaining <= 0:
break
portion = min(remaining, bracket)
tax_progressive += portion * rate
remaining -= portion
# 标准税率
tax_standard = (income - mpf) * STANDARD_RATE
return {
"income": income,
"mpf": mpf,
"allowance": total_allowance,
"taxable": taxable,
"progressive": round(tax_progressive, 2),
"standard": round(tax_standard, 2),
"final": round(min(tax_progressive, tax_standard), 2)
}
# 年薪50万单身
result = calculate_tax(500000)
print(json.dumps(result, indent=2))
输出示例:
json
{
"income": 500000,
"mpf": 18000,
"allowance": 145000,
"taxable": 337000,
"progressive": 36980.0,
"standard": 72300.0,
"final": 36980.0
}
踩坑记录
-
MPF上限别算错: 香港MPF是收入5%,上限18,000港币/年。年收入36万以上就封顶,不是5%一直乘。
-
累进vs标准取低: 高收入(年入约200万以上)标准税率15%一刀切反而便宜,比累进阶梯算下来少交。
-
免税额不自动生效: 子女免税额、供养父母免税额都要在报税表上自己填,不填就不算。
-
2026/27新生子女双倍: 正常14万 + 出生年度额外14万 = 28万。很多人漏报额外部分。
下一步
脚本目前只算个人薪俸税。如果扩展可以做利得税计算、Web小工具、历年税率变化对比。