业务场景

职责:根据现行功能文档,归纳水果批发 / 产地·销地加工中心在系统中的可能使用场景(谁、在什么业务动机下、点哪些单据、库存与财务如何动)。核心顺序:采购入库 →(可选)仓内加工 → 销售。
边界:不新增字段与状态机;表结构与确认规则仍以各功能文档 + 00 + 14 为准。场景是「怎么用」,不是第二套需求。
读法:每个场景含触发条件 → 主路径步骤 → 库存/财务结果 → 相关文档。标注 P0 / P1 / P2 对应 目录 阶段。

下列场景由现有文档归纳与合理推断;未写入文档的能力(如独立预售单、直发仓、软 FIFO)不列入,以免与实现口径冲突。


场景总览

编号 场景 阶段 核心对象
S0 上线建档与期初 P0 主数据、opening
S1 果农统货入库 → 仓内分级/包装 → 对外销售 P0 raw 采购、仓内加工、销售
S2 成品外采 → 直接销售(可多批) P0 goods 采购、销售
S3 先摘要开单,后补明细 P0 summary;审批前补明细
S4 产地仓 ↔ 销地仓调拨 P0 stock_transfers
S5 客户退货 / 拒收 P0 return / reject
S6 采购到货验收与扣损后再确认 P0 采购草稿字段
S7 销售到仓验收差异 P0 验收报损/补发
S8 已出库单财务驳回后改正 P0 冲销回 draft
S10 报损 / 盘点 / 期初 P0 仓库低频单;降级走加工
S11 挂单费用与费用申请 P0 document_expenses / expenses
S13 采购票 / 销售票 P0 invoices
S14 一车混批出库算粗利 P0 明细多 purchase_id
S15 加工费与隐形分摊预估毛利 P0 stocks 件数单价
S16 产品成员权限下的录单与看数 P0 product_users
S17 夜间盈亏、缺采缺销、账期对账 P1 分析
S18 消息提醒(站内 + 企微) P1 消息
S19 企微 @ 采单 / OCR / 语音录单 P2 AI 草稿
S20 H5 对话问数(只读) P2 /app/chat

S0 上线建档与期初(P0)

谁:管理员、财务、各产品负责人。
何时:系统上线或新开果品项目。

路径:

  1. 企微同步部门;维护员工、角色、product_users(01)。
  2. 导入省市区;建客户/供应商、地址、开票资料(02、08)。
  3. 建产品(项目)、等级字典(03);重量按斤。
  4. 建产地仓 / 销地仓(04)。
  5. 若已有实物库存:先建对应采购批次(或期初用采购单占批),再 stock_documents opening 确认写入结存(行上必填 purchase_id)。

结果:主数据齐备;结存按「仓 + 产品 + 单位 + purchase_id」有账。
参见:16 §1、14 opening_in。


S1 果农统货入库 → 仓内分级/包装 → 对外销售(P0)

谁:采购员、仓管/加工录入、销售跟单。
何时:产地收统货,先入库,再在仓内分选/包装后卖渠道。

路径:

  1. 开 purchases type=raw,入库产地仓;草稿内可等扣损/议价;确认 → purchase_in(此时仓内才有可加工结存)。
  2. 可挂装卸/运费等 document_expenses(确认后进盈亏,不写存货成本层)。
  3. 开 process_orders(常 grading / pack):每单一对 from/to,同产品;多等级操作 → 多张单(结存仍一堆)。填 process_fee、loss_weight_kg;确认 → process_out + process_in(损耗可有 loss_out);产出可写 to_* 与 process_fee_unit_price。
  4. 需要时调拨到销地仓(S4)。
  5. 开销售单 type=external,头表选一个产品;明细按行选出库仓、purchase_id 与等级/规格/包装(可多仓拼车、可多批);提交审批 → 待出库 → 出库 sale_out;可选验收;审批流可挂关键节点 开票 / 收款。
  6. 后续发票、回款、费用、按批粗利(开票/收款优先走销售审批节点,见 15)。

结果:先入库、再仓内改行属性或按量拆单;product_id 与批次在加工后不变,销售按行扣批。
参见:05、07、06、16 路径 A。


S2 成品外采 → 直接销售(P0)

谁:采购、销售。
何时:直接买成品/半成品转卖,可不经加工。

路径:

  1. purchases type=goods 确认入库。
  2. (可选)调拨;要改包装/等级行属性则走仓内加工(不改产品)。
  3. 销售审批通过后出库;明细 purchase_id 挂该采购(或一单混多批,见 S14)。

结果:最短「采 → 销」闭环。
参见:16 路径 B、13 #2/#4。


S3 先摘要开单,后补明细(P0)

谁:跟单。
何时:下单时还没有分仓、分批的明细。

开销售单写 summary(订单摘要),明细可空。按摘要去采购,再补 order_items(出库仓、采购批次、等级)。提交审批前必须有明细;审批/出库规则不因有没有摘要而改变。
头表不设 settlement。
参见:06、13 #5/#6。


S4 产地仓 ↔ 销地仓调拨(P0)

谁:仓管、调度。
何时:货要从产地转到销地(或反向)。

路径:stock_transfers:draft → shipped → received;发出 transfer_out、收货 transfer_in;在途行在 stock_in_transits;同一 purchase_id,结存键随仓变、批不变。
说明:不在销售单上做内部买断;换仓只走调拨(规则 10)。
参见:04、14。


S5 客户退货 / 拒收(P0)

谁:跟单、仓管。
何时:货退回或拒收需回库。

路径:

  1. 在已出库(或已验收)的原销售单上点「退单」或「拒收」,选回库仓;系统生成 type=return / reject 子单,original_order_id 指向原单(首单的 original_order_id = 自身 id)。
  2. 子单明细继承原单行批次与量,整单一次 return_in。
  3. 若原单已开票,财务侧另行冲红或调整(发票按 08)。

参见:14 退货/拒收确认、13 #13。


S6 采购到货验收与扣损后再确认(P0)

谁:采购、验收人。
何时:货到后才最终定重定价。

路径:草稿阶段填验收字段、扣损相关量价 → 满意后一次确认入库。不单建验收表/扣损表。
参见:规则 14、05、13 #14/#15。


S7 销售到仓验收差异(P0)

谁:跟单、仓管。
何时:客户实收少于出库。

路径:出库后做验收:实收 = 出库则直接已验收;少收须选报损(差额改记报损,应收按实收)或补发(再扣结存)。
说明:无独立发货单;出库动作在销售单上完成。
参见:06、13 #4。


S8 已出库单财务驳回后改正(P0)

谁:财务发起,业务改单。
何时:出库后发现量价/批次错误。

路径:财务驳回(必填意见)→ 按 14 冲销流水 → 单据回 draft → 业务修改 → 再审批出库。禁止静默改已入账流水。库存冲销不上审批画布。
参见:规则 9、14、15。


S10 报损 / 盘点 / 期初(P0)

场景 单据 库存要点
一等改二等(改 grade) process_orders(type=downgrade 等) 同产品、同批;改行属性分堆
腐烂报损 stock_documents loss loss_out
期初建账 stock_documents opening opening_in
实盘差异 stock_checks check_adjust

包装 / 分级 / 降级统一见 07-生产加工。后台不新开拆合。
参见:规则 15、04、13 #9–#12。


S11 挂单费用与费用申请(P0)

谁:业务录挂单费用;员工提费用申请。

类型 表 说明
挂单经营费用 document_expenses MorphMany 挂采/销;确认进盈亏
费用申请 expenses 走人审 15;节点 on_approve=pay 付款

S13 采购票 / 销售票(P0)

方向 谁做 关联
采购发票 采购员提交,财务审 可挂多张采购单
销售发票 财务开具 可挂多张销售单

开票资料在 invoice_profiles(客户/供应商多态),不写在客商主表字段上。
参见:规则 12、08。


S14 一车混批出库算粗利(P0)

谁:跟单、财务看批。
何时:一车货来自多笔采购。

路径:一张销售单一个产品,明细多行(不同出库仓、不同 purchase_id、不同等级)→ 出库按行 sale_out → 按批汇总销量/粗利读明细行。头表无 warehouse_id / purchase_id。
参见:规则 8、06、05 采销关联。


S15 加工费与隐形分摊预估毛利(P0)

谁:加工录入、销售看预估。
何时:要在出库前估计「这批货还摊了多少加工/仓租水电」。

路径:

  1. 加工确认:工单 process_fee 为总金额真源;产出结存可写 process_fee_unit_price(元/件)。
  2. 结存 overhead_unit_price(元/件)作隐形分摊预估。
  3. 出库预估:单价 × 件数;不入支付、不进挂单经营费用/费用申请、非存货成本层。

参见:规则 16、04、07、14 成本口径。


S16 产品成员权限下的录单与看数(P0)

谁:只加入部分产品的业务员 vs 财务全量。
路径:敏感金额默认按 product_users 隔离;财务等可授全量。正式工/外编权限可区分。
参见:规则 1/5、01。


S17 夜间盈亏、缺采缺销、账期对账(P1)

谁:财务、负责人看报表。
路径:夜间任务汇总收入/成本(单据金额 + 已确认费用等,非移动平均存货成本);预警采销不平衡;「缺采/缺销」指单据链路不完整,不是库房缺货;导出账期对账 Excel/PDF。白天录单不被堵。
参见:规则 21–25、10。


S18 消息提醒(P1)

谁:待审、待办接收人。
路径:先落站内消息,再投递企微等;不自建 IM。采单识别不在本模块。
参见:09、规则 20。


S19 企微 @ 采单 / OCR / 语音录单(P2)

谁:一线用企微报数、传单。
路径:

  1. 群内 @ 机器人(未 @ 不入库)或网页上传兜底 → inbound_messages。
  2. OCR + 火山方舟抽字段 → 人工复核(ocr_reviews)→ 业务草稿。
  3. H5 语音转写 → 填表单草稿 → 人工确认提交。
  4. 禁止 AI 直接写结存或财务入账;改库存仍须业务确认走 14。

参见:规则 18–19、11。


S20 H5 对话问数(P2)

谁:业务员查自己权限内数据。
路径:自然语言(可配语音转写)→ 只读工具查询 → 不改单;要改单引导到业务页或采单流程。
参见:11、12。


场景 × 单据速查

业务动机 优先单据 动库存?
进货占批 采购确认 是 purchase_in
统货改等级/包装标签 仓内加工确认 是 投出/产出(同产品;须已入库)
卖给渠道 销售出库 是 sale_out
货退回 退单/拒收 是 return_in
换仓 调拨发出/收货 是 + 在途行
改等级(降级) 仓内加工确认 是 投出/产出(同产品,改 grade)
腐烂/盘差 报损 / 盘点 是
装卸运费进盈亏 挂单经营费用确认 否(不写 stocks 成本层)
费用申请付款 审批节点 pay 否
个人/公司费用支出 费用申请(节点付款) 否
纠错已入账 财务驳回 冲销后再改
报数进系统 AI 草稿 否(确认前)
查数 对话问数 否

与链路总览的关系

维护说明

文档或规则变更导致某场景不成立时:先改 00/14/对应模块,再改本文件对应条目,避免场景文档单独漂移。