📊 对账与财务报表设计

本章详述即时配送小程序的日对账方案、财务报表设计、数据表结构。包括与微信支付的对账单核对、平台收入日报、骑手结算月报、代理分润报表等。

日对账 T+1结算 自动报表

对账原则:每日凌晨自动执行前一日对账,将平台订单数据与微信支付对账单进行核对,差异交易需人工排查处理,确保平台账目与支付渠道账目一致。

一、日对账方案

1.1 对账流程时序图

sequenceDiagram participant SYS as 对账系统 participant PAY as 微信支付 participant DB as 平台数据库 participant DIFF as 差异处理 Note over SYS: 每日凌晨2:00执行 SYS->>PAY: 下载前一日微信支付对账单 SYS->>DB: 查询前一日平台订单数据 SYS->>SYS: 数据清洗与格式化 SYS->>SYS: 比对订单维度 SYS->>SYS: 比对支付维度 alt 账目一致 SYS->>DB: 写入对账成功标记 else 存在差异 SYS->>DIFF: 记录差异明细 DIFF->>DIFF: 差异分类(长款/短款/状态不一致) DIFF->>FIN: 推送财务处理 end SYS->>DB: 生成对账报表

1.2 对账差异类型

差异类型说明处理方式
长款微信有,平台无(已付但平台未记账)补录平台订单,人工核实
短款平台有,微信无(已记账但未支付)冲销平台订单,检查支付状态
金额不一致订单金额与支付金额不符以微信为准,排查是否被篡改
状态不一致平台已取消,微信已支付发起退款或人工处理

二、财务报表设计

2.1 平台收入日报

指标说明数据来源
统计日期日报对应的日期-
订单总数当日完成支付的订单数ot_order
GMV当日订单总金额ot_order.pay_amount
平台佣金当日平台抽成总额ot_order.platform_fee求和
退款金额当日退款总额ot_refund
净收入平台佣金 - 退款计算得出
充值金额当日用户钱包充值总额ot_wallet_log
提现金额当日用户+骑手提现总额ot_wallet_log + ot_courier_wallet_log

2.2 骑手结算月报

指标说明数据来源
骑手姓名骑手基本信息ot_courier
配送单量当月完成配送的订单数ot_order
配送总收入骑手配送费总和ot_order.courier_fee
平台服务费平台抽成(20%)ot_order.platform_fee
奖惩金额奖励-罚款ot_courier_income_log
应发金额配送收入+奖惩-服务费计算得出
已发金额已提现金额ot_courier_settlement
待发金额应发-已发计算得出

2.3 用户钱包报表

指标说明数据来源
充值金额用户钱包充值总额ot_wallet_log WHERE type=1
消费金额用户钱包支付总额ot_wallet_log WHERE type=2
退款金额退款至钱包总额ot_wallet_log WHERE type=3
提现金额用户提现总额ot_wallet_log WHERE type=4
当前余额用户钱包实时余额ot_wallet.balance

三、对账相关数据表

3.1 日对账记录表 ot_daily_reconciliation

字段类型说明
idbigint主键
recon_datedate对账日期
station_idbigint站点ID(可空表示全平台)
order_countint订单数
platform_gmvdecimal(12,2)平台GMV
wechat_gmvdecimal(12,2)微信GMV
diff_amountdecimal(12,2)差异金额
diff_countint差异笔数
statustinyint状态(0进行中/1成功/2有差异)
recon_timedatetime对账完成时间
created_atdatetime创建时间

3.2 差异记录表 ot_recon_diff

字段类型说明
idbigint主键
recon_idbigint对账记录ID
diff_typetinyint差异类型(1长款/2短款/3金额差异/4状态差异)
order_novarchar(32)订单号
platform_amountdecimal(10,2)平台金额
wechat_amountdecimal(10,2)微信金额
diff_amountdecimal(10,2)差异金额
platform_statusvarchar(20)平台订单状态
wechat_statusvarchar(20)微信支付状态
handle_statustinyint处理状态(0待处理/1处理中/2已处理)
handle_remarkvarchar(200)处理备注
handle_user_idbigint处理人ID
handle_timedatetime处理时间
created_atdatetime创建时间

3.3 财务日报表 ot_financial_daily

字段类型说明
idbigint主键
stat_datedate统计日期
station_idbigint站点ID(可空表示全平台)
order_countint订单数
gmvdecimal(12,2)订单总金额
platform_commissiondecimal(12,2)平台佣金
refund_amountdecimal(12,2)退款金额
net_incomedecimal(12,2)净收入
recharge_amountdecimal(12,2)充值金额
withdraw_amountdecimal(12,2)提现金额
created_atdatetime创建时间

3.4 骑手结算表 ot_courier_settlement

字段类型说明
idbigint主键
settlement_novarchar(32)结算单号
courier_idbigint骑手ID
settlement_periodvarchar(20)结算周期(2026-04)
order_countint配送单量
gross_incomedecimal(12,2)配送总收入
commissiondecimal(12,2)平台服务费
reward_amountdecimal(10,2)奖励金额
penalty_amountdecimal(10,2)罚款金额
net_paydecimal(12,2)应发金额
paid_amountdecimal(12,2)已发金额
statustinyint状态(0待结算/1部分结算/2已结算)
settlement_timedatetime结算时间
created_atdatetime创建时间
updated_atdatetime更新时间

四、对账核心API

接口说明关键参数
POST /admin/ot/recon/daily执行日对账date(YYYY-MM-DD)
GET /admin/ot/recon/report对账报表date, station_id
GET /admin/ot/recon/diff-list差异列表recon_id, type, status
POST /admin/ot/recon/diff-handle处理差异diff_id, remark
GET /admin/ot/finance/daily-report财务日报start_date, end_date, station_id
GET /admin/ot/finance/courier-monthly骑手月报period, courier_id
POST /admin/ot/finance/export-daily导出日报start_date, end_date, format
POST /admin/ot/finance/export-settlement导出结算单period

文档同步:requirements_v2.md 对账模块 | 维护:项目团队