3. 核心概念解析
在SRM报价数据与ERP历史采购价的比对流程中,ERP历史采购价是衡量供应商报价是否合理、是否存在价格异常的核心基准。本节将系统定义ERP历史采购价的概念,并拆解其关键字段构成,为后续的比对规则设计奠定数据基础。
3.1 ERP历史采购价的定义
ERP历史采购价是指企业资源计划(ERP)系统中,针对某一物料(原材料、零部件或成品),在历史采购订单(PO)中实际记录并结算的含税或未税单价。它反映了企业过去与供应商达成的真实交易价格,是采购成本分析、预算控制及供应商谈判的重要参考依据。
关键特征:
- 事实性:基于已审批、已收货、已结算的采购订单生成,非预估或计划价格。
- 时效性:价格随采购日期、市场行情、供应商协议变化而动态更新。
- 可追溯性:每一条历史价格记录均可关联到具体的采购订单、供应商及物料批次。
3.2 核心字段构成与数据字典
ERP历史采购价并非单一字段,而是由一组结构化字段共同描述的价格记录。下表列出了比对流程中必须关注的7个核心字段及其业务含义:
| 字段名称 | 数据类型 | 业务含义 | 比对流程中的用途 |
|---|---|---|---|
| 物料号 | VARCHAR(20) | ERP中唯一标识物料的编码(如:M-10086) | 作为比对主键,关联SRM报价中的物料 |
| 供应商 | VARCHAR(50) | 供应商编码或名称(如:VENDOR-001) | 限定同一物料下不同供应商的价格差异 |
| 采购订单号 | VARCHAR(30) | ERP中生成的采购订单编号(如:PO-2024-00123) | 追溯价格来源,确保数据可审计 |
| 采购日期 | DATE | 采购订单的创建或审批日期 | 用于时间窗口过滤(如:取最近6个月价格) |
| 单价 | DECIMAL(18,4) | 物料在采购订单中的单位价格(含税/未税) | 比对的核心数值,计算价差百分比 |
| 数量 | DECIMAL(18,2) | 采购订单中该物料的订购数量 | 用于加权平均价格计算,排除小批量异常价 |
| 货币单位 | VARCHAR(3) | 价格使用的货币代码(如:CNY、USD) | 确保比对时货币一致,避免汇率误差 |
数据治理提示:在实际ERP系统中,历史采购价还可能包含“价格单位”(如:每千克、每百件)、“交货条款”、“付款条件”等辅助字段。在比对流程中,建议优先确保上述7个字段的完整性与准确性,它们是数据质量检查的第一道关卡。
3.3 字段间的逻辑关系与数据模型
上述字段并非孤立存在,它们共同构成了一条完整的历史采购价格记录。下图展示了核心字段之间的实体关系与数据流向:
3.4 字段质量要求与常见问题
在数据治理实践中,上述字段常出现以下质量问题,直接影响比对结果的可靠性:
- 物料号不一致:ERP与SRM系统中同一物料的编码规则不同(如:ERP使用数字编码,SRM使用字母+数字),导致关联失败。
- 供应商信息缺失:历史采购订单中供应商字段为空或使用“临时供应商”编码,无法与SRM报价中的供应商匹配。
- 单价单位不统一:部分订单以“每百件”计价,部分以“每件”计价,直接比对数值会产生误导。
- 日期格式混乱:不同ERP模块或历史数据迁移导致日期格式不一致(如:YYYY-MM-DD vs. DD/MM/YYYY)。
数据治理避坑:在启动比对流程前,必须对ERP历史采购价数据进行字段级质量检查。建议优先检查物料号、供应商、单价三个字段的非空率与格式一致性。如果这三个字段的完整率低于95%,比对结果将不具备统计意义,需要先进行数据清洗。
3.5 字段在比对流程中的实际应用
理解字段构成后,我们用一个简化的示例说明这些字段如何参与比对:
-- 示例:提取最近6个月某物料的历史采购价(加权平均)
SELECT
material_no,
supplier_code,
AVG(unit_price * quantity) / SUM(quantity) AS weighted_avg_price
FROM erp_purchase_history
WHERE material_no = 'M-10086'
AND purchase_date >= DATEADD(MONTH, -6, GETDATE())
AND currency = 'CNY'
GROUP BY material_no, supplier_code;
上述SQL展示了如何利用物料号、供应商、采购日期、单价、数量和货币单位六个字段,计算出可用于与SRM报价比对的基准价格。字段的完整性与准确性直接决定了该基准价格的可信度。