一物一码溯源怎么做:批次、原料、检验数据怎么和码绑定
"这个码扫出来能看到什么?"客户谈一物一码溯源,最后都会落到这一句。让扫码页显示"原料产地""生产批次""检验合格"并不难,难的是这几行字从哪来、是不是真属于手里这一件货。溯源做不成,多半不是查询页不好,而是数据在工厂里本来就是断的:原料批号在采购台账,投料记录在纸单上,检验结果在质检的表格里,码在赋码系统里,四份数据没有共同的钥匙。一物一码的整体框架见一物一码是什么,本文只讲每一类数据该挂在哪一层。
一、溯源到底要回答什么问题
溯源系统要能回答四个问题:这件货的原料来自哪几批;哪天、哪条线、哪个班次生产;检验结果如何、谁放的行;出厂后发到了哪里。
这四个问题分两个方向查。反向追溯从手里的产品倒推原料、生产和检验记录,用在消费者查询、客诉和监管检查;正向追踪从一批原料出发,找出它做成了哪些产品、发去了哪里,用在出问题后圈定范围。GB/T 22005—2009(等同采用 ISO 22005:2007)把可追溯性定义为追踪产品在链条中的历史、应用和位置的能力,两个方向都通才算完整。不少方案只做到反向的一半:展示页漂亮,却答不出"这批原料还去了哪里"——而需要溯源的那一天,要的恰恰是正向那一半。
二、码和批次怎么绑:批次是数据枢纽
码在赋码那一刻挂到工单和批次上。赋码任务按生产订单下发,码池按订单隔离,赋码时系统写下这个码属于哪张工单、哪个批次、哪条产线、什么时间、第几班。工单和批次怎么从 MES、ERP 取见与 ERP、WMS 对接,工位怎么配见产线怎么落地。这条记录是唯一必须逐码写的生产数据,也是码通向批次数据的唯一桥梁,断了其余数据再全也接不上单件。
批次是枢纽。原料、工艺、检验的对象本来就是批,不是件。链路应当是"码 → 批次 → 批次数据":按码找到批次,再按批次取数据。哪些逐码存、哪些按批次存,判断依据很简单:
| 数据 | 粒度 | 理由 |
|---|---|---|
| 赋码时间、工单、批次、产线、班次 | 逐码 | 码通向批次的唯一桥梁 |
| 装箱、码托的父子关系 | 逐码 | 单件在哪个箱里只能逐件记 |
| 出库、经销商、区域 | 逐码(由箱码托盘码带出) | 流向是单件属性 |
| 原料批号与投料量 | 按批次 | 同批每件相同 |
| 关键工艺参数 | 按批次或时段 | 参数落在时段上 |
| 检验记录与放行结论 | 按批次 | 检验对象就是批 |
一句话:同一批里每件都相同的数据按批次存,每件不同的才逐码存。
三、原料与生产过程数据怎么挂上
来料先有内部批号。供应商批号格式各家不一,到货验收时给每个到货批一个企业内部批号,供应商批号作为属性挂在下面,投料记录一律引用内部批号。
投料记录是原料侧必须做对的那个动作。投料工位扫原料批标签、扫工单,记录哪个原料批投给了哪个生产批、投了多少。这一步若是纸单事后录入,整条原料链就只是一份"应该用了什么"的说明。链条的强度取决于最弱的一环,而最弱的一环通常就是投料。
多批混投是常态,关系是多对多。一个生产批可能用两三个原料批,一个原料批也会跨几个生产批用,一对一的简化在召回那天会失效。
工艺参数按时段取,不往码上复制。温度、压力这类数据在 MES 或 SCADA 里按时间序列存着,溯源要的是本批生产期间的参数区间和超限记录,不是全量曲线:记住批次起止时间,按时间窗口去取。设备与班组工单里就有。
四、检验数据怎么挂:放行状态决定码能不能出库
检验分三段:进料检验挂原料批,通过投料关系被产品间接继承;过程检验挂生产批或时段;出厂检验挂成品批。
起作用的不是检验报告,是放行状态。做法是给批次设状态,码的可出库状态跟着批次走:未放行的批次,码在出库扫描时被拒绝;判不合格的整批码冻结,货已经印了码也不允许出库,查询页不显示为可售正品;复检合格后解冻。冻结和解冻各留一条带操作人和时间的记录,直接改状态不留痕,事后说不清这批货当时是什么状态。
出厂检验滞后于发货是最常见的冲突。微生物指标要培养几天,货已经装车了。两种处理:限制在自有仓之间流转、合格前不允许销售出库;或允许出库但码保持"待放行",结果回来后批量更新。选哪种是质量制度的决定,系统的职责是把状态和码绑住、不让状态停留在空白。
五、流通数据怎么接上
出库扫箱码或托盘码把货绑定到收货方,这个动作同时服务溯源和防窜货:溯源关心"这件货去了哪",防窜货关心"去的地方对不对",用的是同一套流向数据;出入库扫码的校验规则见与 ERP、WMS 对接。
溯源侧要额外写清楚数据到哪一环为止:多数项目的链条止于经销商收货或门店进货扫码,零售端不扫码,查询页就不要做出"已送达某门店"的暗示。
六、查询页与监管平台对接
查询页展示什么。通常是产品名称与规格、生产日期与批次、保质期、检验放行结论、防伪校验结果、扫码次数提示。内部工艺参数、原料供应商、成本信息通常不放,对消费者没有意义,还可能触及商业秘密。一条原则:页面上写的每一项,后台都要有原始记录能调出来。
法规和标准依据。《食品安全法》第四十二条要求食品生产经营者建立追溯体系、保证食品可追溯;国办发〔2015〕95 号文提出以追溯码为载体,实现来源可查、去向可追、责任可究;国家标准有 2019 年发布的"重要产品追溯"系列,含 GB/T 38155—2019(追溯术语)、38157—2019(追溯管理平台建设规范)、38159—2019(追溯体系通用要求)等。
外部平台对接按行业分。药品按国家药监局 NMPAB/T 1002—2019 编码、上传上市许可持有人的追溯系统;医保发〔2025〕7 号文要求 2025 年 7 月 1 日起销售环节扫码后方可医保结算、2026 年 1 月 1 日起全量采集上传。食品有省级平台,如 2021 年上线的浙江"浙食链",按统一编码规则赋追溯码,企业自建系统可依其数据报送标准申请接口接入。其他重要产品由地方平台按平台建设规范定接口。
共用一条建议:先按自己的业务把数据结构做完整,再做上报映射。直接照某个平台的报文格式设计内部结构,换平台或增加平台时会全部返工。上报是一路输出,不是数据模型的主人。
七、常见的四个坑
- 按码逐条写数据,库很快撑不住。逐码复制原料批号、检验结论、工艺参数,数据量是件数乘字段数,改一条结论要更新几十万行,还多出一处可能不一致的副本。修法是分层:码表只存码、状态、批次、层级和流向,批次表存原料、工艺、检验,查询时关联。
- 批次划得太粗,查出来等于没查。一天一个批次,出问题就要召回一整天的产量;划得太细,换批频繁,数据量也上去。粒度由召回代价和换批成本共同决定,和质量部门一起定。还有一条硬约束:批次划分必须对应真实的物理隔离,一个储罐里已经混在一起的料分成三个批次是自欺欺人。
- 检验数据滞后于出库。靠码的状态管:未放行的批次在出库扫描时就该被拦下。
- 召回时圈不准范围。两个方向各走一遍:从不合格原料批正向找到用过它的生产批和这些批次下的码,再顺着装箱和出库流向找到经销商与发货明细;从客诉样品反向查到批次和原料批,判断还有哪些批次受影响。链上任何一环是事后补录的,圈出来的范围就不可信。时限也紧:现行《食品召回管理办法》规定一级召回 24 小时内启动、二级 48 小时、三级 72 小时,2026 年 12 月 1 日施行的新版把二级、三级压缩为 36 小时和 48 小时。留给查数据的只有几个小时,召回演练该放进上线验收,随机指定一个批次看多久能拉出完整清单。
溯源系统的价值不在平时,在出事那一天:平时它是查询页上的几行字,那一天它决定召回多少货、能不能证明责任不在自己这一环。
常见问题
- 一物一码溯源,原料和检验数据要写到每个码上吗?
- 不要。同一批里每件都相同的数据按批次存,每件不同的才逐码存。逐码必须存的是赋码时间、工单、批次、产线、班次、装箱层级和出库流向;原料批号、工艺参数、检验结论按批次存,查询时用码找到批次再取。逐码复制会让数据量按件数成倍放大,改一条检验结论要更新几十万行,还多出一处可能不一致的副本。
- 溯源的批次应该怎么划分?
- 粒度由两件事决定:批次划得越粗,出问题时召回范围越大;划得越细,换批和数据管理的成本越高。这个平衡要和质量部门一起定,不由 IT 单方面定。还有一条硬约束,批次划分必须对应真实的物理隔离,同一个储罐里已经混在一起的料不能在系统里拆成几个批次。
- 出厂检验结果还没出来,货已经要发了,溯源系统怎么处理?
- 靠码的状态管。给批次设"待检、合格放行、不合格"三种状态,码的可出库状态跟着批次走:未放行的批次在出库扫描时被拒绝;判不合格的整批码冻结,不允许出库,查询页也不显示为可售。检验滞后于发货时,可以限制在自有仓之间流转、合格前不允许销售出库,也可以允许出库但码保持"待放行"、结果回来后批量更新。冻结与解冻都要留操作人和时间的记录。
- 出了质量问题,怎么用码圈定召回范围?
- 两个方向各走一遍。正向是从不合格原料批找到所有用过它的生产批,再找到这些批次下的码,顺着装箱和出库流向找到经销商和发货明细;反向是从客诉样品的码查到批次和原料批,判断还有哪些批次受影响。前提是投料记录和装箱关联当时就采集了,事后补录的数据圈不准。建议把召回演练放进上线验收,随机指定一个批次看多久能拉出完整清单。
评估你的产线合规改造方案
上海问源信息科技有限公司作为系统集成商,为食品饮料、日化美妆、酒类等制造企业提供 PTS 一物一码产品追溯方案:产线赋码与视觉复核、单品—箱—托三级聚合、防伪与防窜货稽查、扫码营销数据平台,以及五码合一的层级赋码与管控;码的来源可以是企业自有编码,也可以对接药品追溯、俄罗斯诚实码等外部发码平台。
扫码加微信