One self-hosted console to run your entire business — commerce, ERP, HRM, CRM & manufacturing

小型生产商的制造 ERP:BOM、工单和批次追溯,不必付企业级价钱

小型生产商如何从表格走向多层级 BOM、带物料检查的工单、计入损耗的成本核算和批次追溯。以 100 罐润肤膏为例,从配方算到单位成本 $3.56。

Author

Anichur Rahaman

1 周前11 min read2 views
小型生产商的制造 ERP:BOM、工单和批次追溯,不必付企业级价钱

库存表上写着货架上有 14 kg 乳木果油,够整批用。周一早上 9:10,一家小型护肤品作坊的老板刚接到零售商的订单,要 100 罐润肤膏,周五交货。她走进仓库一看,只有 10 kg。另外 4 kg 在上周四的那一批里用掉了,没人记账。

接着供应商发来邮件:有一个乳木果油批次正在接受质量复查,批号就印在发票上。哪些罐子用了这个批次?谁买走了?答案散落在三份表格和一本笔记本里。

本文讲的是能终结这种早晨的几类小记录:多层级物料清单、会让库存动起来的工单,以及把投入和产出连起来的批号。这些都用不着企业级套件,只需要在工作发生的当下,把正确的记录写下来。

表格最先在哪里出问题

一个人做一种产品,表格够用。配方出现层级、同一天有两个人干活、客户来问过去的事,表格就开始吃力了。

毛病很具体。库存和配方放在不同文件里,一批货在纸面上用掉了原料,库存数却没减。损耗看不见,单位成本总是比实际低。采购靠记忆,缺料要等开工后才发现。而供应商批次和成品罐之间,没有任何关联。

四个问题的根源相同:计划、库存和成本是三份互不相干的文档。生产管理系统把它们连起来:一张记录,也就是工单,从配方读取数据,向库存台账写入,并算出成本。

物料清单是系统遵循的配方

物料清单(BOM)列出生产一个单位或一批产品所需的每一种部件,附数量和单位。真实的产品很少是平的,所以 BOM 有层级。一罐润肤膏需要罐子、盖子、标签和膏体本身。膏体又是一个半成品,有自己的配方:乳木果油、椰子油和蜂蜡。

100 罐润肤膏一批的多层级物料清单:由乳木果油、椰子油和蜂蜡组成的膏体基料,加上罐盖、标签和纸箱,附数量与成本
一批 100 罐,三层需求:基料本身就是一个产品,有自己的配方,也有自己的损耗。

层级之所以重要,是因为每一层都可以单独备货、采购或生产。你可以大批量做膏体基料,改天再灌装。你可以从两家供应商买罐子。系统会从上往下展开 BOM,把落到每种原料上的数量加总。

有两个细节决定数字能否信任。每一行都带单位和换算:配方用千克,供应商卖 25 kg 一袋,秤读的是克。每一行还带损耗率,也就是你预计会损失的那部分部件。

算一笔账:100 罐润肤膏

这是一个示例,价格为虚构。每罐装 200 g 膏体,所以 100 罐需要 20 kg 基料。熬制过程中,锅壁和搅拌桨会带走约 5%。成品的各部件也有各自的余量:罐子 2%(碎裂或磕瘪),标签 5%(印错)。本例把损耗加在净用量之上,所以 20 kg 的 5% 就是多出 1 kg。有些系统改为除以(1 减损耗率),得到 21.05 kg。选定一种口径,处处沿用。

部件单位用量损耗整批需求单价成本
膏体基料(自制)每罐 200 g+5%21 kg见下方各行$158.55
乳木果油每 kg 基料 0.55 kg含在基料内11.55 kg$8.00/kg$92.40
椰子油每 kg 基料 0.35 kg含在基料内7.35 kg$5.00/kg$36.75
蜂蜡每 kg 基料 0.10 kg含在基料内2.10 kg$14.00/kg$29.40
罐子和盖子每罐 1 个+2%102 pcs$0.60$61.20
标签每罐 1 张+5%105 pcs$0.08$8.40
外发纸箱每 12 罐 1 个向上取整9 pcs$0.90$8.10
物料合计$236.25

算术很简单,这正是重点。21 kg 基料乘以 0.55,是 11.55 kg 乳木果油。100 罐除以 12 得 8.33 箱,所以要 9 箱。软件一秒钟就能算完,每个产品、每次配方或价格变动都重新算。表格只有在有人想起来的时候才会算。

工单:让库存动起来的那条记录

BOM 说明一种产品一般怎么做。工单则说“现在做 100 个”。工单在下达的那一刻复制 BOM,所以之后改配方,不会改写已经在车间里的那一批。

工单流程图:下达、展开 BOM、判断库存是否满足全部部件、不足则发起请购、发料到在制品、执行工序、完工并过账良品和损耗
工单会在哪里卡住:卡在物料检查这一步,直到缺料买回并入库。

跟着 WO-1042 看这张图。下达时,系统把 BOM 展开成上面的表,并把每一行与可用库存比对,也就是现有库存减去其他工单已占用的部分。假设可用的乳木果油只有 10 kg。这张工单缺 1.55 kg,检查不通过,系统就为这个缺口生成一张请购单。货物以新批次入库后,检查重新运行并通过。

发料就是把物料从仓库转入在制品(WIP)。库存台账为每个部件、每个批次记一行,全都挂在 WO-1042 名下。接着,工时记到工单上:熔化和搅拌 2 小时,灌装和贴标 3 小时,包装 1 小时。

完工时要清点。假设 100 罐合格,2 罐碎了。系统按算出的单位成本,把 +100 罐以新批次 L-0927-A 记入成品库存,把损坏的 2 罐连同原因代码记为损耗。BOM 里的损耗余量本来就覆盖了这部分,所以物料差异为零。如果锅里投入的基料是 22 kg 而不是 21 kg,多出的 1 kg 会以差异的形式显现,而不是消失在平均数里。

成本核算:材料、人工与制造费用

生产成本分三块。材料直接来自 BOM 和实际发出的批次。人工是工单上记录的工时乘以费率。制造费用是没人单独记录的那部分:房租、电费、设备、会计。它按费率分摊,通常按人工小时或机器小时。

成本项依据100 罐一批每罐
材料含损耗的 BOM,按批次价格$236.25$2.36
人工6 小时,每小时 $14$84.00$0.84
制造费用6 小时,每人工小时 $6$36.00$0.36
合计$356.25$3.56

$6 的费率同样是示例:作坊每月 $1,200 的费用,摊到 200 个人工小时上。成本要除以良品数,所以损坏的 2 罐由合格的 100 罐来承担。这也是忽略损耗会让成本好看的原因。同一批货不留余量地核算,材料是 $2.27,每罐 $3.47,低了 9 美分。一年卖 5,000 罐,这个误差就是 $450 根本不存在的毛利。

成品批次以 $3.56 入库,罐子售出时,这个数字就进入销货成本。

批次追溯:几分钟内完成召回准备

追溯的意思是,沿着这条链往两个方向都走得通。向后:这个成品批次用了哪些投入批次?向前:这个供应商批次进了哪些成品批次,这些成品又随哪些订单发了出去?

工单示例里的每一条库存记录,本来就带着这些信息。WO-1042 消耗了乳木果油批次 S-2291,产出了 L-0927-A。L-0927-A 随订单行发给了明确的客户。开头那封供应商邮件,因此从一个周末的排查变成两次查询:找出发过 S-2291 的工单,再列出这些工单所产批次的发货记录。

在食品行业,这正从良好做法变成强制规则。美国 FDA 的食品追溯规则要求经营《食品追溯清单》(Food Traceability List)所列食品的企业保存批次级记录,并在收到要求后 24 小时内提供。合规日期原定为 2026 年 1 月 20 日,但一项拨款法案现在指示 FDA 在 2028 年 7 月 20 日之前不执行该规则(FDA, FSMA final rule on additional traceability records)。其他产品有各自的规定,而且不论你做什么,零售买家都会要求同样的批次级答案。

这段两分钟的录屏导览,在 StoreConsole 的生产制造模块里演示了同样这些记录。

BOM、生产工单与批次追溯,基于在线演示数据录制(2:03)。

备货生产还是按单生产

两种模式下,工单是同一个东西。区别在于谁来触发它。备货生产由预测和再订货点触发,客户从货架上买。按单生产由客户订单触发,所以工单关联到那张订单,成品也为买家预留。

备货生产与按单生产两条泳道,从触发到发货,并对比等待时间、风险与适用场景
同一张工单,两种触发方式:一种承担库存风险,另一种承担交期风险。

食品和化妆品通常偏向备货生产,因为保质期和预测决定计划。家具、印刷和定制服装偏向按单生产,因为没人下单,产品就不存在。多数小型生产商两种并用:少数畅销品按再订货点生产,其余都按需生产。系统应当允许同一个产品两种模式并存。

每个环节该记什么

环节记录为什么重要
收货供应商批次、有效期、数量和单位开启向后追溯
存储库位和状态(隔离或已放行)阻止未放行物料被领用
发料到 WIP每张工单、每个部件所耗批次把投入与批次连起来
生产工时、良品数、带原因的损耗提供人工成本和良率
成品入库成品批次、最佳食用日期、质检结果决定什么可以卖给客户
发货每个订单行对应的批次让向前追溯成为可能

如何从小处起步

不要一上来就给整个业务建模。选一个产品系列,从头到尾跑通,再加下一个。

  1. 列出最畅销产品的全部部件,细到标签,并在一个真实批次中称重或清点。
  2. 定好单位:每种物品一个库存单位,再按采购和计量方式设置换算。
  3. 录入 BOM,损耗率取自最近五批的实际数据,而不是凭猜。
  4. 实地盘点后,按批次录入期初库存,并带上有效期。
  5. 把下一个真实批次当作工单来跑,工时和损耗当场记录,不要拖到周末。
  6. 把系统算出的成本与旧估算对比,差距超过几个百分点就先查清原因,再加下一个产品。

再说说常见的错误。最常见的是一份曾经正确的 BOM。供应商换了罐子,配方多加了 10 g 蜂蜡,没人去改 BOM,此后每一笔成本都带着小而稳定的偏差。给每份 BOM 指定负责人和复核日期。其次是缺少单位换算,台账里 25 kg 一袋变成了 25 克。第三是忽略损耗,前面的例子已经展示过。

该衡量什么

每周复盘四个数字,就覆盖了大部分。良率是良品数除以计划数。按原因拆分的损耗率,能告诉你损失发生在锅里还是灌装工位。物料差异是实际发料量与 BOM 的对比,能发现配方漂移和称重失误。准时完工率是在到期日前完成的工单占比,用来检验物料检查是否有效。再加一次季度演练:随机抽一个成品批次,计时看列出它的投入和客户要多久。

回到那个周一早晨

还是这位老板,现在周一 9:10 下达那张 100 罐的订单。她包还没放下,物料检查就跑完了:除了 1.55 kg 乳木果油,其余都齐,所以 9:15 前就发出了一张请购单。库存数是准的,因为上一批在发料时就已经扣掉了原料。

供应商的邮件到了,她搜索乳木果油批号。弹出两张工单、三个成品批次和十一张订单。几分钟内联系名单就到手了,她还知道每罐的成本是 $3.56,而不是旧表格显示的 $3.47。这一周剩下的时间,用来做润肤膏。

核心要点

  • 生产管理系统把表格分开存放的三样东西连起来:配方、库存台账和成本。
  • 按层级建 BOM,每一行都有单位、换算和损耗率。
  • 工单在下达时复制 BOM,运行物料检查,把库存转入 WIP,并在完工时过账良品和损耗。
  • 生产成本等于材料加记录的人工再加分摊的制造费用,除以良品数。忽略损耗会低估成本。
  • 每次发料和每次发货都带批号,召回就从一个周末的排查变成两次查询。
  • 从一个产品系列开始,并给每份 BOM 指定负责人和复核日期。

Anichur Rahaman 是一名软件架构师,也是 StoreConsole 的创建者。他为成长型企业设计电商与 ERP 系统,专注于事件驱动架构、数据完整性和自托管部署。

About the Author

Anichur Rahaman

Continue Reading