先说结论:只跑先进先出、不跑 FEFO(先到期先出)的食品仓,我看过的几家里,过期报废的金额基本是 FEFO 仓的两到三倍。这不是系统功能的问题——大部分 WMS 本来就支持按效期分配,问题出在效期数据根本没录准、预警也没人盯。
很多人觉得 FIFO 和 FEFO 差不多。差远了。先进的不一定是先到期的:同一 SKU,3 月进的货效期到明年 6 月,5 月进的货效期只到今年 11 月,这种事在食品仓里天天发生。按 FIFO 出库,11 月到期的货还躺在库里,6 月到期的已经发出去了。等你发现,过期了,整托报废。我 2019 年在安大略(Ontario)一家 8 万平方英尺的食品 3PL 仓亲眼见过:一托盘冷冻水饺,效期过了整整两个月才被发现,货值四五万美金,直接报废。原因?系统里压根没有效期字段,拣货全看出库单上的入库日期。
效期数据录不准,FEFO 就是个摆设
FEFO 的地基是两条数据:批次号和效期。WMS 里这两个字段必须是收货必填,空着不让过——这是铁律。我见过最蠢的"变通":收货太忙,允许先跳过效期录入,系统自动填 2099-12-31。半年后一查,几千条库存的效期全是 2099 年,FEFO 算法对着一堆假数据排序,等于没有算法。
效期格式也要统一。供应商标签五花八门:有的写 06/08/26,有的是 08-JUN-2026,还有只印生产日期不印到期日的。收货流程里必须定死一条:统一按年月日录入,只认到期日、不认生产日期。最要命的是美式和欧式日期混在一起——06/08/26 到底是 6 月 8 日还是 8 月 6 日?我见过一家仓因此整批录错,系统按错的效期排了三个月 FEFO,直到客户投诉收到临期品才查出来。凡是格式含糊的标签,收货时当场跟供应商确认,猜一个填进去是最贵的做法。
生产日期和到期日两个字段别同时开着让收货员二选一——我吃过这个亏,两个字段并存的结果就是一半人填这个、一半人填那个,系统按到期日排序时,一半库存的排序依据是错的。
入库还要做效期校验:到货时剩余保质期不足的,直接拒收或转待检。比例设多少?看品类。保质期 12 个月的常温食品,剩不到三分之一就别收了;保质期一个多月的冷鲜,剩一半以下就要警惕。这些阈值没有放之四海皆准的数,按你的品类和周转速度定,定完写进收货 SOP,具体以实际系统和业务为准。关键是这条规则要在系统里配成硬校验,不是贴在墙上的纸——纸管不住收货员,系统弹窗才管得住。
有条件的仓可以再往前推一步:让供应商在 ASN 里就预录批次和效期,收货时扫码核对,扫出来对不上直接整单 hold。ASN 预录不是为了省那几秒录入时间,而是把效期争议挡在收货之前——货都卸下来了才发现效期不够,你是拒收还是将就?将就一次,规则就破一次。省下的不只是录入时间,更是后面扯皮的成本。
还有一个坑:供应商混批。同一托盘上两个效期的货,收货时必须拆成两个批次录。嫌麻烦合并成一个批次?那 FEFO 分配时系统只能看到一个效期,另一个效期的货就隐身了。我见过一家仓为了省事整托一个批次录,结果近效期的那一半永远排在后面出,过期了都没人知道。拆批多花一分钟,省的是整托报废的钱。

预警设了没人看,等于没设
效期数据准了,下一步是预警。我的做法是分三档:效期还剩 90 天、60 天、30 天,WMS 每天自动跑一次效期报表,推给对应负责人。档数和天数同样按品类调,冷鲜和常温不能用同一套。但记住一条:预警必须有 owner 和动作。90 天预警的动作是"通知销售想办法";60 天是"定促销或调拨方案";30 天是"走报废审批流程"。owner 要定到具体的人,不是"仓储部"这种集体——集体负责等于没人负责。我建议把近效期处理率放进相关负责人的月度考核:预警发出后 7 天内没有动作,自动升级抄送他的上级。没有动作的预警就是垃圾邮件,发三个月就没人看了。
出库分配逻辑是 FEFO 最难配的地方。纯按效期升序分配,理论上最优,实际上会把拣选路径打散——拣选员为了出一单,要多跑半个仓库。trade-off 就在这里:效期优先还是拣选效率。我的折中是:分配时效期优先,但在同一波次里,效期相差在几天之内的允许按库位就近合并。差几天无所谓,差几个月不行。这个"几天"的窗口按品类设,冷鲜品窗口小,常温品窗口大。别追求理论最优,追求执行不打折——一个拣选员愿意配合的 90 分方案,胜过没人执行的 100 分方案。
还有一个实战配置:近效期的货别让它躺在存储区等死。60 天预警一触发,系统自动建议把它挪到前置拣选区(forward pick),离打包台最近、拣选员顺手就能够到。物理位置的前置,加上 FEFO 分配的优先,双保险。很多仓的 FEFO 只配了分配逻辑、没配库位策略,结果近效期的货在存储区深处,拣选员宁可绕路去拿好拿的——系统是对的,人性赢了。
近效期的货怎么处理?三条路:促销、捐赠、报废。促销给折扣店或员工内购,能回一点是一点;捐赠在美国有《好撒玛利亚人食品捐赠法案》(1996 年联邦法)保护,捐赠尚未过期的食品一般不用担心被追责,还可能抵税,具体以税务顾问意见为准;实在卖不掉捐不掉,走报废:双人确认、拍照留档、合规销毁。报废流程也要配在系统里——谁申请、谁审批、销毁方式、留档照片,缺一不可。合规这事,流程不在系统里,就等于没有流程。
顺带说一句,FEFO 不是食品仓的专利,药品、化妆品同样适用,逻辑一模一样。区别只在预警天数和报废合规要求更严。
退货也别忘了效期。客户退回来的货,重新入库前必须重验效期——退回来在外面放了多久、温控断没断过,你都不知道。我的规矩是:退货一律先进待检区,效期复核通过才回正品区,不通过直接走报废或供应商索赔。退货不验效期就回库,等于往干净的库存里掺沙子。
最后补一个容易被忽略的环节:盘点。循环盘点时别只数数量,把效期也核一遍——实物标签和系统效期对不上,说明收货或移库环节有人在绕过流程。效期差异单独记一类盘点差异,每月复盘一次。数据准不准,盘点是最诚实的镜子。
明天上班第一件事:去你的 WMS 里跑一条查询,看看有多少库存的效期字段是空的、或者填着 2099-12-31 之类的假日期——先把这批数据堵住,FEFO 才有地基可言。





