简介:制造业物料分类编码规则文档是一份面向制造业信息化、物料管理及数据标准化人员的专业资料,重点解决物料标识混乱、编码口径不统一等问题。文档以十二位码为框架,逐位拆解产品编号、一级编码、二级编码、三级编码和序列码的含义与用途,并结合标准件、外购件、电子元器件、自制件等类别展示一级编码的分配逻辑;同时阐述文档编码的规则,覆盖物料属性、功能性能、特征和排列序号等维度。资源为单个docx格式文档,共18KB,内容结构清晰,可直接用于企业编码制度起草、员工培训或物料管理优化,整体篇幅精炼,便于快速掌握核心规则。已有2366人学习下载,能够帮助读者依据统一规则完成物料分类与编码落地,提升采购、仓储、生产等环节的信息化管理效率。
1. 物料编码规则为什么总在“最后一步”拖垮整个ERP项目
制造业物料分类编码规则,说起来就是一本几十页的文档,但绝大多数ERP、MES项目的延期和返工,恰恰都卡在这几十页上。一个很多企业踩过的现实场景是:系统上线前整理物料主数据,采购、研发、仓库各拿出一份自己的物料清单,同一颗M3×8盘头螺钉,在三个部门嘴里变成了“螺钉”“螺丝”“螺栓”,一物多码,库存账面永远对不上。物料分类编码规则本质上是给每种物料发一张唯一“身份证”,它决定了库存能不能对得上、成本能不能算得清、追溯能不能查到底。这张证设计得好,后面BOM、采购、车间执行全部顺畅;设计得随意,后面每一个环节都在替它交学费。这篇笔记面向正在搭ERP、整改物料主数据的IT工程师、物控计划人员和实施顾问,我会把分类维度怎么定、码位怎么分、系统里怎么落地、有哪些坑必须避开,按实际做过的方案完整讲一遍。
2. 先定分类再谈编码:物料分类维度与编码结构怎么选
2.1 按“管理用途”分类还是按“物料属性”分类?大部分企业先错在这
编码的第一件事不是画码位,而是定分类。分类定错了,后面整条规则都会别扭。最常见的设计失误,是直接按物料的物理属性去切大类——金属件一类、塑料件一类、电子件一类。听起来很“技术正确”,但落到管理动作上就会出问题。一颗M3×8的十字盘头螺钉,按属性它属于小五金;用在设备外壳装配上它是结构件,用在电路板固定上又被归为电子辅料。属性没变,归属却在不同人手里来回漂移,分类口径根本无法收敛。
我做过的一家机械加工企业就是活生生的例子:他们最早的编码规则第一段按材质分,铁、铝、不锈钢各占一段。结果外购的标准件螺钉有不锈钢、有镀锌钢,同一个螺钉图纸不同批次材质不同,分类代码跟着变,最后同一颗螺钉被建了四个编码。后来推翻重来,第一段改成“管理用途”,把原材料、半成品、成品、外购件、包材、备品备件切开,第二段再用材质和形态去细分,问题立刻消停。
这里的关键判断是:一级分类回答“它在我企业里算什么”,而不是“它物理上是什么”。管理用途稳定且直接对应财务和库存口径,属性会随技术状态漂移。行业里最稳的分类代码表结构是这样的:一级分类少而稳,一般7~12个业务域;二级分类按功能或形态细分,控制在每类5~15个;三级分类多数企业不需要,上了三级,分类代码表维护成本会陡增。比如:
| 一级代码 | 一级名称 | 二级代码 | 二级名称 | 适用对象示例 |
|---|---|---|---|---|
| 01 | 原材料 | 0101 | 金属材料 | 钢板、圆钢、铝型材 |
| 01 | 原材料 | 0102 | 非金属材料 | 塑料粒子、橡胶 |
| 02 | 电子料 | 0201 | 阻容元件 | 电阻、电容、电感 |
| 02 | 电子料 | 0202 | 半导体器件 | IC、三极管、MOS管 |
| 03 | 标准件 | 0301 | 紧固件 | 螺钉、螺母、垫圈 |
| 04 | 成品 | 0401 | 整机成品 | 可对外销售的完整产品 |
这个表就是后面编码规则的数据源。一级分类按业务域,二级分类按形态,两者交叉后基本能覆盖九成以上的物料。剩下那些“什么都像又什么都不像”的物料,宁可在评审会上多吵十分钟,也不要随手塞进“其他”。我在后面避坑章节会专门讲“其他”类目是怎么把一个好规则拖垮的。
2.2 编码结构选型:层级码、段码和混合码的取舍
分类定好之后才是编码结构。常见结构有三种:层级码、段码、混合码。它们的差别不在高级不高级,而在匹配不匹配你的管理场景。
层级码最简单,就是“大类-中类-小类-流水”,编码里能看到物料归属,人眼可读性好,车间抄料号不容易错。段码也叫面码,每个分类维度各占一段,比如“公司段-大类段-小类段-属性段-流水段”,每段独立语义,适合多基地、多组织的集团共用一套编码体系,但编码普遍偏长,人工录入很不友好。混合码则是在层级码的基础上,把部分关键属性抽出来做独立段,兼顾机器识别和人工管理需求。
| 结构类型 | 示例 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| 层级码 | 03-01-0001 | 结构紧凑、可读性好 | 只能在固定层级内表达 | 中小制造、单一基地 |
| 段码 | 03-01-05-02-0001 | 每段独立语义、扩展性强 | 码长偏大、易抄错 | 集团多组织、多基地 |
| 混合码 | 02-03-01-0001 | 兼顾分类与属性表达 | 设计复杂、维护要求高 | 标准化程度高的企业 |
我对中小制造企业的建议很直接:用10~14位的层级码,按“一级分类2位+二级分类2位+流水4~6位”来搭。有多个法人基地再加2位公司段放最前面。别把材质、表面处理、公差这些参数全塞进编码里——那些是主数据的属性字段,放进编码只会让码位失控。养成了把属性塞进编码的习惯后,哪天材质变更了,到底是改编码还是改属性?改编码,历史单据全部作废;不改,编码就出现“名不副实”的脏数据。我见过一家仪表厂把表面处理镀镍镀铬都编进编码,结果供应商工艺一调整,他们整个物料主数据跟着地震。编码只负责三件事:能分类、能唯一、能人工识别。
3. 从零设计一套制造业物料编码:位数、码段与代码表
3.1 先建物料分类代码表:一、二级分类的划分标准
编码规则文档,七成篇幅其实是在写分类代码表。很多人上来就画码位,码位画到一半发现分类没理清,返工。正确顺序是先建分类代码表,再谈码位。
第一步,把现有所有物料清单导出来,不要管格式,Excel里的、ERP里的、手抄的,全部汇总去重。第二步,按业务域打一级标签:原材料、电子料、标准件、外购件、半成品、成品、包材、备品备件。每个物料只能有一个一级分类,这是硬约束,打不上的先放一边集中评审。第三步,在一级下做二级,按物料的功能或形态细分。第四步,拉上采购、研发、仓库三方评审分类代码表,表面上定“这物料归哪类”,实际上定的是部门间的话语权——研发管它叫什么,仓库管它放在哪,采购管它找谁买,三个口径必须收拢。
分类代码表模板可以做成这样:
| 步骤 | 动作 | 输出 | 检查标准 |
|---|---|---|---|
| 1 | 导出全量物料清单 | 原始数据清单 | 含编码、名称、规格、来源标识 |
| 2 | 按用途打一级标签 | 一级分类初稿 | 每个物料只允许一个一级分类 |
| 3 | 按形态/功能细分二级 | 二级分类初稿 | 同类物料必须收敛到同一二级 |
| 4 | 跨部门评审 | 正式分类代码表 | 争议物料不超过总量5% |
分类代码表的规模控制有讲究。一级分类超过15个基本就是伪分类,说明你没按业务域切,而是按部门切了;单个一级分类下的二级超过20个,说明一级颗粒度太粗,得上三级。可维护的规模大致是一级7~12个、二级总数80~150个,超出这个范围,分类代码表本身就成了一种负担。
再有一个选择要做:分类代码用数字还是字母。我全部用两位数字,一级“03”就是标准件,二级“0301”就是紧固件。数字的优势是键盘输入快、Excel排序稳定、跟字母I和O混淆的概率为零。字母码的好处是同样长度下组合数更多,适合物料种类特别多的集团型离散制造,比如“A”代表原材料、“B”代表电子料,但要用就必须禁掉I、O两个字母,人工抄写时它们跟1和0几乎分不清。
这一步最忌讳的是直接照搬别人家的分类代码表。行业模板可以拿来当参考,但每家企业的一级分类、二级分类必然不一样。硬套的结果是——自己的物料塞不进人家的分类,最后涌现出一大批“其他”。我在另一家公司接手时,前任留下的模板里“其他”类目下挂着六百多条物料,编码规则等于白做,全部推倒重来。
3.2 码位分配与流水号设计:4位还是10位才够用
分类代码表定稿后,码位分配就是纯算术题了。推荐的基线结构是“一级2位+二级2位+流水4~6位”,总长8~10位;多基地的,公司段2位加最前面,总长10~12位。以华东一家做电子组装的企业为例,他们的成品用“04-01-0001”,外购电子料用“02-03-0001”,码位短,仓库老员工扫一眼就能判断物料属性。
码位分配表可以这样落地:
| 段位 | 含义 | 长度 | 取值来源 | 示例 |
|---|---|---|---|---|
| 段1 | 一级分类 | 2 | 分类代码表 | 03 |
| 段2 | 二级分类 | 2 | 分类代码表 | 01 |
| 段3 | 流水号 | 4~6 | 系统自动 | 0001 |
| 段4 | 公司段(可选) | 2 | 固定前缀变量 | 01 |
流水号设计有几个硬规矩。第一,起始值用0001,不要在中间留空段。第二,编码一旦分配,永远占用,物料停用就整条禁用,严禁把空号回收给新物料,不然历史单据和后续追溯必然串号。第三,流水号长度要按“预估3年增量×3倍余量”反推。判断公式并不复杂:预估物料种类总数 ÷ 二级分类数量 = 平均每个二级分类的物料数,这个数加两个零取整就是流水位数。比如二级分类100个,预估总物料5万种,平均每个二级分类500条,4位流水够用;但电子料的标准件类目容易膨胀,单个类目可能跑出上万条,这种情况直接给6位。
关于校验位,很多人纠结加不加。加了校验位(Mod 10或Mod 11算法)在纯人工录单场景下能拦截九成以上的抄错,但代价是编码多一位、后台多一套算法。如果工厂已经上了PDA扫码和条码打印,校验位没有存在意义——扫码枪不会抄错,错的是人。所以我一般建议:靠扫码的企业不加,靠手工录单的企业加上。
另一个常被忽略的是预留位。编码规则的扩展性不在预留的空位,而在流水号段够长、二级分类可增。码位里留一个“空段”等以后用,大多数情况下只会让编码看起来多了个莫名其妙的位置,这个位置在系统里永远是空的。真到了要扩展的时候,公司段比预留位更实用——新收购一个厂,加2位公司代码就切开了。
4. 把编码规则落地到ERP:物料主数据流程与系统配置
4.1 编码申请与审批流程:谁能发起、谁来审核、卡住怎么办
编码规则不是写进文档就自动生效的。没有流程约束,规则上线三个月就会名存实亡。最常见的失控路径是:研发急着建BOM,直接找系统管理员“帮忙建个料号”;采购急着下单,也找管理员“加一个编码”。每个人都有自己的理由,管理员为了不背延误责任,一个个放行。半年后盘点,编码规则文档跟系统里实际跑的编码完全是两套东西。
标准流程至少要有五步。第一步,需求部门在系统里发起申请,填写物料描述、规格型号、用途说明和参考厂商料号;第二步,物控或数据管理员初审,判断是新物料还是重复申请,重复的直接驳回并附上已有编码;第三步,编码规则管理员确认一级二级分类;第四步,系统按规则自动分配流水号,人工不干预;第五步,发布归档,编码同步到主数据。
职责划分是流程能跑起来的前提,用一个责任矩阵说清楚:
| 角色 | 负责动作 | 常见错误动作 |
|---|---|---|
| 使用部门 | 提交申请、填属性 | 只写“采购件”不写规格 |
| 物控/数据管理员 | 查重、驳回 | 查重不彻底,漏掉同物异名 |
| 编码规则管理员 | 确认分类、放号 | 凭印象归类,不查历史记录 |
| IT | 系统配置、权限管理 | 放权过宽,人人能建码 |
一个我验证过多次的权限设定是“申请全放开、建码不放开”。任何部门都能发起申请,但没有物控数据管理员的审批,编码永远不会写进主数据表。这样既不卡业务,又能保证编码规则被控住。卡壳时九成的原因是申请信息不全——没填规格、没填材质、用途描述一句“生产用”就完事,所以申请表单里必须设置必填字段,缺项直接不能提交,不要指望审批人回头催。
4.2 在ERP里配置自动编码规则:分段编码、掩码与防重
主流ERP都提供物料编码规则配置,实现方式是分段掩码——把编码拆成若干段,每段定义长度和取值逻辑。配置的核心是把第3章定好的码位落到系统字段。以一个典型的ERP配置为例:
| 段序号 | 段名称 | 长度 | 取值方式 | 配置说明 |
|---|---|---|---|---|
| 1 | 公司段 | 2 | 固定值/前缀变量 | 多基地时自动带出 |
| 2 | 一级分类 | 2 | 关联物料分类字段 | 从分类代码表带出 |
| 3 | 二级分类 | 2 | 关联物料分类字段 | 从分类代码表带出 |
| 4 | 流水号 | 6 | 系统顺序号 | 全月台全局递增 |
| 5 | 校验位 | 1 | 可选 | 纯人工录单时启用 |
这段配置里有几个参数值得细说。流水号要选“全局计数器”而不是“分类内计数器”——同一时刻两个人分别提交不同分类的物料,分类内计数器可能出现同一个流水号,全局计数器不会。生成时机也很关键:有些系统在保存草稿时就占号,草稿被删号就断了,这种配置要改成“审批通过后才生成编码”,否则跳号会成为常态。
还有两个权限必须封死:一是关闭“允许修改编码”的权限,二是关闭“手工指定编码”的选项。规则调整期间,老员工会手动把流水号改成一个自己看着顺眼的段,规则立刻失守。我在一家注塑厂就见过操作员把“0301-0001”改成“0301-1001”,因为“1001”听起来像第1001个,结果后面新增物料全从1001开始,跟前面重号,系统直接报错,只能停线整改。
对没有自动编码功能的旧系统,常见做法是做一个编码生成小工具,用低代码平台或者Excel VBA实现:填入分类后自动拼接编码,再回填到ERP。这个方案我在几家中小工厂验证过,能用,但工具里必须做“编码查重约束”——多人同时点生成时,两个人可能拿到同一个流水号,需要在工具后端加一张编码占用表,提交前先登记占号。
5. 物料编码落地避坑:一物多码、规则返工和编码长度失控
5.1 一物多码:同样的螺丝在系统里出现了三个编码
现象:仓库里同一个规格的镀锌螺栓,库存账面上挂着三个料号,名称分别是“螺栓”“螺丝”“螺钉”,规格参数一模一样,采购按三个编码各买了一批,库存虚高,成本翻倍。
原因:建码入口太开放。研发按图纸叫法建一个,采购按供应商叫法建一个,生产按车间习惯又建一个,中间没有强制查重。查重只查编码本身,不查名称关键词和规格参数,同物异名直接穿透。
解决:先做一轮数据清洗,按“规格+材质+表面处理”三个关键属性把历史物料合并,停用冗余编码;再在申请流程里加查重动作——查重不能只查编码,要把名称中的关键词(螺钉、螺丝、螺栓)和规格参数都纳入匹配。后续新增物料时,凡是疑似重复的一律先驳回,让申请人补充说明差异点,没有合理差异就沿用旧码。
5.2 编码规则上线半年后被迫返工:分类口径变了
现象:规则上线半年,新增物料开始频繁塞不进现有分类。研发新导入了一批软性电路板,分类表里只有“电子料-硬板”,没有柔性板的位置,最后全堆进“其他”。几个月后“其他”类目下积累了三百多条物料,编码规则名存实亡。
原因:设计规则时只考虑了当时的物料构成,没给新业务预留分类位置。更深层的问题是,一级分类被定成了“产品线”而不是“业务域”——产品线本身还在调整,分类口径自然跟着碎。
解决:一级分类按业务域切,业务域在一个企业的生命周期里是稳定的;二级分类随业务扩展,新增二级分类成本极低。每年做一次分类代码表评审,新增二级分类是常规操作,新增一级分类是大手术,所以设计时把变化预期压给二级。另外,“其他”类目必须设置门槛:不允许直接挂物料入库,必须由编码规则管理员评审后再归入正式分类或新建分类。
5.3 4位流水号在一年内爆掉,编码继续不下去
现象:年初定了“二级分类+4位流水”,到年底电子料的阻容元件分类下已经超过一万条物料,流水号到9999后系统卡死,新物料全部建不了码,生产等着上线,数据管理员手动改号救急,两天后系统里出现重复编码。
原因:低估了基础元器件的种类膨胀速度。阻容、连接器这类物料的型号细分极其夸张,同一阻值不同精度、不同温漂系数就是两个物料,一年翻倍不稀奇。4位流水按当前存量设计时就该知道不够用。
解决:扩容到6位流水,已有编码统一补零迁移,但这会牵动历史单据,代价不小。所以正确做法是在规则设计时就把流水位按“预估3年增量×3倍余量”定,而不是按当前存量定。遇到已经爆掉的系统,扩容时要先停线、导出全部历史编码、统一补零、重建约束,再恢复使用,整个过程需要IT和物控同时在场。
5.4 Excel导入把编码前导零吃掉,一条都匹配不上
现象:ERP里的编码“03010001”导进Excel再导到新系统后变成了“3010001”,所有关联单据全部断链,库存账目对不上,最可怕的是一开始没人发现。
原因:Excel单元格默认数值格式,输入03010001后被自动处理成数值,前导0消失。这个坑在数据清洗阶段就会埋下——你从旧ERP导出编码,打开Excel看到的是3010001,再导入新系统时,全表编码集体短了两位。
解决:所有导入模板里编码列的单元格格式必须预先设成“文本”,并且锁定格式禁止改动。ERP导出历史数据时也要按文本格式导出,导出后抽查首尾几行确认前导0还在。更彻底的办法是在主数据表设计时把编码字段定义为“非数值字段”,禁止任何工具自动转换。彻底归彻底,也别忘了在数据迁移脚本里加一条“编码字段长度等于总码长,不足则报错”的校验规则。
5.5 新老编码规则切换:老编码作废还是保留映射
现象:新规则上线后,系统里一半物料是新编码,一半还是老编码。老物料的采购单、库存记录、BOM引用全套在新编码上查不到,跨系统交互更是彻底对不上。
原因:切换策略没提前定。“全量重编码”和“老料老码、新料新码”是两条完全不同的路线,企业没想清楚就上线,结果两套编码并存的过渡期被无限拉长。
解决:存量物料少于几千条的企业,直接选全量重编码,一次性做完新老映射,历史单据通过映射表关联,项目周期多出一到两周但一劳永逸;存量几万条以上的,用“老料老码、新料新码”,但必须给老物料补一个“新规则分类编码”属性字段,保证跨系统对账和报表筛选能用新规则字段。最忌讳的是切换期默许手工建码绕过规则——规则还没正式生效就被绕过了,后面再想收紧只会难上加难。
6. 进阶玩法:让编码从“人工填”变成“自动生成”,并贯通PLM与MES
编码规则的终点不是维护一张编码表,而是让编码在业务流里自动产生、自动被使用。目前我看到的最高效路径是PLM、ERP、MES三级联动。
具体做法是:研发在PLM里完成物料定义后,由PLM按编码规则自动生成物料编码,随BOM发布到ERP;ERP接收后不再重新编码,直接建主数据、开物料账;MES侧每个编码绑定条码规则,打印标签时直接把编码印成Code128条码,扫枪扫到的码就是ERP里的料号。这个链路打通后,设计、采购、车间全程只有一个身份,中间不再存在任何“翻译”过程,也就没有翻译错的空间。
这里有一条很实用的技巧:编码规则不要写死在ERP后台,而是抽成一段“编码段变量表”——比如“一级分类=物料分类属性”“流水号=全局计数器”,由PLM的规则引擎读取。好处是将来改规则时只改段变量,不用动人历史编码。另一个我养成的习惯是每次编码规则变更都导出一份快照,保留变更前后的码段定义,真出了事能立刻回溯是哪一段变了,而不是对着系统里的编码猜心思。
我现在接手任何ERP项目,第一件事永远是查它的物料编码规则。一张主数据表管得规不规范,看编码一眼就能看出来——流水跳号、分类混乱、描述字段里塞着同一规格的不同写法,这些都是未来库存和生产翻车的预兆。物料编码不解决,后面上多严的审批流程、多贵的系统都白搭。希望这些踩过的坑和验证过的方法,能帮你在自己的项目里少走一段弯路。
本文还有配套的精品资源,点击获取