电商订单、支付与履约核对口径
使用三家虚构门店的随机业务快照,以 2026-10-12T12:00:00+08:00 为基准。每单只有一种商品,quantity可大于1;订单数、件数与支付笔数不能混用。全部数据都是教学合成数据。
输入与关联键
| 文件 | 主键或粒度 | 主要字段 |
|---|---|---|
| 订单导出.csv | 一条订单版本 | order_id, store, sku, quantity, order_amount_cents, status, channel, created_at, paid_at |
| 支付流水.csv | 一笔支付流水 | payment_id, order_id, result, amount_cents, paid_at |
| 发货记录.csv | 一次发货 | shipment_id, order_id, shipped_at, warehouse |
| 商品主数据.csv | 一个商品 | sku, product_name, category, unit_price_cents |
| 库存快照.csv | 门店+SKU | store, sku, available, snapshot_at |
金额字段以整数“分”保存。展示人民币元时除以100,保留两位小数;求和先按分计算。created_at和paid_at均为+08:00时间。Excel转换成日期时间值时统一保留北京时间,不能丢弃偏移后误作UTC。
订单清洗
先去除全部字段完全相同的重复行。再对同一order_id的不同版本,隔离该订单全部版本。
无冲突的订单继续检查:quantity必须正整数;status必须为已支付/已发货/待支付/已取消;sku必须能匹配商品主数据。任一条件不满足,整单进入非法订单清单,不进入业务统计。
channel为空仅标为“未填写”,不剔除。清洗前行数、去重行数、冲突版本行数、非法订单数和可用订单数要分别记录,不把冲突订单数当作冲突行数。
支付核对
支付流水先按全部字段去除完全重复行,并检查同一payment_id不同内容的冲突;有冲突则隔离该payment_id的全部版本。本固定数据没有支付主键冲突。不同payment_id的两笔成功流水不能当成重复导出去掉。
先按order_id聚合成功流水的笔数与金额,再关联可用订单,避免一对多连接把订单重复放大。
按以下优先级给每笔可用订单分配一个支付标签:
- 订单状态是已支付或已发货:成功笔数0为“缺少成功流水”;笔数>1为“多笔成功流水”;恰好1笔但金额不同为“支付金额不一致”;否则“核对一致”。
- 订单状态是待支付或已取消:存在成功流水为“未支付状态存在成功流水”;否则“无需支付核对”。
支付标签在同一订单上互斥。多笔流水不直接等于重复扣款,缺少流水也不直接等于未到账,只表示本次导出材料不一致,需继续核查。
“已支付口径订单”包含已支付与已发货两种状态。其金额合计是订单状态口径金额,不是确认到账额、净收入、退款后销售额或实际损失;数据没有退款、手续费等字段。
流水关联不到原始订单编号为“孤立流水”。原始订单存在但被冲突/非法规则隔离,其关联流水列为“关联已隔离订单”,不能错误计入孤立流水,也不进入可用订单的支付异常数量。
发货与库存
发货记录以shipment_id为主键,同样先去除完全重复并检查主键冲突。本固定数据没有重复或冲突发货主键。孤立发货和关联已隔离订单的发货记录分别列出。
超时未发货 = 可用订单、status为已支付、基准时刻减paid_at严格大于24小时。已发货与未支付订单不纳入本指标。这不是“所有订单发货及时率”。
库存关联键必须同时包含store与sku。超时未发货订单的available小于quantity时,增加“当前库存不足”标签。库存是当前快照,不能据此证明订单付款当时缺货。
支付异常与超时未发货可以重叠;若报告独立异常订单总数,应取order_id并集,不能将两类计数直接相加。
输出
生成可编辑Excel工作簿,保留原始数据、清洗明细、异常清单、门店/渠道汇总和日期趋势图。清洗明细是一单一行,支付笔数先聚合;汇总使用公式引用明细。
再生成Word核对报告:查询范围、清洗过程、数据概况、支付异常、履约风险、建议、待确认事项。Word与Excel从同一份已复核指标生成,不重新估算数字。
