记录一下那天晚上的排查过程。财务按发票金额入账,技术侧按账单页的消费金额做预算,两边差了百分之六,查下来是账单页显示税前金额、发票是含税金额,税率写在发票备注里,谁都没错但数字就是不同。
刚开始盯着「预算系统读的是账单接口,没做税额换算」,折腾了半个多小时,排掉了。
把日志和配置对完,能解释这个现象的基本就这几处。账单页金额是税前,发票金额含税。还有一种是不同税率的服务混在同一张发票上。
少数情况下是汇率换算时点不同,税额部分又被算了一次。
先确认账单页金额的口径
curl -s "https://api.openai.com/v1/dashboard/billing/usage?start_date=2026-10-01&end_date=2026-10-31" -H "Authorization: Bearer $KEY" | jq '.total_usage'
随后按发票税率反算税额并核对
python -c "print(round(1200/1.06*0.06,2), round(1200/1.06,2))"
预算侧统一按含税金额建模
python budget_model.py --basis tax-inclusive --rate 0.06
月度对账同时输出税前税后两列
python reconcile.py --bill oct.json --invoice invoice_10.csv --show-tax
怎么算真的好了,看的是同一批现象。预算与发票都按含税口径对齐,税前税后两列差额正好等于税额,月度对账一次通过。
税前税后是两个口径,预算、账单、发票三方对齐前先确认各自用的是哪一个,别急着改数。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。
