Turning a recall notice into codes, not a product name
A recall notice is one of the few documents in this series written specifically to be acted on quickly by somebody who has never seen it before. It is structured, it is consistent, and it names codes. The risk is not reading it wrongly; it is reading it more loosely than it was written.
Key takeaways
Match on codes. A product name matches things the notice never named.
A batch code that matches nothing you received is a useful negative result.
Store the notice, its source and its date. The trace is only as good as its claim.
Widen a trace deliberately, with a reason attached.
Withdrawal or recall changes what you produce, not how you trace.
What a notice actually specifies
Fig 1. Five steps and one escape hatch. A notice with no codes at all is a real thing and it needs a human, not a wider guess.
Storage
Machine learning
Security & identity
Management
People
Why not match on the product name
Because the notice names a product and a set of batches, and those are different statements. Matching on the name alone recalls every batch of that line you hold, which is the outcome the whole system exists to avoid. It is also, quietly, the outcome most spreadsheets produce, because a name is the only field they can join on.
There is a subtler version of the same error. Supplier product descriptions drift: Own Brand Hummus 200g becomes Houmous Classic 200g after a packaging change, and a name match now returns two products where the notice named one. Codes do not drift, which is the entire reason to prefer them.
When the codes match nothing
Two of the four batch codes in the worked example matched nothing in the register. The instinct is to treat that as a failure of the trace. It is not. It means those batches went somewhere else, and the correct output is a documented negative: we received none of L4129 or L4130, here is the register query that says so, here is the date it ran.
A documented negative is worth having for the same reason the positive is. It is the difference between telling an inspector that you checked and telling them that you believe you were not affected.
Fig 2. Three outcomes, one scope. The third is legitimate and rare, and it is the only one that should ever produce a name-based search.
Compute
App integration
Machine learning
Security & identity
Analytics
Withdrawal or recall
The classification does not change the trace at all. Both need the same query against the same register. What it changes is which of the three lists matter: a withdrawal is about stock you still hold, so the quarantine list is the deliverable and the customer list may be empty. A recall is about units that already left, so the second and third lists become the work.
Keeping the two words distinct is worth the small effort, because the language ends up in your customer communication. Telling people you have recalled something you merely withdrew invites them to check a cupboard that was never at risk, and it spends trust you will want later.