
简介上海通用汽车供应商质量要求规定2008年第二版是一份面向汽车供应链质量管理人员的规范性文件系统阐述了SGM对供应商在质量声明、APQP、FE/MC、PPAP、受控发运及GP9等环节的明确要求为供应商质量工程师、审核员及零部件厂商提供统一的管理框架。压缩包内共1个PDF文件容量1.26MB内容共46页包含中英双语修订记录及完整条款便于按章节查阅。目前已有177人学习下载适合正在准备SGM/GM审核或建立供应商质量体系的团队参考。文档以2004至2008年主要修订记录为线索清晰呈现了从QS9000过渡到ISO/TS16949、增加海外设计国内生产供应商附加要求、细化集成供货供应商职责等关键变化同时包含PPAP临时批准分类调整、一级/二级受控发运程序、QSB相关要求及2008版新增的章节编号和翻译修订读者可直接对照自身流程查漏补缺理解SGM最新期望降低审核不符合项风险。1. SGM供应商质量要求一份厂内文件为什么值得IT和SQE一起读拿到一份08年第二版的SGM供应商质量要求PDF很多人的第一反应是“这都老掉牙了还能有什么用”。实际上这份文件里定义的框架——从潜在供应商评审、PPAP批准、GP系列流程到批量供货后的绩效监控——至今仍是国内主流整车厂供应商质量管理体系的骨架。上汽通用SGM当年把通用的全球要求本地化形成了这份可以落地的执行细则后来不少自主品牌的质量条款都参考过它的逻辑。这篇博文不打算逐字复述文件条款而是站在两类人的角度去拆一类是SQE供应商质量工程师需要把纸面要求变成日常审核和改善动作另一类是IT或数字化转型岗位需要把“质量要求”翻译成系统里的主数据、流程节点和报警规则。前者可以把你手头的版本当作业务事实标准来核对后者则能从中提炼出一套可配置的QMS质量管理信息系统业务蓝图。下面先讲清楚文件的核心结构再给出能直接抄的落地方法和参数配置。哪怕是08年的文件只要骨架没变实施路径就依然可靠。2. 文件核心拆解SGM供应商质量要求的五层骨架2.1 准入层从潜在供应商评审到PPAP批准的门槛逻辑这份文件对“供应商”的定义不是签了合同就算数而是必须通过SGM的潜在供应商评审PSAPotential Supplier Assessment并拿到PPAP生产件批准程序批准。第二版相比第一版明显加强了“初始过程能力”的权重尤其是对关键和重要特性要求Cpk≥1.33成为批量供货的前置条件。文件里这部分最值得IT关注的是它定义了清晰的阶段门Stage Gate第一阶段潜在供应商评审考察质量体系通常依据IATF 16949但在2008年时是TS 16949、财务健康度、技术能力第二阶段供应商提交PPAP全套文件通常18项以上要素含PFMEA、控制计划、MSA、全尺寸报告、材料报告等第三阶段SGM SQE进行现场过程审核通常按VDA 6.3或AIAG CQI系列专项审核确认批量条件。从系统角度讲这个准入层对应的就是“供应商状态机”。常见做法是用一张供应商主数据表保存状态字段由未评审、评审中、待批准、 approved 、暂停、取消六个状态构成生命周期。状态之间不是任意跳转而是有强制的前置文件作为“门”。比如说提交PSW零件提交保证书之前控制计划必须是批准状态Cpk不达标系统就要禁止PPAP提交。这种硬校验就是从文件条款里提炼出来的业务规则。2.2 批量供货层GP-9、GP-8和年度试验的触发条件量产之后文件规定了三类持续要求这里直接关系到SQE的日常节奏也是很多QMS系统做业务流时候容易漏掉的部分。第一类是GP-9全球采购质量协议里的“变更通知”条款。供应商一旦发生以下变更工艺路线调整、模具转移、二级供应商更换、生产地点搬迁必须在实施前至少提前提交变更申请得到SGM书面批准后才能切换。文件对这个时间窗口有明确约定通常是30天以上但具体以当时签署的协议为准。第二类是GP-8问题解决与报告。一旦出现SGM现场投诉、PPM超标或质量逃逸供应商必须按GP-8要求在规定时限内提交8D报告并且有明确的时间节点要求24小时内提交遏制报告5个工作日提交根本原因分析14个工作日提交完整的8D最终报告。这个时间窗口在系统里就应该做成自动升级的SLA服务等级协议。第三类是年度试验和全尺寸检验。文件要求供应商按既定的年度计划对每一种零件执行全尺寸检验和性能试验即便没有任何质量问题也不能跳过。SQE在年初就要确认年度试验计划并录入系统检验完成后上传报告系统再根据到期日自动触发提醒。2.3 指标层PPM、CSL、DUNS这些数字怎么定义和统计SGM文件里对供应商质量表现的量化考核主要有几个硬指标。先把口径弄清楚再谈统计逻辑否则数据库里取数会得出完全不同的结论。指标定义计算口径数据来源PPM每百万件零件中的不良数不合格零件数 ÷ 交付零件总数 × 10^6SGM进货检验记录、产线PPM投诉CSL受控发运等级供应商质量风险等级由PPM趋势、8D响应时效、审核结论综合评定SQE综合评分DUNS邓白氏编号全球唯一供应商标识按法人主体分配不因工厂变化而变申请获得GP-8按时关闭率8D报告在14个工作日内关闭的比例按时关闭数 ÷ 应当关闭总数QMS工单系统注意PPM的口径文件里通常区分“到货检验PPM”和“产线PPM”。前者是SGM IQC抽检或全检发现的不合格后者是供应商零件在SGM总装或冲压等产线上被挑出的不良。两者的业务含义完全不同到货检验PPM偏高说明出厂检验有效性差产线PPM偏高说明过程能力不足或防错缺失。如果只用一个PPM数值分析方向就会出错。这里给一个IT实施层面的建议不要只存最终PPM值至少要存“不良零件数”和“交付总零件数”两个底表字段。因为PPM是比率指标要看趋势就要能按时间段重算只存结果值就没法支持任意日期区间的分析。3. 将文件要求转成系统逻辑数据模型、状态机和校验规则3.1 从条款到字段把自然语言转换成系统配置要把一份08年的PDF变成可执行的系统逻辑第一步不是写代码而是逐条梳理条款归类成“主数据字段”“流程节点”“校验规则”“预警阈值”四类。常见做法是建一张配置清单格式类似这样条款主题条款要求系统实现方式触发时机供应商代码必须使用DUNS号码作为主键主数据唯一索引新增供应商时PPAP批准关键特性Cpk≥1.33才能提交PSW提交按钮禁用提交时校验变更管理变更需提前30天申请变更单流程提交后启动计时年度试验全尺寸检验不能超期年度计划自动生成任务每年1月1日遏制要求24小时内提交遏制报告工单升级规则8D创建后计时把文件条款做成了表格就等于把散落的段落变成了结构化需求接下来写SQL建表和维护页面的时候就不会出现“不知道字段建多少个”的情况。3.2 供应商绩效自动评分的SQL实现假设你已经在系统里存储了供应商每月的交付数、不合格数和8D状态那么年度绩效评分就可以用一个视图来算。这里给出一个MySQL下可以直接改用的示例SELECT s.duns_id, s.supplier_name, IFNULL(SUM(CASE WHEN q.incoming_inspected FAIL THEN 1 ELSE 0 END), 0) AS fail_parts, IFNULL(SUM(q.delivered_qty), 0) AS total_delivered, IFNULL( ROUND(SUM(CASE WHEN q.incoming_inspected FAIL THEN 1 ELSE 0 END) * 1000000.0 / NULLIF(SUM(q.delivered_qty), 0), 2), 0 ) AS ppm_calc, COUNT(DISTINCT CASE WHEN g8.due_date CURDATE() AND g8.status NOT IN (CLOSED) THEN g8.eightd_id END) AS overdue_8d, CASE WHEN SUM(q.delivered_qty) 0 THEN 0 ELSE ROUND( SUM(CASE WHEN q.incoming_inspected FAIL THEN 1 ELSE 0 END) * 1000000.0 / NULLIF(SUM(q.delivered_qty), 0), 2 ) END 500 AND COUNT(DISTINCT CASE WHEN g8.due_date CURDATE() AND g8.status NOT IN (CLOSED) THEN g8.eightd_id END) 0 THEN B ELSE C END AS performance_grade FROM supplier_master s LEFT JOIN quality_inspection q ON s.duns_id q.duns_id AND q.inspection_month BETWEEN DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 12 MONTH), %Y-%m-01) AND DATE_FORMAT(CURDATE(), %Y-%m-01) LEFT JOIN eightd_report g8 ON s.duns_id g8.duns_id GROUP BY s.duns_id, s.supplier_name这里的逻辑说明先按供应商分组统计过去12个月的到货检验不合格件数和总交付量两个数相除再放大一百万倍得到PPM值。同时统计超期未关闭的8D工单数量。最后用CASE做一个分级PPM小于500且没有超期8D的评为B级否则是C级。A级通常还要结合现场审核分数这个例子里没有纳入所以只区分了B和C。参数方面要注意PPM的统计周期是滚动12个月年初的阈值可以适当放宽例如调整到800年末再收紧。3.3 哪些规则做成硬校验哪些做成提示文件里的条款不是每条都要硬卡流程。做系统时如果全部做成强校验供应商审核员会被搞疯。自己的经验是分成三档第一档强制拦截类。包括供应商资质不在有效期内禁止新增订单、关键特性Cpk不达标禁止提交PSW、未批准变更不允许切换供应商。这类做硬校验页面直接阻止操作并给出原因。第二档限时督办类。包括GP-8的24小时遏制报告、年度试验超期等。这类的特征是“可以有条件延期”但必须有书面批准。系统默认开门提醒超时未关闭自动升级给SQE主管。第三档趋势预警类。包括PPM连续三个月上升、同一失效模式重复出现两次以上等。这类不做流程阻断而是生成风险日志由SQE判断是否需要启动CSL专项审核。这个分层思路无论在SAP QM、QMS还是自研系统里都适用差异只是实现路径。4. 实战用一张供应商质量看板管理量产零件的健康度4.1 面板设计的原则有了系统数据和逻辑下一步就是把数据呈现在看板。SGM要求的供应商质量管理核心是“不让问题带到下一天”所以在设计看板时我个人习惯遵循三个原则第一第一屏只放“今天必须处理的”例如超期8D、待审批变更、今日到期的遏制计划第二趋势数据只放近13个月用于同比环比第三任何指标超过阈值要有明显变色和点击下钻功能不允许在总览页只看到汇总、看不到明细。4.2 计算连续三个月PPM上升趋势的Python脚本对于一个自研看板如果不想每次在SQL里写窗口函数也可以通过Python脚本定时算好趋势结果再回填到报表库。这里给一个简单的示例import pandas as pd import numpy as np def calc_ppm_trend(df: pd.DataFrame) - pd.DataFrame: 计算每家供应商过去6个月的PPM以及是否连续3个月上升 df需要包含: supplier_code, month, delivered_qty, defective_qty df df.sort_values([supplier_code, month]).copy() df[ppm] (df[defective_qty] / df[delivered_qty].replace(0, np.nan)) * 1_000_000 df[ppm_trend_up] ( df.groupby(supplier_code)[ppm] .transform(lambda x: (x x.shift(1)) (x.shift(1) x.shift(2))) ) return df # 使用示例 # 从数据库查询最近6个月的收货质量数据后调用 calc_ppm_trend这段脚本的关键说明首先会将原始数据按供应商和月份排序然后计算PPM。核心是ppm_trend_up这列用的是shift错位比对法如果本月PPM大于上月且上月大于上上个月就标记为“连续上升”。看板上就可以把这个字段做成红色小箭头。参数可根据供应商风险等级调整周期比如对电池类关键安全件可以缩短为连续2个月上升即报警。4.3 看板上的阈值推荐以下是一套经过现场使用磨合过的默认阈值写在这里仅供参考具体需要结合产品的安全等级做调整指标绿色黄色预警红色报警月度PPM≤100100~5005008D超期数01~2≥3年度试验到期≥60天30~60天30天CSL等级A/BCD需要注意这里的PPM阈值是按一般内饰件或结构件来定的如果零件是发动机内部件、转向或制动系统阈值普遍要缩到原来的三分之一甚至更低。原因在于失效后果的严重度不同SGM GP-11里对安全特性SC的管控要比普通特性严得多。实际配置时建议按“零件安全等级”分表维护阈值不要做全厂统一值。5. GP-12早期生产遏制从文件条款到可操作的每日流程GP-12是SGM供应商质量要求里很有特色的一个章节。在零件全新投产或变更后供应商必须执行一段时间的加强检验通常称为“早期生产遏制”。很多SQE在实战中反馈最容易出问题的不是检验本身而是“什么时候开始、什么时候结束”的判定以及过程记录是否经得起追溯。常见做法是将GP-12定义为一个有时间范围且带明确退出条件的项目任务。开始条件通常是SGM下发了GP-12启动通知或者是PPAP批准后首批量产件发货时。退出条件则是同时满足三个指标连续一定批次的PPM为零通常是15个生产批次、过程能力达到Cpk≥1.67、无安全特性相关投诉。文件里给出的时间/数量范围一般不会少于一定的班次数这里不照搬具体数因为版本差异较大。在IT系统里实现时要设计一个GP-12遏制任务表包含起始日期、计划结束日期、当前状态、检验样本量、每日不合格数和退出评审结论。当每日不良数不为零时退出倒计时就要重置而不是简单按日期判断。这个逻辑和SPC统计过程控制里“连续合格批次”的口径类似在GP-12的数字化实现里业界常用的做法是采用“滚动后移窗口”——从当前日期往前数N批必须全部合格才能判定满足退出条件。假设系统通过API接入了ERP的生产批次报工数据和MES的检验记录后端就可以用下面的规则代码片段来判定退出条件是否满足// 判定GP-12是否满足退出条件 function canExitGP12(batches, requiredCleanBatches 15, maxAllowedPpm 0) { const recent batches.slice(-requiredCleanBatches); const isClean recent.every(batch batch.ppm maxAllowedPpm); const noSafetyIssue recent.every(batch batch.safetyRelated false); return isClean noSafetyIssue; }这段 JavaScript 所做的事情是取出最近15个批次的记录逐批确认PPM为0且无安全相关问题全部满足则允许GP-12退出。参数requiredCleanBatches保守一点可以设置为20激进一点可以设为10视供应商以往的质量稳定度而定。最后提一个容易忽略的点GP-12退出的“审批链”也要在系统里固化。不能代码判断满足条件就直接自动关闭至少要让SQE基于这份判定结果做一次书面确认签字时间要留痕。这样既照顾了效率也保留了人工判断的余地和文件本身的逻辑不冲突。本文还有配套的精品资源点击获取