数据分析

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

分析任务

表: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 挂单经营费用 document_expenses.amount(可负)+ 已 paid(及若有的 approved)费用申请 + 报损金额;不是移动平均存货成本。结存 process_fee_unit_price / pack_fee_unit_price / overhead_unit_price 仅用于毛利预估展示,不计入本列实收成本
profit revenue − cost
dimension self_process 自加工 / external_buy 外采 / external_sale 对外销售 等
created_at 生成

P0 不做 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 / product_id 仓 / 产品
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)

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

P1 / 延后

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