报错是这么冒出来的。上个月有一笔重复扣费申请了退款,平台侧显示退款成功,但可用余额一直没变,发票金额也没冲减,财务对账时发现余额与发票差了一千二百元。
中间走过弯路,把「发票按开票时金额固化,退款后不会自动红冲」当成主因,改完现象没变。
原因不止一个,得分开看。退款只体现在账单明细,没有回到可用额度。少数情况下是冲正记录挂在原订单上,余额账户没有对应流水。
不容易想到的是,退款状态接口和余额接口的口径不同。
拉退款单信息核对金额与状态
curl -s https://api.openai.com/v1/refunds -H "Authorization: Bearer $KEY" | jq '.data[0] | {id,amount,status}'
然后核对余额账户是否有入账流水
python ledger.py --account credit --since 2026-10-01 --grep refund
接着按退款单补一笔冲正流水
python adjust.py --refund rf_8842 --amount 1200 --reason duplicate-charge --dry-run
剩下的就是重新出对账表验证差额
python reconcile.py --bill oct.json --ledger ledger.csv --invoice invoice_10.csv
别只看报错消失,验证要多做一步。余额账户里能看到对应冲正流水,可用额度增加一千二百元,对账表差额归零,发票侧已登记红冲。
补一句。退款和冲正是两件事,钱退到卡上不等于额度回来,两边的流水都要落账才能对平。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。
