损耗表自动生成:BOM × 实际单价
成本会计每月手工拼损耗表。自动化后才发现最大坑:BOM 没单价。从 BOM 到实际单价的完整方案。
本节要点:损耗表 = BOM × 实际单价;最大坑:BOM 无单价,标准金额 = 0;解法:外购入库单作单价数据源;主数据层统一物料分类。
损耗表是成本会计的月度噩梦
化妆品制造,每种成品的 BOM(物料清单)可能几十到上百行。损耗表要算:每种成品按 BOM 投料,实际用了多少 vs 标准该用多少,差额 = 损耗。
手工算一张损耗表:
- 几十种成品 × 每种上百行 BOM
- 逐行查单价、查实际用量
- 48 小时,还容易错
第一步:把损耗表拆成公式
损耗表本质:
损耗金额 = (实际用量 - 标准用量) × 单价
标准金额 = 标准用量 × 单价
损耗率 = 损耗金额 ÷ 标准金额
3 个变量:标准用量(BOM 有)、实际用量(车间报)、单价(哪里来?)。
标准用量和实际用量都好拿,单价是最大的坑。
第二步:BOM 无单价的坑
我一开始信心满满做 v1.0——BOM 表、损耗规则似乎都有了。结果跑起来发现:
BOM 表里没有单价!只有物料编码 + 用量。
标准金额 = 用量 × 单价 = 用量 × 0 = 0。整张损耗表全是 0,没法算。
为什么 BOM 没单价?因为 BOM 是工程部门维护的,他们只管"用什么、用多少",不管"多少钱"。单价是财务的事。
这是整个项目最贵的教训:拿到材料 ≠ 拿到齐全,底层单价数据缺一块。
第三步:单价从哪里来
单价的真实来源:外购入库单(采购入库时记录的实际采购价)。
解法:
- BOM 给"用什么物料 + 用量"
- 外购入库单给"物料实际单价"(按月加权平均)
- 工具用物料编码做关联键,把两者 join 起来
BOM(物料编码 + 用量)
↓ 物料编码关联
外购入库单(物料编码 + 月加权单价)
↓
损耗表 = 用量 × 单价
第四步:主数据层是地基
物料分类不能各搞各的。我们建了物料主数据表:
- 物料大类(彩妆原料/包装材料/辅料)
- 物料编码(统一主键)
- 单位、规格
BOM 和外购入库单都用同一套物料编码,工具才能 join。这是地基。
重要结论:不需要建独立的"物料主数据表",外购入库单直接作为单价数据源即可。物料主数据只管分类和编码统一。
损耗规则要成文
损耗规则散在工程师脑子里,必须拉出来成文:
| 物料类型 | 标准损耗率 | 依据 |
|---|---|---|
| 液体原料 | 2% | 灌装残留 |
| 粉体原料 | 3% | 称量损耗 |
| 包装材料 | 1% | 破损 |
| 半成品转移 | 0.5% | 管道残留 |
规则不成文,工具没法判断"实际用量是否合理"。
工具架构
输入:
- BOM 表(物料 + 用量)
- 外购入库单(物料 + 单价)
- 实际投料记录(车间报)
- 损耗规则表
↓
处理:
1. 物料编码 join BOM 与 单价
2. 标准金额 = 用量 × 单价
3. 损耗 = 实际 - 标准
4. 损耗率 = 损耗 ÷ 标准
↓
输出:损耗表 Excel(按成品/车间/物料汇总)
实测效果(v1.0)
| 指标 | 改造前 | v1.0 后 |
|---|---|---|
| 损耗表耗时 | 48 小时 | 2 小时(含异常复核) |
| 单价准确率 | 手工查,易错 | 系统关联,可追溯 |
| 损耗规则 | 工程师脑子 | 成文表 |
当前堵点
v1.0 跑通后,新堵点:实际单价需要成本会计(同事)每月提供完整的外购入库单。如果她不及时给,工具就卡。要么当面催,要么搁置。
这是人的问题不是技术问题。AI 化到这一步,瓶颈从"工具"转到"数据喂的人"。
你怎么用
做损耗表自动化,顺序:
- 先核 BOM 有没有单价——没有就先解决单价源
- 建物料主数据(编码统一)
- 把损耗规则拉成成文表
- 再开发工具
第 1 步没解决就开发,就是出 0 的废品。
本节要点
- 损耗表 = BOM × 实际单价,最大坑是 BOM 无单价
- 单价源 = 外购入库单(月加权),不需要独立物料主数据表
- 物料编码统一是 join 的前提
- 损耗规则必须成文(不能在工程师脑子里)
- 顺序:核单价源 → 建主数据 → 拉规则 → 开发