4. 物料主数据与批次主数据治理

谱系追溯能否成立,取决于主数据是否把“同一个东西”和“同一批东西”定义清楚。物料主数据回答“这是什么”,批次主数据回答“这是哪一批、从哪来、现在什么状态、还能不能用”。两者治理不到位,追溯链会在最基础的环节断裂:同一物料被建成多个编码,供应商批次与内部批次无法对应,有效期口径不一致,质量状态没有统一取值,最终导致召回范围无法收敛。

物料分类:先定追溯粒度,再定编码

物料分类不是简单的目录整理,而是决定追溯粒度的前置决策。建议按“是否影响产品质量、是否需要按批追溯、是否可互换”三个维度划分:

  • 关键追溯物料:原料、活性成分、直接接触产品的包材。必须启用批次管理,强制记录供应商批次、有效期、质量状态。
  • 一般批次物料:辅料、内包材。启用批次管理,但供应商批次映射可简化。
  • 非批次物料:设备备件、办公耗材。不启用批次,但需保留领用记录。

分类结果直接写入物料主数据的“追溯策略”字段,例如 TRACE_LEVEL = FULL / BATCH / NONE。同一物料在不同工厂若追溯要求不同,应通过工厂级视图覆盖,而不是新建物料编码。物料编码建议采用“分类码+顺序码”结构,避免把供应商、批次信息编进物料号——供应商和批次是批次主数据的职责,混入物料号会导致一物多码。

批次属性:批次主数据的最小字段集

批次主数据至少应包含以下属性,缺一不可:

属性说明示例
内部批次号企业内部唯一,由系统按规则生成B20250612-001
物料编码关联物料主数据RM-00123
供应商批次号供应商出厂批次,用于反向追溯LOT-2025-0608A
生产日期供应商或内部生产日期2025-06-08
有效期至按物料保质期规则计算2026-06-07
质量状态待检/合格/不合格/冻结/退货合格
来源类型采购/生产/退货/调拨采购

其中“内部批次号”与“供应商批次号”的映射是本节最关键的治理点。一个供应商批次可能分多次到货,对应多个内部批次;一个内部批次也可能由多个供应商批次混合投料。因此映射关系必须是多对多,且每次收货都要在批次主数据中登记映射记录,而不是只写在收货单备注里。

有效期与质量状态:动态字段的治理规则

有效期不是静态属性。同一批次在存储条件变化、复验、分装后,有效期可能调整。治理规则应明确:

  • 有效期默认按“生产日期+保质期”计算,保质期来自物料主数据。
  • 复验期与有效期分开管理:复验期到期触发质量复验,有效期到期触发禁用。
  • 质量状态变更必须留痕,记录变更人、时间、原因、依据的检验单号。
  • 状态为“待检”的批次不得被生产领用;“冻结”批次不得出库,但可查询。
常见错误:把质量状态直接写在批次号里(如“B20250612-001-合格”)。一旦状态变更,批次号就失效,历史记录无法关联。正确做法是批次号保持稳定,状态作为独立字段维护。

供应商批次与内部批次映射:追溯链的接缝

映射关系建议单独建表,而不是塞进批次主表。表结构可设计为:

batch_mapping (
  internal_batch_no   VARCHAR(32),   -- 内部批次号
  supplier_batch_no   VARCHAR(64),   -- 供应商批次号
  supplier_code       VARCHAR(16),   -- 供应商编码
  material_code       VARCHAR(32),   -- 物料编码
  receive_qty         DECIMAL(18,4), -- 本次收货数量
  receive_date        DATE,          -- 收货日期
  mapping_type        VARCHAR(16)    -- 一对一/一对多/多对一
)

当发生质量异常需要反向追溯时,查询路径为:内部批次号 → batch_mapping → 供应商批次号 → 供应商发货记录 → 同批次其他收货方。若映射缺失,追溯只能停在内部批次,无法定位供应商责任批次。

物料主数据与批次主数据治理关系图 物料主数据 物料编码 RM-00123 物料分类:关键追溯物料 追溯策略:FULL 保质期:12个月 默认质量状态:待检 批次主数据 内部批次号 B20250612-001 生产日期 2025-06-08 有效期至 2026-06-07 质量状态:合格 来源类型:采购 批次映射表 内部批次 ↔ 供应商批次 供应商编码 收货数量 / 日期 映射类型:多对多 1:N N:M 供应商批次 LOT-2025-0608A 供应商:S-0087 质量状态流转与有效期控制 待检 合格 不合格 冻结 检验合格 检验不合格 质量异常 有效期到期 → 自动禁用;复验期到期 → 触发复验

治理落地的三个检查点

第一,收货环节:收货时必须同时录入供应商批次号和系统生成的内部批次号,映射表同步写入。若供应商批次缺失,应拒绝收货或标记为“待补录”,不得跳过。

第二,状态变更环节:质量状态只能通过检验单或质量事件驱动变更,禁止手工直接改状态。每次变更写入审计日志,保留原状态、新状态、操作人、时间、依据单号。

第三,有效期巡检:每日定时任务扫描批次主数据,对“距有效期不足30天”的批次发出预警,对“已过有效期”的批次自动置为“冻结”并禁止出库。预警阈值可按物料分类差异化配置,例如关键追溯物料提前60天预警。

治理效果的自检方法:随机抽取一个成品批次,沿“成品批次→生产工单→投料内部批次→批次映射表→供应商批次”正向走一遍,再反向走一遍。若两次都能在3步内到达供应商批次,说明映射治理合格;若中途出现断点,优先检查收货环节是否漏录供应商批次。

物料主数据与批次主数据的治理不是一次性建库,而是持续校验的过程。分类决定追溯粒度,批次属性决定追溯精度,有效期和质量状态决定追溯的时效与可用性,供应商批次与内部批次映射决定追溯链能否闭合。四者缺一,谱系追溯就只是内部台账,无法延伸到供应链上游。