冷链批发采购业务设计
冷链批发采购业务设计
一、设计目标与核心原则
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、包装规格、温区规则、保质期规则 |
| 供应商模块 | 供应商信息、供应商商品、价格 |
| 采购模块 | 采购单、采购明细 |
| 到货模块 | 发货单、发货明细、到货单 |
| 验收模块 | 验收单、验收明细、异常明细 |
| 入库模块 | 入库单、入库明细、库存批次 |
| 成本模块 | 费用单、费用明细、费用分摊、批次成本、加权成本 |
| 财务模块 | 结算单、应付账款、付款记录、索赔/折让 |
十二、总结与建议
- 职责分离:采购单管约定,到货单管物流,验收单管质量,入库单管库存,批次管追溯,费用分摊管成本,结算单管钱——各司其职,避免大杂烩。
- 精细化数量管理:每个环节记录各自的实际数量,为损耗、索赔提供精确数据。
- 批次与追溯:库存批次是连接采购与销售的桥梁,也是食品安全追溯的关键。
- 成本真实化:准确分摊费用,区分采购成本与履约成本,支持多维毛利分析。
- 灵活规则:温区、保质期、分摊方式等支持配置,适应不同品类和供应商要求。
- 异常独立管理:不把异常损失偷偷摊入正常库存,保持成本透明。