冷链批发采购业务设计

冷链批发采购业务设计


一、设计目标与核心原则

1. 业务主线

采购 → 到货 → 验收 → 入库 → 成本核算 → 库存批次 → 结算
每个环节职责独立,数据清晰可追溯。

2. 核心铁律

采购数量 ≠ 发货数量 ≠ 到货数量 ≠ 合格数量 ≠ 入库数量

必须分别记录各环节的实际数量,避免模糊笼统。

3. 阶段分离

将采购拆解为 7 个独立业务阶段:

采购计划 → 采购订单 → 供应商发货 → 到货 → 冷链验收 → 正式入库 → 采购结算/成本核算

每个阶段对应独立的业务单据和状态,职责不交叉。


二、核心业务对象(9 个)

业务对象职责说明
采购单与供应商约定商品、数量、价格(商务合同)
采购明细每个 SKU 的采购数量、单价、规格快照
发货单供应商实际发货信息(可多次)
到货单仓库实际收到货物的登记
验收单温度、数量、包装、日期、质量等全面检查
采购异常单记录短少、破损、化冻、不合格等异常
入库单合格商品正式进入库存(生成库存批次)
采购费用单运费、装卸、保险等额外费用
采购结算单最终对账、付款、成本确认

关键:入库单是库存增量的唯一来源,采购单不能直接增加库存。


三、详细业务流程

1. 采购单(商务约定)

  • 内容:供应商、仓库、预计到货日期、商品明细(SKU、数量、单价)
  • 规格快照:采购明细需保存当时的单位、换算比例、重量、温区、保质期等,防止后续商品信息变更影响历史数据。
  • 示例:

    • 鸡翅中:100箱 × 200元/箱(1箱=10袋,10kg/箱)
    • 牛肉丸:50箱 × 150元/箱(1箱=20袋)

2. 供应商发货(可多次)

  • 一张采购单可对应多张发货单(分批发货)
  • 每批发货需记录:承运商、车辆、司机、车牌、发货时间、预计到货时间
  • 冷链运输信息:温区(-18℃/0~4℃/常温)、装车温度、运输温度记录、封签号
  • 目的:为日后追溯化冻、损坏等责任方提供依据。

3. 到货登记

  • 车辆到仓后,登记到货单,记录实际到达数量、时间
  • 到货不代表合格,必须进入验收环节。

4. 冷链验收(6 项核心检查)

检查项说明
数量核对发货数与到货数,记录短少
包装外箱破损、漏液、封口异常等
温度冷冻品要求 ≤ -18℃,超温则判定为异常
日期生产日期、到期日,核对剩余保质期是否满足公司最低要求(如≥240天)
批次同一商品可能存在多个生产批次,需分别记录
重量对冻肉/水产等按重量结算的商品,称重并记录差异

5. 验收后分流(库存状态分类)

验收完成后,商品根据结果进入不同库存状态:

到货待验
   ├── 正常合格 → 正常可售库存
   ├── 待确认 → 待检库存(暂不可售)
   ├── 临期 → 临期库存(特殊处理)
   ├── 包装破损 → 待处理
   ├── 温度异常 → 待处理/拒收
   ├── 不合格 → 拒收
   ├── 损坏 → 报损
   └── 供应商问题 → 待退供应商

严禁将不合格库存混入正常库存,避免销售系统误售。

6. 正式入库与库存批次

  • 只有验收合格的商品才生成入库单,增加正常库存。
  • 每个入库单生成一个或多个库存批次,批次至少包含:

    • 商品、仓库、供应商
    • 来源采购单/到货单/入库单
    • 供应商生产批次、内部库存批次号
    • 生产日期、到期日、剩余保质期、温区
    • 入库数量、采购价格、批次实际成本
  • 批次是实现全程追溯的基础(供应商→采购→批次→订单→客户)。

7. 出库规则:FEFO(先到期先出)

冷链行业优先采用 FEFO(First Expired First Out),而非纯 FIFO。
排序优先级:到期日期 ASC → 生产日期 ASC → 入库时间 ASC,确保临期商品优先发出。


四、成本体系(4 层分离)

层级名称说明
第1层供应商采购价合同约定单价(如200元/箱)
第2层批次采购成本采购价 + 分摊的费用(运费、装卸等),即该批货的真实到仓成本
第3层商品移动加权成本全仓该SKU的加权平均成本,用于日常成本核算
第4层销售履约成本包括冷库费、分拣、装车、配送等,与采购成本分开,便于分析毛利来源

成本计算示例:

  • 采购:鸡翅中 100箱×200=20,000;牛肉丸 50箱×150=7,500
  • 运费 3,000 元,按重量分摊(各1000kg,各承担1,500)
  • 鸡翅批次成本 = (20,000+1,500)/100 = 215元/箱
  • 牛肉丸批次成本 = (7,500+1,500)/50 = 180元/箱

五、费用管理

1. 费用独立记录

  • 采购单商品金额和额外费用(运费、装卸、保险、包装等)分开记录
  • 每笔费用需标注:承担方、支付对象、分摊方式、是否进入库存成本

2. 费用是否进入库存成本

费用类型是否计入库存成本
商品货款是
到仓冷链运输是
入仓装卸通常是
必要包装费可计入
销售配送费否
销售提成否
客户配送冷链费否
管理费用否

3. 分摊规则灵活

支持按采购金额、箱数、重量、体积、托盘、人工指定等多种方式,不同费用可采用不同规则。


六、异常与损耗处理

1. 异常分类(至少 11 类)

  • 供应商少发/错发、质量异常、温度异常、包装破损、运输短少/损坏、重量差异、临期不符、生产批次不符等

2. 异常记录要素

  • 异常数量、金额、责任方(供应商/承运商/仓库/公司)、处理方式(补货/退款/折让/拒收/退供应商/物流赔偿/报损等)

3. 损耗独立核算

  • 例如:采购100箱,实际合格98箱,2箱破损,若物流赔偿400元,则这400元应作为索赔收入,不可摊入剩余98箱成本,否则抬高库存成本,影响毛利分析。

七、结算与成本分离

  • 采购合同金额 ≠ 应付金额 ≠ 库存成本
    示例:采购100箱×200=20,000,验收合格98箱,拒收2箱,最终应付=19,600;但库存成本还需加上运费、装卸等,因此最终库存成本可能为21,900。
  • 采购结算单需独立记录:采购金额、应付金额、已付金额、未付金额、索赔/折让等。

八、温区与保质期管理

1. 温区贯穿全程

  • 商品要求温区 → 运输温区 → 验收实际温度 → 库位温区,形成完整冷链链条

2. 保质期规则(按 SKU 配置)

参数说明
总保质期如365天
采购最低剩余保质期收货时允许的最低天数(如≥240天)
销售最低剩余保质期可销售的最低剩余天数
禁止出库剩余保质期低于此天数禁止正常出库
临期预警天数触发预警提醒

九、采购状态与独立状态管理

不建议使用单一状态字段承载所有信息,而应分维度维护:

  • 采购单状态:草稿 → 待确认 → 已确认 → 待发货 → 部分发货 → 已发货 → 已完成 / 已取消
  • 发货状态、收货状态、验收状态、结算状态、付款状态 各自独立更新

十、价格历史与供应商分析

  • 商品采购价格来源于每次采购明细和库存批次,而非商品主数据中的固定值
  • 可积累历史价格,支持:供应商价格趋势、最低/平均采购价、供应商比价等分析

十一、最终核心数据模块建议

系统建模应围绕以下模块展开:

模块核心实体
商品模块SKU、包装规格、温区规则、保质期规则
供应商模块供应商信息、供应商商品、价格
采购模块采购单、采购明细
到货模块发货单、发货明细、到货单
验收模块验收单、验收明细、异常明细
入库模块入库单、入库明细、库存批次
成本模块费用单、费用明细、费用分摊、批次成本、加权成本
财务模块结算单、应付账款、付款记录、索赔/折让

十二、总结与建议

  1. 职责分离:采购单管约定,到货单管物流,验收单管质量,入库单管库存,批次管追溯,费用分摊管成本,结算单管钱——各司其职,避免大杂烩。
  2. 精细化数量管理:每个环节记录各自的实际数量,为损耗、索赔提供精确数据。
  3. 批次与追溯:库存批次是连接采购与销售的桥梁,也是食品安全追溯的关键。
  4. 成本真实化:准确分摊费用,区分采购成本与履约成本,支持多维毛利分析。
  5. 灵活规则:温区、保质期、分摊方式等支持配置,适应不同品类和供应商要求。
  6. 异常独立管理:不把异常损失偷偷摊入正常库存,保持成本透明。