Azure OpenAI gpt-4o 买了 100 个 PTU,账单按小时固定收费,团队按 token 用量分摊,加起来只覆盖账单的 40%,财务对不上。

一开始怀疑是「预置单位有最低时长要求」,查了一圈,方向不对。

排查方向其实有限,先把可能性排一排。PTU 按预留容量计费,与实际调用量无关。另一种情况是分摊口径只统计了成功请求。

还有一种情况,跨订阅的资源没有被纳入统计。

第一件事是导出当月的用量明细

az consumption usage list --start-date 2026-10-01 --end-date 2026-10-31 > usage.json

然后统计账单里的 PTU 小时数

python -c "import json;d=json.load(open('usage.json'));print(len(d))"

接着按容量时长重新分摊

python -c "print({'ptu_hours':744,'unit_price':2.0})"

剩下的就是核对分摊总额与账单差额

python -c "print(abs(744*2.0-1488.0)/1488.0)"

同事提醒我看一下最近一次发布,时间点确实对得上。

命令输出我都留了记录,免得改完记不清原来的值。

改完先别撤,确认这几项。分摊总额与账单差额低于 2%,各团队对账签字,下月按同一口径执行。

容易忽略的是,预留吞吐是按时间卖容量,不是按调用卖 token,分摊口径要先跟着计费模型走。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189