这张清单是从实际对账里攒出来的。每一条的共同点是:错了不会报错,只会让数字看起来正常。
建议用法:每月结账前过一遍;每接一个新平台,重点过 B 组和 D 组。
A. 费用归桶(三问)
A1 这笔钱的标签,等于它的性质吗
平台给的字段名是开发起的,桶是你定的,两者不该有必然关系。
怎么查:随便挑一个费用项,问自己"这笔钱如果消失,对应的是哪项业务行为消失"。答不上来,说明它被归错了。
→ 深挖:那笔「退款管理费」,跟退款没关系
A2 有没有把「非抽成」的钱并进抽成率
抽成率是跨平台比价的基准量。一旦里面混进保险、物流、仓储这类成本,所有横向对比都失真,而且失真幅度随月份变化。
怎么查:拿抽成率跟平台公开费率表比一次。差得越多,说明混进去的东西越多。
A3 有没有一个「兜底桶」
用"合计 − 其余"算出来的那一项,本质上是把不变量改写成恒等式。账会自洽,但自洽不等于正确。
怎么查:看费用结构里有没有一行的值是用减法算出来的。有,就要问它里面装了什么。
B. 汇率与分摊(三问)
B1 汇率是行级事实,还是被当成了平台常量
同一个平台的不同店铺、不同结算周期,币种可能都不同。硬编码一个"平台汇率",多店必错。
怎么查:看数据里有没有记录"这笔用了哪个汇率、取哪一天"。没有记录,就是没当事实处理。
→ 深挖:汇率按「最大的那个币种」取
B2 共享费用的记账币种,是显式指定的吗
月费、订阅、共享广告这些费用没有天然币种。如果系统每次都重新"选一个",你的成本率就会随生意结构波动。
怎么查:同一个共享费用项,看连续三个月的折算币种是否一致。
B3 分摊链上三处,是否同一个币种域
分子(这笔钱多少)、分母(按什么权重摊)、结果(每单摊到多少)——必须同一个币种域。任意一处中途换币种,数字就会漂。
怎么查:顺着代码或公式走一遍,看有没有半路把某个值换成另一种币。这一条最容易漏,因为三处常写在三个地方。
C. 主键与去重(三问)
C1 对账用的主键,在两边是同一套吗
拿 SKU 码当订单号用、拿订单号当出库单号用,都会静默错杀真实单据。错杀不会报错,只会少几行。
怎么查:抽十笔单据,人工核对"这条在我这边对应哪一条"。对不上的那几笔,问题就在键上。
C2 同一批数据,会不会被入库两次
同一张单出现在多个取数文件里,逐文件遍历就会重复入库。撞唯一键算运气好,撞不上就是重复计数。
怎么查:按业务键 group by 一次,看有没有 count > 1。
C3 取消单和退款,是否真的「零资金流动」
按状态剔除是最省事的写法,但它顺带做了一个假设:这类单没有钱进出。这个假设在部分平台上不成立。
怎么查:把最近三个月这类单的结算额求和。不是 0,就说明有钱在流动。
→ 深挖:客户取消的订单,平台照样扣你钱
D. 时间与保留期(三问)
D1 汇率取数日期,和结算口径是同一天吗
月初、月末、结算日,三个日期算出来的毛利能差一个点。选哪个不重要,固定一个并写进文档才重要。
怎么查:看报表说明里有没有写死"汇率取 T 日"。没写,就是每次都在重选。
D2 增量取数的「游标」,是不是页码
接口文档说"建议用时间戳做增量查询",不等于"用时间戳当翻页游标"。混用会导致只取到一部分,而且看起来成功了。
怎么查:拿一次全量数据,跟按增量逻辑跑出来的结果比总数。差的那部分就是漏的。
D3 平台数据能留多久,够你对完账吗
不少平台只保留 90 天明细。过期之后不是"查起来麻烦",是永久拿不回来。
怎么查:查平台文档里的数据保留期,跟你实际对账的滞后期比。滞后超过保留期,就必须自己落库存档。
这张清单怎么用
三道场景:
- 每月结账前:A 组和 C 组各过一遍,十分钟,能拦住每月重复发生的那类错。
- 每接一个新平台:B 组和 D 组必过。跨币种和保留期是新平台最容易埋雷的地方。
- 每次改完对账逻辑:只过改动涉及的那一组,但要连"它的组成项"一起验——修主指标不修组成项,比不修更危险。
最后一条判据:如果某个数字你能算出来、但解释不了它是怎么来的,那它就是错的,只是还没被发现。