数据分析

阶段:P1(依赖 P0 进销存与流水正确)。
职责:夜间盈亏、采销平衡、缺采缺销、库存比对、补货、账期对账导出。
边界:不采单;结果经消息推送。盈亏口径见规则 17(单据金额 + 业务费用单,非存货成本层)。

分析任务

表:analysis_runs

字段 说明
id 主键
run_date 业务日
scope origin / sales / all
status pending / running / done / failed
started_at / finished_at 时间
created_at 创建

盈亏结果

表:profit_daily

字段 说明
id 主键
analysis_run_id 任务
product_id / warehouse_id 可空
profit_date 日期
revenue 当日已 confirmed(且未被驳回在途)销售类 payable_amount 之和;已 finance_settled_at 优先口径可相同
cost 同日同范围:已 confirmed 采购 total_amount(+运费若约定)+ process_fee + 已 confirmed 业务费用单 amount(可负)+ 已 approved 报销 + 报损金额;不是移动平均存货成本
profit revenue − cost
dimension self_process / external_buy / buyout / external_sale
created_at 生成

V1 不做 profit_daily_links 强制表;穿透用单号查询即可。

预警

表:analysis_alerts

字段 说明
id 主键
analysis_run_id 任务
alert_type 见下
ref_type / ref_no 可空
message 说明
threshold 可空
status open / acked / closed
created_at 生成
alert_type 含义
missing_purchase 缺采(单据链路)
missing_sale 缺销(单据链路)
stock_mismatch 进销存不平衡
loss 大额亏损
abnormal_loss 异常损耗

补货建议

表:replenish_suggestions

字段 说明
id 主键
analysis_run_id 任务
warehouse_id / sku_id 仓 / SKU
suggest_qty / suggest_weight_kg 建议量
source origin / external
basis 依据摘要,可空
created_at 生成

依据:销量速率 + stocks + 调拨在途(stock_in_transits)。

账期对账导出

与业务员「对外销售对账单」(简易销售)不同对象。

表:statement_documents

字段 说明
id 主键
customer_id 客户
period_start / period_end 账期
file_path 文件
status generated / exported
created_at / deleted_at 生成;软删除

维护方式

  1. 夜间读当日已确认/已结算单据、流水、快照 → 写结果表。
  2. 推送交消息模块。
  3. 阈值用配置或 loss_params

验收标准(P1)

  • [ ] 盈亏公式与规则 17 一致(单据金额 + 业务费用单,非存货成本层)。
  • [ ] 缺采/缺销不与缺货混用。
  • [ ] 夜间跑不阻塞录单;对账可导出。

V1 / 延后

P1 更后
上表夜间任务 存货成本结转后的成本利润、订单级精确成本穿透表