3. 批次与物料标识体系

在配方数据与批次生产追溯工程中,批次与物料标识体系是整条追溯链的“骨架”。配方告诉你“应该怎么做”,而批次与标识体系回答的是“这一批到底是谁、由什么变成、又变成了什么”。如果标识规则混乱,即使配方版本、工艺参数、检验记录都完整,追溯时也无法把原料、半成品、成品准确串成一条链。本节围绕批次号、序列号、物料唯一标识(GS1、EPCIS)的编码规则,以及原料批、半成品批、成品批的层级关系和谱系树展开。

一、三类标识的分工

追溯体系中常见的标识有三类,它们解决的问题不同,不能互相替代。

  • 物料唯一标识:回答“这是什么物料”。通常由物料编码或 GTIN(全球贸易项目代码)承担,是相对稳定的主数据,不随生产批次变化。
  • 批次号:回答“这是哪一批”。同一物料在不同时间、不同产线生产,会得到不同批次号,是追溯的最小管理单元。
  • 序列号:回答“这是哪一件”。当需要精确到单件(如高价值成品、需召回定位的单包装)时,在批次之下再细分序列号。

三者的关系可以概括为:物料标识定“种类”,批次号定“群体”,序列号定“个体”。追溯粒度越细,标识层级越多,数据量也越大,因此应按法规要求和风险等级选择粒度,而不是一律做到单件级。

二、批次号的编码规则

批次号没有全球统一格式,但工程上应遵循“可读、可解析、可唯一、可扩展”四个原则。一个实用的批次号结构通常由若干字段拼接而成,例如:

批次号 = 工厂码 + 产线码 + 物料码 + 生产日期 + 班次 + 流水号
示例:SH01-L2-RM0087-20240612-B-0031
含义:上海一厂 / 2号线 / 原料0087 / 2024-06-12 / 夜班 / 当日第31批

这种“分段定长”编码的好处是:人可以直接读出关键信息,系统也能用固定位置或分隔符解析出工厂、日期、班次等字段,便于按维度统计和快速筛选。需要注意两点:一是流水号位数要预留余量,避免产量增长后溢出;二是日期建议用 YYYYMMDD 而非 YYMMDD,避免跨世纪歧义。

批次号一旦生成并打印到标签、写入系统,就不应再修改。若发现编码错误,正确做法是作废该批次并重新生成,而不是覆盖原号,否则会破坏追溯链的完整性。

三、GS1 与 EPCIS:让标识可被机器交换

企业内部自编批次号可以满足内部追溯,但一旦涉及供应链上下游、监管上报或跨企业召回,就需要标准化的标识与事件数据。GS1 体系提供了这套“通用语言”。

GS1 的核心是应用标识符(AI)。常用的有:

AI含义示例
01GTIN,贸易项目代码06901234567892
10批次号20240612B0031
21序列号SN0000123456
17有效期250630

把这些 AI 按规则拼成字符串,再编码为 GS1-128 条码或 GS1 DataMatrix,就能让扫码设备一次性读出物料、批次、有效期、序列号。例如 (01)06901234567892(10)20240612B0031(17)250630 表示某 GTIN 下、批次为 20240612B0031、有效期至 2025-06-30 的一件产品。

EPCIS(EPC Information Services)则进一步定义了“事件”的交换格式。它不描述静态的物料,而描述动态发生的事:ObjectEvent(对象发生了什么)、AggregationEvent(装箱、托盘打包)、TransformationEvent(投入与产出,即配方加工的核心)、TransactionEvent(与订单、发货关联)。其中 TransformationEvent 对配方追溯最关键,它记录“输入了哪些批次、输出了哪些批次”,正是谱系树的数据来源。

四、批次层级与谱系树

生产过程中,物料会经历“原料批 → 半成品批 → 成品批”的转化。每一层都是独立的批次对象,层与层之间通过投入产出关系连接,形成有向的谱系树(也叫追溯树、Genealogy Tree)。

构建谱系树的关键是记录每一次“转化事件”的输入与输出。以一批口服固体制剂为例:

  • 原料批:API 批 API-2405-011、辅料批 EXC-2406-007、包材批 PKG-2406-102;
  • 半成品批:制粒后颗粒批 GRAN-240612-003,由上述原料按配方投入;
  • 成品批:压片、包衣、包装后成品批 FP-240613-021,由颗粒批产出,并消耗包材批。

把这些关系画出来,就是一棵从原料向上汇聚到成品的谱系树。正向追溯(从原料查成品)用于评估问题原料影响了哪些成品;反向追溯(从成品查原料)用于在客户投诉或召回时快速定位问题来源。两者都依赖同一棵树,只是遍历方向不同。

批次谱系树:原料批 → 半成品批 → 成品批 原料批 API-2405-011 原料药 EXC-2406-007 辅料 PKG-2406-102 包材 半成品批 GRAN-240612-003 制粒颗粒批 成品批 FP-240613-021 成品批 TransformationEvent 输入:API + EXC + PKG 输出:GRAN → FP 正向追溯:原料 → 成品(评估影响范围) 反向追溯:成品 → 原料(定位问题来源)

五、设计批次层级时的工程要点

第一,批次粒度要与工艺节点对齐。混合、制粒、压片、包衣、包装等关键工序都会改变物料形态,通常在这些节点生成新批次。若两个工序之间没有形态或配方变化,可以沿用同一批次号,避免批次爆炸。

第二,拆分与合并要留痕。一批颗粒分到两台压片机生产,会产出两个成品批;多批颗粒合并包衣,会形成多对一关系。谱系树必须支持一对多和多对一,不能假设简单的线性链。

第三,标识要能落到物理载体上。批次号最终要出现在标签、随工单、托盘码上。建议在批次生成时同步生成 GS1-128 或 DataMatrix 标签,扫码即得 GTIN、批次、有效期,减少人工录入错误。

第四,时间戳与操作人要绑定到事件。EPCIS 事件中的 eventTime、readPoint、bizLocation 是判断批次先后和归属的依据。缺少这些字段,谱系树只能表达“有关系”,无法表达“何时、何地、由谁完成”。

常见错误:用物料编码代替批次号做追溯键。物料编码只区分种类,同一物料的多批会被混为一条记录,一旦发生质量问题,无法界定受影响范围,也无法执行精准召回。

六、一个可落地的批次主数据字段示例

无论用 ERP、MES 还是自建追溯系统,批次主数据至少应包含以下字段,才能支撑谱系树构建:

字段说明示例
batch_id批次唯一键GRAN-240612-003
material_code物料编码RM0087
gtinGS1 贸易项目代码06901234567892
batch_level层级原料 / 半成品 / 成品
parent_batch上游批次(可多个)API-2405-011
event_time生成时间2024-06-12T22:15:00+08:00
location发生位置SH01-L2-制粒间

有了这些字段,正向和反向追溯都只是对同一张关系表的遍历查询。批次与标识体系的价值,正在于把复杂的生产现实压缩成可查询、可交换、可验证的数据结构,让配方数据真正落到每一批产品上。