生产过程库存管理(一)|一颗螺丝从货架到成本

一颗螺丝从原料仓搬到产线旁边的货架上,它在账上算不算已经被用掉了。

原文首发于微信公众号「苹之苹之」 · 在公众号阅读 →

一颗螺丝从原料仓搬到产线旁边的货架上,它在账上算不算已经被用掉了。

按常理说没有。产品还没下线,螺丝还躺在盒子里,一颗都没少。仓库的人却说料已经发出去了,用友 U9 里原材料仓的数量确实少了。财务说少掉的部分该算进这批产品的成本,可这批产品一箱都还没入库。

这里头有一套完整的行业做法,从备料到盘点一共八个动作。这篇先把整条流程的骨架搭起来,后面几篇再挑其中几个动作单独说。

01 先看全景 八个动作,一条完整流程

生产现场发生的库存动作可以归成八个。它们按生产节点排开,每个节点对应不同的业务类型和数据流向。

图 1 生产库存八个动作的节点分布

先记住物料和钱的走向

原料仓 —备料调拨→ 线边仓 —领料或倒冲→ 工单成本 —完工入库→ 成品仓

第一段总量不变,第二段开始减少

八个动作按节点和账务影响排开是这样。

动作

发生节点

单据类型

库存

成本

① 备料

投产前

调拨出库单

调拨入库单

位置变

总量不变

不归集

② 领料

生产中

材料出库单

(正数)

减少

归集

③ 超领

领料时

材料出库单

(正数)

减少

归集

④ 补料

计划外追加

材料出库单

(正数)

减少

归集

⑤ 退料

完工或异常

材料出库单

(负数)

增加

冲减

⑥ 报废

作业不良

其他出库单

减少

转损失

⑦ 倒冲

开工 / 完工

工序汇报 / 入库

材料出库单

(正数)

减少

归集

⑧ 盘点

差异分摊

期末

材料出库单

(正或负)

调整

修正

表 1 八个动作的节点、单据与账务影响

这张表里有两点值得停下来看一眼。

库存变不变。只有备料这一个动作不动库存总量,其余七个动作都会动。

成本归不归集。备料不归集,盘点差异分摊是修正,其余六个动作都影响工单成本。这是备料和其余动作最本质的区别,第六节会详细说。

02 流程上的四个节点

八个动作分布在生产过程的四个节点上。搞清楚节点和动作的对应关系,后面看任何一家 ERP 的流程图都不会乱。

2.1 投产前节点

这个节点上发生两件事。

工单下达。BOM 展开成生产用料清单,列出这张工单要用哪些子件、各用多少。计划员看到清单,做齐套检查,缺什么料一目了然。

备料。仓库按清单拣货,把料从原料仓送到线边仓或者产线边的超市货架。

备料只换位置不换账。原材料仓的数量减少,线边仓的数量增加,两边加起来没变。物料的所有权始终在企业手里。U9 里对应的单据是调拨出库单和调拨入库单。

料到了线上,人去取料扫码确认数量,这就已经进入下一个节点了。

2.2 生产中节点

生产中发生五个动作,四个由人发起,一个由系统自动。判断用哪个动作,看数量之间的关系。

动作

触发方

判断条件

领料

人

按用料清单发料,实发数量 ≤ 应发数量

超领

人

实发数量 > 应发数量

补料

人

原计划之外,另开一张单追加

退料

人

料没用完或者不能用了,退回来

倒冲

系统

完工或入库时,按产出数量自动反算

表 2 生产中节点的五个动作与判断条件

系统算出每个子件该发多少,这个数叫应发数量。仓库实际发出多少叫实发数量。超领就是这两个数的关系出了问题,实发比应发多,多出来的那部分在上限内系统直接放行,超了单据挂起等审批。

补料是另一个动作。原计划之外再追加一次,典型场景是 BOM 上没写的料现场要用,或者实际用量超过了标准用量。这个放到第四节展开。

2.3 完工节点

一是退料。工单做完了,剩下的料退回来。这批料如果还能用,退回原料仓或者线边仓。

二是产成品入库。产品下线检验合格,入成品仓。

如果工单跨月,月底还有没做完的工单,要做一次月末在制转移,行业里也叫假退假领。做法是月底对没完工的工单做一次形式上的退料,出当月的负数材料出库单;下月初做一次等量的领料,出下月的正数材料出库单。两次数量一样方向相反,实物一点没动,调整的是账落在哪个月。

这个动作得让系统自动做,靠人工既容易漏也容易算错。

2.4 期末节点

期末要对线边仓盘点,把账实差额收回来。

倒冲扣的是理论用量,线边货架上摆的是真实数量,这两个数迟早对不上。盘点差异按规则分摊到当期用了这个料的单据上,让成本贴近真实。盘点在第七节展开。

03 备料 料先到线上,账还没动

备料这个动作,行业里也叫拣配、齐套,英文是 Kitting 或者 Staging。

它的要点在于只换位置,不换账。物料从原料仓搬到线边仓,账上体现为一次调拨,两边总量不变。

图 2 线边仓的两种管理方式

这个动作要解决的是产线等料。工位旁边的空间有限,不可能把一张工单十几种料全堆过去,仓库就按生产节拍提前把料送到线上。具体怎么做有两种,差别在补料的触发依据。

对比项

按工单逐张拣货配送

线边开超市

补货触发

单张工单用料清单

货架水位低于下限

适合产品

物料品种多

单件价值高

多工单共用的

螺丝垫片胶水

U9 单据

调拨出库单

调拨入库单

工单发料

或看板补料

表 3 线边仓两种管理方式的差别

备料这件事做得越细,后面的领料就越轻。有些企业备料的时候就把批次和序列号扫到工单上,领料的时候只确认数量,不用重复扫码。这在物料需要追溯到单件的产品上差别很大。

04 领料、超领、补料、退料 四个动作的边界

这四个都是人发起的,区别在于什么时候用、放行规则是什么、账怎么处理。

4.1 领料

领料也叫发料,英文是 Material Issue 或者 Goods Issue。APICS 词典里把它叫 pre-deduct,也就是预扣式。倒冲叫 post-deduct,后扣式。这一对术语的区别是后面所有设计的关键。

领料和备料的分界在于账。备料只是仓库换个地方放,领料才把这批物料记成这张工单的消耗,库存数量减少,成本开始往工单上归。

领多少参照工单的生产用料清单,粒度上有三种常见做法。

粒度

做法

适用产品

按工单整体领

一次把料全部领走

结构简单、一次投完

按工序分批领

毛坯先领,机加工完

再领半成品

加工周期长的多工序产品

按套数领

订单套数 × BOM 用量

配置型产品

表 4 领料的三种粒度

U9 里的操作路径是生产订单下推领料,生成材料出库单。单据保存的时候,工单材料行的已领数量和物料存量同时更新。

4.2 超领

超领 实发数量 > 应发数量

超领这件事在实施里最容易做成两极。管得松,仓库和车间想发多少发多少,成本算不准,库存账和实物长期对不上。管得紧,一张单超两个螺丝就要主管签字,主管烦了,系统就绕过去了。

U9 的控制分两层,一层管开关,一层管幅度。

层

配置位置

默认与效果

第一层

开关

生产参数

允许超生产订单出库

默认否,设成否则

超应发数量不让出库

第二层

幅度

物料档案

出库超量上限 %

为空则无上限

填 3% 则应发 100

最多发 103

超量上限 = 应发数量 ×(1 + 上限百分比)

表 5 U9 超量出库的两层控制

这个百分比要明确设值。留空等于放开,手工填的数字等于收紧,两种做法都能跑,结果差得很远。

4.3 补料

补料就是在原来领的之外再追加发一次,英文是 Replenishment 或者 Re-issue。

它和超领的区别在于有没有计划。超领是领料单上实发数量填大了一点,属于原计划内的浮动,额度是物料档案上那个百分比。补料是另外开一张单,属于计划外的追加,要走单独的审批,通常也不占用原来那张领料单的额度。

触发补料的场景有三类。

场景

说明

作业不良返工

退料之后要重新领同样的料

BOM 用量偏小

实际用量超过了标准用量

BOM 漏项或变更

电子厂最常见

现场要用 BOM 上根本没有的料

表 6 触发补料的三类场景

第三类在实际现场最常见。BOM 是设计部门给的,现场做的时候发现某个料没写进去,或者写的量和实际用得差一截。不开补料单就领不出来,开多了又变成绕过管控的漏洞。

补料单要独立审批,审批的时候看两件事,补什么原因,补了多少。系统顺手做个统计,每张工单的补料次数和补料金额超过阈值就预警。一张工单补个一两次是正常的,补十几次说明 BOM 用量偏小或者现场作业不稳定,该找工艺或者质量部门看看了。

4.4 退料

物料发到线上,没用完或者不能用了,要退回来,这个动作叫退料,英文是 Material Return to Store。账务上它是领料的反向操作,库存增加,工单上的材料成本减少。

退料有三种起因,处理方式完全不同。这一层区分在实施时经常被合并,处理合并了就对账。

退料分类

退料起因

处理方式

余料良品退料

工单做完

剩下好料

退回原料仓或线边仓

材料出库单负数行

冲减工单材料成本

不需要补料

来料不良退料

物料本身

有质量问题

退回不良品仓走质量判定

材料出库单负数行

供应商责任转索赔

判完补领合格料

作业不良退料

操作失误

把料弄坏

走其他出库单转报废

不计入产品材料成本

按同等数量补料

表 7 三类退料的起因与处理方式

前两种走材料出库单的负数行,第三种走其他出库单转损失。这是区分它们的关键,账做错了成本就对不上。

U9 里退料不是单独一类单据,它走材料出库单,用负数明细行表达。MOM 这一侧可以给现场用户留一个独立的退料单,界面上更直观,推给 U9 的时候转换成材料出库单的负数行。

05 倒冲 不先领,用完了再算

倒冲的做法跟前四种都不一样。它不记录每一次消耗,等到完工或者某个节点,系统按产出数量反向展开 BOM,算出这些子件理论上该用多少,一次性把库存扣掉。

APICS 词典对倒冲的定义是这样一个库存记账方法,在上级母件的活动完成之后,按照物料清单和预留记录自动减少子件的账面库存。同义词是 explode-to-deduct。词典在同一句里承认了它的先天缺陷,账面库存和实物库存之间存在固有差额。

一颗螺丝单价可能不到一毛钱,用一颗记一笔,一张单走一遍审核,仓库和车间花在上面的时间远超这几毛钱能带来的管理价值。

这就是倒冲存在的理由。它把这些高频低值的消耗合并到完工节点,一次过账解决。上面那句是 APICS 词典对倒冲缺陷的原话,不是我加的判断。

这个做法在制造业里是通用的,不属于电子行业。APICS 把它放在重复制造,也就是产品结构稳定、批量重复生产的场景下作为主力方式。离散制造用得少一些,一般限于辅料,主料要追溯还是要老老实实领。流程制造同样用,Oracle 流程制造在批次详情里就有 Backflush 操作,新批次产出时按实际数量反算子件消耗。Oracle 的工作中心参数里有个 Pay Point Code,用 0、M、B 这些编码标记这个工作中心的材料和人工要不要被倒冲。B 表示材料和人工都倒冲。

SAP 的做法是配置驱动。物料主数据上有个倒冲标识,工作中心基本数据里也有一个,两处都打开,订单确认的时候才会自动过账 261 移动类型。食品行业在 SAP 里落地的是重复制造参数文件,在后台按物料定义装配和零件的倒冲规则。

5.1 U9 的四种倒冲时机

用友 U9 把这件事放在生产订单材料行的供应类型字段上。四种类型差在什么时候触发,数量错了能不能改。

图 3 U9 四种倒冲的触发点与已知限制

类型

触发时点

数量依据

前置条件

入库倒冲

产成品入库单

保存时

产成品入库数量

无

开工倒冲

生产订单开工时

开工数量

无

完工倒冲

完工报告审核时

完工数量

无

工序倒冲

车间任务汇报单

审核时

报工数量

生产订单

启用车间

表 8 U9 四种倒冲的触发时点与前置条件

四种倒冲有个共同的硬约束,倒冲生成的材料出库单不允许修改数量,也不允许删除。

入库倒冲在这一堆里比较特别。改或者删产成品入库单,倒冲出来的材料出库单会跟着联动。另外三种没有这个能力,数量错了只能在盘点的时候通过差异分摊间接修。U9 明确写了入库倒冲的材料行不能直接领料或退料。还有一个已知限制,倒冲仓不支持货位管理,配了倒冲的仓库再去推入库会提示货位错误。

开工倒冲适合投料即全部投入的工序。开工那一刻料就全进去了,后面做多做少账上都已经扣完。

完工倒冲适合整批投产整批完工。绝大部分企业用这个,因为完工汇报这个动作在所有离散制造企业里都存在,不需要额外的车间模块。

工序倒冲管控最细,每道工序报工就扣一次料。但它要求启用车间,而且报工数据的质量直接决定倒冲数量准不准。报工少报,倒冲就少扣。

同一张工单上几种方式混着用是常态。芯片走领用,要按序列号追到单台产品。螺丝走完工倒冲。胶水走开工倒冲,一开工整桶倒进去了。供应类型配在材料行上,所以粒度到每一行都能单独定。

06 这些动作在账上留下什么

生产库存的账务处理其实很固定,变的只有科目和金额怎么算。

业务动作

借方

贷方

备料调拨

线边仓存货

原料仓存货

生产领料

生产成本(直接材料)

线边仓或原料仓存货

倒冲领料

生产成本(直接材料)

线边仓存货

生产退料

线边仓存货

生产成本(直接材料)

生产报废

制造费用或营业外支出

线边仓存货

完工入库

产成品存货

生产成本(结转)

表 9 六类业务的借贷方向

倒冲领料的分录和生产领料一样,只是数量换成了理论消耗量。金额都是数量乘以存货单价。

成本什么时候算到工单上,跟发料方式绑定。这一点在做对接的时候要问清楚。

发料方式

成本归集时点

推式发料

领料单发料确认时

入库倒冲

产成品入库单保存时

完工倒冲

完工报告审核时

工序倒冲

工序转移单或车间任务汇报单审核时

表 10 四种发料方式的成本归集时点

也就是说倒冲物料的成本不用等到月末,工单完工那一瞬间就已经进成本了。所以完工汇报如果推送得晚,U9 里的工单成本跟实际生产进度就脱节了。

07 盘点 倒冲留下的差额怎么补

倒冲扣的是理论用量,线边货架上摆的是真实数量,这两个数迟早对不上。APICS 词典在定义里就写了会有固有差额,指望不上靠倒冲本身解决。补这个差额靠盘点。U9 里有两种盘点。

类型

针对对象

差异处理

存货盘点

仓库或货位的全部

或部分存货

盘盈盘亏自动生成

其他出入库单

倒冲盘点

车间现场仓

反向调整已生成的

材料出库单数量

差异分摊到当期单据

表 11 两种盘点的对象与差异处理

倒冲盘点只能做在倒冲仓上,仓库类型得是现场仓或者委外仓,盘点差异审核了才触发分摊。分摊规则是按订单当期领料数量来分,多领多摊,少领少摊,没领不摊。

U9 文档里有个例子可以校准一下规则。

步骤

数字

本次盘点盘盈

100

某工单本期已领数量

90

冲减该工单的材料出库单

-90

剩余回库存,生成其他入库单

10

表 12 盘盈 100 的分摊过程

也就是分摊到订单上的量最多只能冲减到它已经领过的量,剩下的回库存,不够分。

还有一个参数要注意,叫盘盈倒冲超量。盘盈量分摊到订单之后,如果导致该订单当期已领数量小于零,系统按这个参数处理。这个参数怎么设,要提前和财务确认,不同设置分出来的结果不一样。

盘点周期要固定下来,写进操作手册,明确盘点人、复核人、差异处理流程。盘盈盘亏超出保管损耗率的要追责。倒冲的成本准确性全靠这一步兜底。

08 怎么开始

新接手这套东西的时候,容易犯的一个错是想一次把管控做全。二十种物料全上推式领料,每一笔都要扫码都要审批,跑两周现场就绕回纸单了。倒冲全开,账实差异堆到年底没人管,成本失真得比原来还厉害。

比较稳的做法是先分出物料的层级。

物料层级

发料方式

配套动作

高价值

要追溯到单件

领用

单子上记全

批次与序列号

低值

用量跟产出绑得紧

倒冲

配上固定周期的

现场仓盘点

表 13 按物料分层选择发料方式

前一两个月账实差得难看是正常的。盘点跑过两轮,把分摊规则调准,成本就会慢慢贴近。

下一篇讲倒冲。

它在三种制造模式里的通用逻辑,各家 ERP 对接时的单据类型差异,以及现场能踩到的坑都在那一篇。

喜欢这类内容?

我主要在微信公众号「苹之苹之」更新,专注工业 AI 落地、项目管理与研发实践。想聊聊或者有合作想法,欢迎找我。

联系方式 → · 全部文章 →