当前位置: 首页 > news >正文

制造知识普及(九)--企业内部物料编码(IPN)与制造商物料编码(MPN)

在日常的物料管理业务逻辑中,一物一码是物料管理的基本的业务规则,不管物料从产品开发还是仓库管理,甚至成本核算,都要遵循这个原则,才能保证产品数据的准确性,才具备唯一追溯的可行性。大部分企业都是这种模式,这也是我们非常熟悉的模式。

00c961a82bf34740b5b2214232bd75a5.png

 

但在企业某些业务场景中,从不同制造商采购的甚至相同规格参数的物料,接口完全匹配,甚至可以完全替代,但可能质量还存在一些差异,此时对于起来来说,是否进行区分管理不同制造商的物料,如何有利于后续质量的管控是很重要的思考,我们常见的场景包括:

  • 针对企业的紧固件等,虽然采购来源于不同制造商,但很多时候在仓库,或者装配制造时并没有区分,即使制造部件有一些差异,很多时候也认为也是完全替代,一般很少出现质量问题,后续也几乎不会出现质量追溯的场景

  • 针对电子电气等物料,即使不同企业交付的接口和输出特性完全一致,也具备使用互换,但在某一些特殊场景下,尤其是超额情况下,会出现出差异的特性;因此在出现失效情况下,就需要追溯什么器件在什么情况下引发的问题,需要明确的进行区分

  • 在某国内头部的家电企业,针对产品的关键组成部分,虽然也有多供,但是在定义BOM时,尤其是SKU BOM时,组合不同就是不同的SKU,但是对于非关键的组成模块,尤其是大量的电子元件,直接定义了不同制造商供方元件,采购和制造科按需定义和使用,并无追溯的需求

  • 在国内某风力发电装备企业,开发时已经充分考虑了替代的管理;在配置订单时,有质量优先和价格优先的选型可对含有多供方的物料进行排序,便于在实际项目中灵活选择(默认价格优先),但是也面临客户指定的场景,可能包含在已经开发的供应商中,也可能不包含,针对不包含的,是否必须开发新的供方,也是困扰企业很久的痛点

针对物料的多供到底该如何管理,尤其面对复杂的应用场景?这里暂无法给出答案,我们再次区分一下IPN/MPN概念,确保我们可以有一个一致的认识:

  • IPN:Internal Part Number,指按企业内部的物料编码进行编码和管理的物料,或者说在企业管理中,忽略了制造商的信息,仅采用企业自己的编码规则确保唯一性和可追溯性的一种定义

  • MPN:Manufacturer part number,指按照制造商的规格型号等信息表达和记录,确保制造商分配的唯一字母数字代码,可用于标识并追溯特定产品或组件,在查询资料时,这里有一个默认的前提,是针对一组相互可替代的物料的约束下

公司内部编码

A制造商编码

B制造商编码

物料编码

PAT00232

KD-KL-00322

CB2N-DCF-032

 更多有关华为研发管理/IPD、MBSE、PLM、ERP、MES、数据治理、数字样机等方面免费解决方案、资料获取,请见下图,限时优惠。

通过上述表达样式可以看到,所谓的IPN就是一物一码,不同的供方物料,对企业来说都有唯一对应的编码;但是对于MPN物料就存在多物一码,初始听着不合理,多个实物使用一个编码,难道不会混乱吗?那对于允许不限制混合使用的场景,是不是就可以?存在即由道理,那么在企业的物料开发管理中,为什么要在IPN定义已经存在的场景下,又在这么多行业和企业出现MPN的定义呢?基于我做的一些分析,将相关内容,尤其站在替代使用的视角,总结以下表单。

分析项目

MPN

IPN

物料编码

单一IPN编码下,可建立MPN组,定义多个MPN,新增供方不需要申请IPN编码

基于供应商的代码和规格型号可确保信息的唯一

使用企业内部的编码规则,每一个制造商/方案都是单一IPN编码,新增供方需要申请新的编码

替代逻辑

不同制造商的MPN完全相互替代,优先级一致,可设置替代比例

存在完全替代和局部替代场景,若设置替代比例,ERP需要定制开发功能增强

BOM定义

BOM仅显示IPN编码,不显示MPN(在产品开发时无法指定)

  • 方案1(常见):在BOM中仅定义并显示优先级最高的,其余的全部通过替代关系表达

  • 方案2:在BOM中并列显示所有的替代关系,但通过启用/禁用的设置定义哪一个替代可使用

替代应用

不同的MPN可根据配置的比例自动计算需求,下游使用不受限制

在工单中,使用哪一个替代料需要人工设置,或者默认使用优先级为1的料,若出现库存不足则按优先级顺序消耗库存

仓库管理

采用(Non-inventory managed MPN)时,不单独管理库存,若有特殊指定时,比较难区分(也可以按MPN指定库存,但需要对ERP进行专门的设置)

每一颗物料都单独存放,很容易区分

制造商物料禁用

除非是物料仅有单一MPN,否则制造商物料的禁用不影响BOM结构,因此这种方式针对成熟且标准化程度较高的物料定义和管理较方便

制造商物料即BOM结构上的物料组成,因此禁用时必须对BOM进行变更,使用可替代的物料更换到BOM结构上,否则就会出错

优势

  • 对于多供场景便于追踪,可在SAP的维护物料采购配额

  • 减少重复编码的申请

  • 基于客供,客指等特殊场景物料管理支撑能力较强

  • 便于追溯和管理,满足目前用户操作习惯

  • 多供方替代不稳定时,使用IPN的替代比较灵活

挑战

  • 若MPN在实际产品中的装机追溯,对于库存、生产应用等追溯比较麻烦

  • 数据管理和操作维护相对比较麻烦

  • 无法记录物料的制造商,无法识别多供方

其实对于两种不同的面向多制造商物料管理的方案,我也在一直追寻、思考不同方案的利弊,或者企业选择不同方案的决策关键点,但发现这是一个很难的事情,企业开发的产品不同,对产品组成物料的管控成熟度不同,企业的信息化水平存在差异,都会影响对IPN、MPN方案的选择,没有完美的方案,不过是针对企业面对复杂的物料及多供方甚至延伸到供应链的管理过程中,提供了一种新的思路和方式,不过我的建议如下,仅供参考:

  • 物料启用MPN可以通过MPN记录制造商物料开发、验证、变更的场景,但对应IPN物料很难实现这种管理,尤其同一物料不同制造商时

  • 若企业新开发物料比较多,并且可能对物料应用产品序列号、产品故障追溯要求比较高时,建议使用IPN而非MPN

  • 若企业的IT等信息化成熟度比较低,无法对供应商来料按批次进行追溯,并且延伸到生产上的应用时,建议使用IPN而非MPN

  • 若企业大量开发标准类通用类产品,产品比较稳定,组成的物料也比较成熟,则多供管理可使用MPN而非IPN

  • 若企业开发的产品在面向市场或用户时,针对订单会指定制造商,则使用MPN的灵活性大于IPN

  • 当企业刚开始引入某一新物料时,可使用IPN管理,但随着产品成熟和物料的市场成熟,可考虑改为MPN

图片


IT系统针对这块是有解决方案的,我查了很多资料,没有相对比较准确的找到IPN的源头,但是针对MPN,大概是来自于SAP的定义,并且在众多行业中被接受和广泛应用,大家也慢慢都接受了这种定义;我前期在实施PTC公司的Windchill PLM时,虽然没有MPN的概念,但是供应商物料其实是相同的作用;在项目实施时,我们也会根据企业的诉求不同,例如不同制造商采用不同制造商部件,那就采用按制造商的模式管理,也将企业的采用IPN替代的管理模式转换成类似MPN的模型结构便于查看和使用。

图片

图片

图片

针对SAP系统,其实也可以实现面对MPN的更细致的管理,包括启用针对MPN的库存管理,质量管理等,我也咨询了专家,并且也看了一些对应的操作,发现SAP在这方面功能还是很强大的,好像我了解了几家企业,都没有应用的很深(够用即可)。

图片

相关文章:

制造知识普及(九)--企业内部物料编码(IPN)与制造商物料编码(MPN)

在日常的物料管理业务逻辑中,一物一码是物料管理的基本的业务规则,不管物料从产品开发还是仓库管理,甚至成本核算,都要遵循这个原则,才能保证产品数据的准确性,才具备唯一追溯的可行性。大部分企业都是这种…...

【整数规划】+【0—1规划】解决优化类问题(Matlab代码)

目录 文章目录 前言 一、整数规划 分类: 二、典例讲解 1.背包问题 2.指派问题 总结 前言 如果觉得本篇文章还不错的话,给作者点个赞鼓励一下吧😁😁😁 在规划问题中,有些最优解可能是分数或小数&am…...

Linux下如何使用Curl进行网络请求

在Linux系统上,Curl是一个非常强大的网络请求工具,可以用于发送各种类型的HTTP请求,并获取响应结果。它支持常见的HTTP方法,如GET、POST、PUT、DELETE等,还支持HTTPS、FTP等不同协议。Curl提供了丰富的参数选项&#x…...

PostgreSQL 触发器

PostgreSQL 触发器 PostgreSQL触发器是一种强大的数据库对象,它可以在特定的数据库事件发生时自动执行预定义的操作。这些事件可以是插入、更新或删除表中的行。触发器通常用于强制复杂的业务规则、提供审计跟踪、数据同步以及实现复杂的约束。 触发器的基本概念 …...

LeetCode——3131.找出与数组相加的整数I

通过万岁!!! 题目:给你两个数组nums1和nums2,然后让你找一个数,使得nums1的数加上这个数以后得到的数组nums1’与nums2是相同的。注意这里只要元素相同就好了,不一定顺序相同。思路&#xff1a…...

【SpringMVC】详细了解SpringMVC中WEB-INF 目录资源,视图解析器和静态资源放行的使用。

目录 1. 回顾SpringMVC请求转发和重定向 2. WEB-INF资源目录 3. 视图解析器 4. 静态资源放行 1. 回顾SpringMVC请求转发和重定向 概念:在一个项目中功能非常多,也就意味着有非常多的Servlet,不同的Servlet的职不 同 ,而用户发起…...

如何学好uni-app

学习uni-app需要掌握以下技能: 1. 前端基础:熟悉HTML、CSS和JavaScript等前端开发技术,了解基本的前端框架如Vue.js。 2. Vue.js:因为uni-app是基于Vue.js构建的,所以需要对Vue.js有深入的理解。可以先通过官方文档或者…...

C++ QT使用stackwidget实现页面切换(含源码)

C++ QT使用stackwidget实现页面切换(含源码) 0.前言1.UI布局1.1使用stackwidget2.代码方式添加页面实现页面切换3.源码4.最终效果0.前言 在QT中一个界面中如何实现页面的切换,而不是新弹出的窗口,这里采用的stackwidget,以层叠widget的方式选定页面索引从而实现页面切换。…...

打工人上班适合用的蓝牙耳机推荐?几款开放式耳机推荐

日常工作的话,我还是比较推荐开放式蓝牙耳机的,它特别适合那些需要在长时间工作中保持专注和舒适度的环境,那开放式耳机其实还有一些主要的优点: 减少耳朵疲劳:由于开放式耳机不需要紧密贴合耳朵,因此可以…...

一款.NET开发的AI无损放大工具

一款.NET开发的AI无损放大工具 思维导航 前言项目功能支持语言系统要求项目源代码项目运行小图片进行无损放大项目源码地址优秀项目和框架精选 前言 今天大姚给大家分享一款由.NET开源(GPL-3.0 license)、基于腾讯ARC Lab提供的Real-ESRGAN模型开发的A…...

编程新手必看:彻底理解!与~的取反操作

在编程和计算机科学的语境中,! 和 ~ 都是取反操作符,但它们的应用方式和效果存在显著的区别。下面将从定义、应用场景、作用原理及示例等方面对 ! 和 ~ 进行详细解析。 一、定义 !(逻辑非运算符) 在C语言、Java等多数编程语言中&…...

【LeetCode】54. 螺旋矩阵

螺旋矩阵 题目描述: 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5]示例 2:…...

计算机毕业设计 奖学金评定管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...

【JavaWeb项目】——外卖订餐系统之商家添加餐品、修改餐品、查询热卖餐品、查询出售车、进行发货操作

🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大二学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门专栏:🎇【MySQL&#xff0…...

制作抖音私信卡片 - 一键调起并跳转微信二维码

抖音私信图文卡片,点击可以直接一键添加微信 可生成无风险链接,使用苹果手机转发创建出卡片 抖音内点击可以直接调起微信跳入小程序展示微信二维码...

赋能未来园区:TSINGSEE视频AI智能管理平台如何引领园区管理智慧化转型

一、建设背景 随着经济的不断发展,园区产业集聚发展已成为趋势,园区逐渐成为产业聚集的重要载体。目前,国内现有的大部分园区的管理方式比较粗放、单一,范围局限于安全、环境等方面且不成体系,并且没有覆盖到应急、消…...

Linux逻辑卷管理LVM

系列文章目录 提示:仅用于个人学习,进行查漏补缺使用。 1.Linux介绍、目录结构、文件基本属性、Shell 2.Linux常用命令 3.Linux文件管理 4.Linux 命令安装(rpm、install) 5.Linux账号管理 6.Linux文件/目录权限管理 7.Linux磁盘管理/文件系统 提示&a…...

团队诊断工具TDS

希典梁开广老师引进的团队诊断问卷TDS(Team Diagnostic Survey)是基于卓越团队6个条件模型开发的,是用于诊断团队有效性的测评工具,其建构过程严格遵循心理测量学原理。可以帮助企业觉察团队优劣势,找到提升与发展机会,明确和强化…...

DC-5靶机渗透测试

DC-5靶场 文章目录 DC-5靶场信息收集漏洞发现漏洞利用 --- 日志文件包含漏洞利用 --- 文件包含过滤器链的RCEshell反弹权限提升 信息收集 使用--scriptvuln扫描发现了一个thankyou.php界面 感觉会有问题,前往访问网站信息 漏洞发现 来到thankyou.php界面&#xff…...

16、电科院FTU检测标准学习笔记-基本性能2

作者简介: 本人从事电力系统多年,岗位包含研发,测试,工程等,具有丰富的经验 在配电自动化验收测试以及电科院测试中,本人全程参与,积累了不少现场的经验 ———————————————————…...

MySQL——使用Python操作MySQL

文章目录 安装PyMySQL使用PyMySQL操作MySQL 在Python中操作MySQL数据库时,我们使用较多的库是 PyMySQL,如果你选择使用 PyMySQL库,那么首先需要通过pip安装它。pip install pymysql命令就是用来安装PyMySQL的。 安装PyMySQL 1.打开你的命令行工具&…...

Flink的DataStream状态管理

目录 键控数据流(Keyed DataStream) 键控状态(Keyed State) 值状态(ValueState) 列表状态(ListState) 归约状态(ReducingState) 聚合状态(AggregatingState) 映射状态(MapState) 状态生存时间(TTL) 算子状态(Operator State) 广播状态(Broadcast S…...

Daiqile SQL注入绕过

上源码。 <?php header("Content-type: text/html; charsetutf-8"); require db.inc.php;function dhtmlspecialchars($string) {if (is_array($string)) {foreach ($string as $key > $val) {$string[$key] dhtmlspecialchars($val);}}else {$string str_…...

用Python轻松移除PDF中的注释

PDF文档因其跨平台的兼容性和格式稳定性而备受青睐。然而&#xff0c;随着文档在不同用户间的流转&#xff0c;累积的注释可能会变得杂乱无章&#xff0c;甚至包含敏感或过时的信息&#xff0c;这不仅影响了文档的清晰度和专业性&#xff0c;还可能引发隐私风险。因此&#xff…...

51单片机—串口

一、 串口基本认知 串行接口简称串口&#xff0c;也称串行通信接口或串行通讯接口&#xff08;通常指COM接口&#xff09;&#xff0c;是采用串行通信方 式的扩展接口。串行接口&#xff08;Serial Interface&#xff09;是指数据一位一位地顺序传送。其特点是通信线路简 单&a…...

vue 通过 this.$refs 创建方法i向子组件传参让子组件更新

在Vue中&#xff0c;this.$refs主要用于访问子组件的实例或者DOM元素。通过this.$refs&#xff0c;你可以调用子组件的方法或者访问其数据属性&#xff0c;从而实现子组件的更新。以下是一些使用this.$refs向子组件传参并触发更新的常见方法&#xff1a; 1. 直接调用子组件的方…...

Java设计模式以及代理模式

一、设计模式 1.JAVA六大设计原则 JAVA设计模式提供六个基本原则&#xff0c;分别是&#xff1a; 开闭原则(OCP) - The Open-Closed Principle单一职责原则(SRP) - Single Responsibility Principle里氏替换原则(LSP) - Liskov Substitution Principle依赖倒置原则(DIP) - D…...

Elasticsearch 索引库管理:查询、修改与删除

Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎&#xff0c;它允许用户通过 RESTful API 进行数据的索引、搜索、更新和管理。在 Elasticsearch 中&#xff0c;索引库&#xff08;Index&#xff09;是存储数据的基本单元。本文将介绍如何查询、修改和删除 Elasticsea…...

视频大怎么压缩小?分享3种视频压缩方法

视频大怎么压缩小&#xff1f;视频文件过大时&#xff0c;压缩视频不仅能帮助我们节省宝贵的存储空间&#xff0c;使其更容易在有限容量的设备中保存&#xff0c;还能显著提升传输效率&#xff0c;特别是在网络条件有限或需要快速分享视频内容的场合。通过专业的压缩工具&#…...

springboot项目搭建集成 redis/跨域/远程请求

目录 一&#xff0c;创建maven项目 1&#xff0c;左上角file > new > maven project 2&#xff0c;next 到 创建 Group id 和 Artifact id​编辑​编辑 二&#xff0c;配置springboot 1&#xff0c;配置pom文件&#xff0c; 2&#xff0c;创建启动类 3&#xff…...