电商多平台对账(cn-ecommerce-recon)
离线、确定性地核对「平台结算账单 × 实际到账流水 × 内部订单」,把跨源差异逐条拎出来。
纯标准库、不联网、不读工作区、不生成内容。 只做差异检出与提示,不替代平台官方结算单与专业财务意见。
触发场景
- 「平台账单和到账对不上,差在哪」
- 「这个月平台是不是少打钱了 / 佣金、推广费扣得对不对」
- 「多平台结算一起核一遍,哪个平台有问题」
- 「账单算不平 / 应结算和实际到账差多少 / 到账日期不对」
- 月末结账、平台对账确认前的第一道差异筛查
三层核对
| 层 | 比对对象 | 能查什么 | |---|---|---| | A | 平台账单内部自洽 | 应结算公式算不平、退款超订单实付、费用项为负、重复记录、费率异常、关键字段缺失 | | B | 平台账单 × 实际到账 | 金额差异(带费用项候选归因)、已结算未到账、待打款、到账无对应结算单、尾差、到账日期早于账期 | | C | 平台账单 × 内部订单 | 内部订单实付不一致、内部退款不一致、内部无对应记录 |
外加平台横向汇总:各平台结算额、佣金率、合计费用率、差异率。
用法
# 三方核对(账单 + 到账 + 内部订单)
python3 cn_ecommerce_recon.py recon -b 账单.csv -a 到账.csv -n 内部订单.csv --as-of 2026-09-16
# 只有账单与到账(跳过 C 层)
python3 cn_ecommerce_recon.py recon -b 账单.csv -a 到账.csv --as-of 2026-09-16 --json
# 只有账单(仅做 A 层内部自洽体检)
python3 cn_ecommerce_recon.py recon -b 账单.csv --as-of 2026-09-16
# 规则目录 / 内置自测
python3 cn_ecommerce_recon.py config
python3 cn_ecommerce_recon.py validate
退出码
0= 无差异1= 有需复核项2= 参数或文件错误
输入格式
- 账单列:
平台, 店铺, 账期, 结算单号, 订单号, 订单实付, 退款, 佣金, 技术服务费, 推广费, 运费, 其他扣款, 应结算 - 到账列:
平台, 店铺, 账期, 结算单号, 订单号, 到账日期, 实际到账, 备注 - 内部订单列:
平台, 店铺, 订单号, 订单实付, 退款 - CSV 或 JSON 数组均可;编码自动探测 utf-8-sig → utf-8 → gbk → latin-1;表头中英文别名与同义词均支持。
- 平台名默认归一(天猫商城/TMALL → 天猫),可用
--no-platform-normalize关闭。
匹配粒度
--level auto(默认):两侧都带订单号时按平台+店铺+订单号逐单核对;否则按平台+店铺;到账侧无店铺维度时退化为仅按平台。--level summary强制汇总级(平台+店铺);--level detail强制明细级(平台+店铺+订单号)。--key platform,shop可显式指定匹配键。
常用调参
| 参数 | 默认 | 说明 |
|---|---|---|
| --as-of | 今天 | 基准日期,用于打款时效判断 |
| --pay-window | 45 | 账期期末 + 该天数后仍未到账 → 判「已结算未到账」 |
| --tol | 0.01 | 金额比对容差 |
| --rounding-tol | 1.00 | 差异在此范围内判「尾差」 |
| --commission-rate-max | 0.25 | 佣金率上限 |
| --fee-rate-max | 0.35 | 合计费用率上限 |
边界
- 只做差异检出、归因候选与处置建议,不替代平台官方结算单,也不构成财务审计结论。
- 归因是候选(按差异金额与被改费用项是否可解释来推测),需人工确认。
微信扫一扫