2. 采购数据基础:采购订单数据结构、供应商主数据、物料主数据

采购支出看板与越权采购异常检测的根基在于底层数据的质量与结构。若数据基础不牢,任何高级分析都将成为空中楼阁。本章将深入剖析构成采购数据核心的三大支柱:采购订单(PO)、供应商主数据与物料主数据,并阐明它们之间的关联关系。

2.1 采购订单(PO)数据结构

采购订单是企业向供应商发出的具有法律效力的采购要约。在数据层面,PO 是一个多层级、多表关联的复杂结构,通常分为抬头与行项目两个核心层级。

关键概念: 抬头层记录全局信息(供应商、采购组织、总金额),行项目层记录具体物料、数量、单价与交货计划。越权采购检测通常聚焦于行项目层的“物料-价格-数量”异常组合。

2.1.1 PO 抬头(Header)关键字段

字段名称数据类型说明越权检测价值
采购订单编号VARCHAR(20)全局唯一标识关联审计日志的入口
采购组织VARCHAR(10)负责采购的法人实体跨组织下单是典型越权行为
供应商编号VARCHAR(15)关联供应商主数据识别黑名单或高风险供应商
采购组VARCHAR(10)负责采购员所属组检测跨组代下单
采购员VARCHAR(20)实际创建人与用户权限表交叉验证
凭证日期DATE订单创建日期检测非工作时间/节假日下单
货币码VARCHAR(5)如 CNY、USD汇率操纵检测
总净额DECIMAL(18,2)所有行项目净额之和超预算阈值预警

2.1.2 PO 行项目(Item)关键字段

字段名称数据类型说明越权检测价值
行项目号INT行唯一标识(如 00010)检测行项目被篡改
物料编号VARCHAR(20)关联物料主数据检测非授权物料采购
采购数量DECIMAL(15,3)订单数量超量采购预警
订单单位VARCHAR(5)如 PC、KG单位操纵检测
净价DECIMAL(15,4)不含税单价价格偏离度分析
交货日期DATE承诺交货日期紧急采购异常检测
工厂/库存地点VARCHAR(10)收货工厂跨工厂收货越权
科目分配类别VARCHAR(5)如 K(成本中心)费用归属异常
数据建模提示: 在构建看板数据模型时,建议将 PO 抬头与行项目分别建模,通过 PO 编号建立 1:N 关系。行项目表应包含抬头的关键维度(如采购组织、采购员),以避免频繁跨表关联查询。

2.2 供应商主数据

供应商主数据是采购业务的“交易对手”档案。其质量直接影响采购风险识别能力。一个完整的供应商主数据通常包含通用数据、公司代码数据与采购组织数据三个视图。

2.2.1 供应商主数据核心字段

分类字段名称说明越权检测价值
通用数据供应商编号全局唯一标识主键
名称/地址法定名称与注册地址识别关联方交易
税号统一社会信用代码校验供应商合法性
公司代码数据统驭科目应付账款科目检测科目操纵
付款条件如 30 天净额异常付款周期预警
自动付款标志是否允许自动付款检测绕过审批的付款
采购组织数据采购订单货币默认交易货币检测货币不一致
最小订单值低于此值不下单检测拆分订单规避审批
合作伙伴功能如 BP(收票方)检测三方交易异常
常见数据陷阱: 许多企业仅维护供应商的通用数据,而忽略了公司代码与采购组织视图的差异化维护。这会导致跨公司下单时,付款条件与统驭科目继承错误,进而产生越权付款风险。

2.3 物料主数据

物料主数据定义了企业采购、生产、库存管理的“对象”。在采购场景中,重点关注采购视图与会计视图。

2.3.1 物料主数据采购相关字段

视图字段名称说明越权检测价值
采购视图物料组物料分类(如 MRO、原材料)检测跨组采购
采购组负责采购的默认组检测采购组与物料不匹配
订单单位采购时的计量单位检测单位转换异常
源清单允许采购的供应商列表检测非源清单供应商下单
会计视图标准价格物料的标准成本价格偏离度基准
评估类物料在财务上的分类检测费用化与资本化混淆
价格控制S(标准价)/V(移动平均价)检测价格控制方式被篡改

2.4 三大数据结构的关联关系

采购订单、供应商主数据与物料主数据并非孤立存在,而是通过外键形成紧密的星型或雪花型数据模型。理解其关联是构建异常检测规则的前提。

采购核心数据关联模型 采购核心数据关联模型(星型架构) 采购订单行项目 (事实表) 供应商主数据 (维度表) 物料主数据 (维度表) 采购订单抬头 (维度表) 工厂/库存地点 (维度表) 1:N N:1 N:1 N:1 异常检测关键关联 • 供应商-物料组合是否在源清单中 • 采购组是否匹配物料默认采购组 • 工厂是否在供应商供货范围内

2.5 数据质量对越权检测的影响

低质量的主数据会直接导致异常检测规则失效。以下是常见的数据质量问题及其对越权检测的影响:

  • 供应商主数据重复: 同一供应商存在多个编号,导致黑名单供应商通过不同编号继续交易,越权检测无法关联。
  • 物料组维护错误: 将 IT 设备误归入办公用品组,导致针对高价值物料的审批规则被绕过。
  • 源清单缺失: 物料未维护源清单,系统无法校验供应商是否被授权供应此物料,越权采购无法被系统拦截。
  • 采购组与物料不匹配: 物料主数据中采购组字段为空,系统默认允许任何采购组下单,失去组织级控制。
最佳实践: 在构建采购支出看板之前,建议先执行一次主数据健康度审计。重点关注供应商重复率、物料组完整率、源清单覆盖率三个指标。通常要求源清单覆盖率 > 95% 才能有效支撑越权采购检测。

2.6 数据模型设计建议

基于上述分析,推荐采用星型模型设计采购数据仓库。以采购订单行项目表作为事实表,供应商、物料、采购组织、工厂等作为维度表。以下是一个简化的 DDL 示例:

-- 事实表:采购订单行项目
CREATE TABLE fact_po_item (
    po_number      VARCHAR(20) NOT NULL,
    item_number    INT NOT NULL,
    supplier_key   INT NOT NULL,      -- 关联 dim_supplier
    material_key   INT NOT NULL,      -- 关联 dim_material
    plant_key      INT NOT NULL,      -- 关联 dim_plant
    purchaser      VARCHAR(20),
    quantity       DECIMAL(15,3),
    net_price      DECIMAL(15,4),
    delivery_date  DATE,
    created_at     TIMESTAMP,
    PRIMARY KEY (po_number, item_number)
);

-- 维度表:供应商
CREATE TABLE dim_supplier (
    supplier_key    INT PRIMARY KEY,
    supplier_id     VARCHAR(15) UNIQUE,
    supplier_name   VARCHAR(100),
    tax_id          VARCHAR(20),
    payment_terms   VARCHAR(10),
    is_blacklisted  BOOLEAN DEFAULT FALSE
);

-- 维度表:物料
CREATE TABLE dim_material (
    material_key    INT PRIMARY KEY,
    material_id     VARCHAR(20) UNIQUE,
    material_group  VARCHAR(10),
    standard_price  DECIMAL(15,4),
    source_list_flag BOOLEAN DEFAULT FALSE
);
性能优化建议: 对于超大规模数据(如年交易量超过 1000 万行),建议在事实表上按采购组织或日期进行分区,并在 supplier_key、material_key 上建立位图索引,以加速越权检测的关联查询。