事情本身不复杂,线索都在日志里。公司同时用两家云,账单美元结算,财务按每月 1 号的汇率折算,月底对账比预算少 2.3%,两个团队分摊时差出 4000 多块,审计要求给出统一口径。

第一反应是「有的费用是预付,有的是后付」,验证下来不成立。

原因不止一个,得分开看。云厂商按结算日汇率,不是月初汇率。另一种情况是两张账单的账期起止日不同。

不容易想到的是,分摊表用了含税价,账单是不含税。

拉两家的账单明细核对账期

python -c "import json;print(json.load(open('bill_a.json'))['period'])"

然后按每日汇率重算一遍总额

python -c "print(round(12800*7.12,2))"

再往下把预付与后付拆成两列分别折算

python -c "print({'prepaid':0.0,'postpaid':0.0})"

剩下的就是统一到不含税口径再分摊到团队

python -c "print(round(1000/1.06,2))"

改完先别撤,确认这几项。重算后的总额与两家账单的差额小于 0.5%,团队分摊合计等于公司总账,审计能对上每一笔的汇率来源。

提醒一点。汇率口径必须在财务层面统一,混用月初价和结算价永远对不平;预付费用的汇率日期和历史账单不是同一天,要单独列。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。

作者 9823189