Quality Holds & Traceability: Recall One Batch, Not a Warehouse
When the lab result fails or KEBS calls, the question is "which batches, where, how fast?" — quality holds that freeze suspect stock and traceability that recalls one batch instead of a warehouse.
Every processor eventually gets the call. A customer found something in a packet. A lab result came back wrong. A KEBS sampling visit wants records. What happens next depends entirely on infrastructure built long before the call: if stock moves through the system in batches with holds and a traceable chain, the incident is an afternoon of precise action. If it doesn't, the incident is a total recall, priced in brand.
Quality holds: undecided stock does not move
A quality hold is a status that makes stock untouchable — not issuable to production, not sellable, not transferable — until someone with authority releases it. The four places it belongs:
- Incoming materials pending inspection — the maize at the weighbridge, the packaging delivery, the chemical drum: received into hold, released after checks, rejected back to the supplier with the reason on record.
- Production output awaiting results — batches that need lab confirmation (micro, moisture, aflatoxin) sit in hold; sales cannot promise what QC has not released.
- Customer returns — returned goods enter hold for assessment: restock, rework, or destroy — decided and recorded, never quietly reshelved.
- Suspect stock during an investigation — the moment a complaint implicates a batch, the hold freezes whatever remains, everywhere, in one action.
The hold must be systemic, not procedural
A red sticker and a "do not use" shelf work until the night shift runs short of materials. A hold that the system enforces — the issue screen simply will not release held stock — works at 2am too. Culture backs the control; the control cannot be only culture.
Traceability: the chain in both directions
| Direction | The question | When you need it |
|---|---|---|
| Backward (finished → source) | This packet came from which run, which materials, which suppliers? | Customer complaint, failed retained sample |
| Forward (source → finished) | This supplier's delivery went into which batches, sold to whom? | Supplier notifies a problem; a material batch fails late |
Both directions ride on the same records: batch-tracked receiving, production runs that consume material batches and produce output batches, and dispatches that record which batches went to which customer. None of it is extra work at incident time — it is the ordinary batch loop, captured while it happens. The test of a traceability system is speed: batch-to-customer in minutes is a controlled incident; in days, it is a news story.
The recall drill
Run this as an exercise before it runs you
- Pick a finished batch at random. Trace its material batches and suppliers — time it.
- Trace forward: every customer who received any of that batch, with quantities.
- Place a hold on the remaining stock of that batch across all locations — one action, verified.
- Produce the paper: receiving records, QC releases, dispatch documents for the batch.
- Debrief: anything that took longer than 30 minutes is the gap to close.
What regulators and buyers actually ask for
- KEBS and county public-health inspections want batch records, QC results tied to batches, and disposal evidence for rejects — a system query, or a very long day of files.
- Supermarket chains and institutional buyers increasingly audit traceability before listing suppliers — a working recall drill is a sales asset, not just insurance.
- Export markets make it existential: no chain, no certificate, no shipment.
What AWRA OpsHub does today
- Quality holds that are enforced, not advisory — quarantined, inspection-pending, damaged, expired and returned stock is excluded from issuing and selling by the allocation query itself. Hold, release and dispose each record the quantity, the reason, a note and the person who did it.
- Disposal is a recorded decision — restock, rework or destroy, each writing a stock adjustment with the reason and the person attached, so nothing gets quietly reshelved.
- Batch, lot and serial tracking — expiry date, supplier and originating purchase order recorded on every batch, with serial numbers where you need them.
- Batch traceability screens — per item, per batch and per serial: every inbound and outbound movement with its source document, total in, total out, and exactly where the remainder is sitting.
- A recall status per batch with a recalled-batch count on the traceability dashboard, and a Batch Expiry (FEFO) report with value at risk.
What it does not do
- A hold is placed per stock row, not per batch in one action. A batch sitting in four locations takes four holds — there is no single “freeze this batch everywhere” button, which is exactly the claim to test in a demo.
- The chain has a gap where production should be. Backward tracing reaches the supplier and the purchase order; forward tracing reaches the outbound document. What is missing in the middle is this batch of flour became that batch of bread, because there is no production run entity.
- No structured QC results. Lab values, certificates of analysis and pass/fail thresholds are attachments and notes, not fields the system can test against.
- Nothing automatically expires stock. The expired status exists and the report tells you what has passed its date; a person still has to move it.
The central claim of this post — that a hold has to be systemic rather than procedural — is one we actually meet: the issue and sell queries filter on available status, so held stock is genuinely unavailable at 2am. Run the recall drill in the post against us. You should pass the trace and the hold, and find the two limits above.
What is not built today can still be built for you
Anything described above as not built is a statement about what ships in the standard product today — not a limit on what AWRA OpsHub can do for your organisation. Kenya's eTIMS integration and its maintained payroll engine are both in the product because clients needed them and commissioned them; neither appeared by itself, and the same door is open for the gap you just read about. Two honest qualifications so this is worth what it claims: a handful of gaps on this blog are deliberate refusals rather than missing work — a statutory ledger we will not sign our name to, a rule that would decide a tax question for you, a clinical or member-funds record that belongs in a regulated system — and where that is true the post says so in those words rather than calling it a gap. Everything else is a scope, a timeline and a price.
The operational work, which is what most commissions actually are
An extra approval stage in a chain that does not match the standard one, a custom field set on employees or assets that only your sector needs, an expiry that has to block an order rather than send an email, a report your board asks for in a shape nothing produces, or a scanner or weighbridge feeding the goods-in door. These are the commissions we are asked for most often and the smallest ones we quote — and unlike a revenue-authority pipeline, none of them waits on a regulator.
The module-shaped gaps, which are the ones this blog admits most often
A price list with real discount authority, a customer-facing quotation that expires, a bill of materials or recipe costing, a staff advance that is issued, acquitted and chased, a member or unit ledger, a matching rule that holds a payment. Each of these is a build rather than a setting, and each has been quoted before — a bigger piece of work than a custom field, with a written spec and a date instead of a roadmap slide.
The report, document or pack nothing currently produces
The board pack in the shape your board actually asks for, a donor or funder layout, an invoice or receipt template carrying what your regulator or your customer expects, a dataset the report builder cannot reach yet. Usually the fastest thing on this list to deliver, because the data is already in the system.
Systems, rails and hardware you already run
The accounting package, CRM, online store, core banking or custom database you intend to keep — connected through our API so a fact is entered once and appears everywhere it is needed. Plus the physical edge: a scanner, a scale, a weighbridge or a till peripheral feeding the door it belongs to.
How it works: you describe the requirement, we return a written scope, timeline and cost, and once agreed it is built into your environment and maintained as part of the product. Nothing here waits on a regulator or a published specification, which is why operational builds are the ones we quote fastest. Tell us the requirement that would otherwise rule us out — that is a better first conversation than a demo.
Tell us what your operation needsBe ready for the call
Holds the issue screen genuinely will not release, disposal recorded as a decision, and batch tracing with every movement and its source document — with the two honest limits named above.
See holds & traceability in AWRAFrequently asked questions
Who should have authority to release a hold?
Someone whose role is quality, not output — the QC lead or a designated manager, never the production supervisor whose numbers the hold is hurting. Releases are logged with name and reason; that log is exactly what an auditor reads first.
How granular should batches be?
Granular enough that recalling one batch is survivable: a day's run for most SME processors, a shift or a silo-lot where risk is higher. The finer the batch, the smaller the recall — balanced against the recording effort your line can sustain honestly.
What do we do with stock that fails and cannot be reworked?
Destroy it documented: quantity, batch, reason, method, witness — with the write-off in the system and disposal evidence kept. Failed stock that "disappears" instead of being destroyed has a way of reappearing in the market with your name on it.
Does traceability require barcodes and scanners?
No — it requires batch identity captured at receiving, production, and dispatch. Scanners make capture faster and less error-prone at volume, but a disciplined SME line runs full traceability with batch numbers on paperwork keyed into the system. Start with the discipline; add hardware when volume justifies it.