A mock recall is a timed drill. You pick one lot, of an ingredient or of a finished product, and prove from your records where every unit of it came from and where every unit went. You're done when the quantities add up to 100% and you've written down how long it took. Below is a complete one: a single lot of coconut oil followed into 932 pouches of taro chips and out to eight destinations, in 47 minutes.
The short version
- Pick a lot. An ingredient lot makes a harder and more honest test than a finished one.
- Start a clock.
- Trace it forward: which batches used it, what those batches became, where each unit went.
- Reconcile. What came in has to equal what was used plus what's left. What was made has to equal what shipped plus what's on hand plus what was written off.
- Test your contact list by actually calling two customers.
- Stop the clock. Write up what you found, including what went wrong, and file it.
The business
The example uses Windward Roots, a (fictional) company on Oʻahu that grows taro and sells poi, kūlolo, bread and taro chips. The chips are fried and packed by a co-packer every Wednesday, from Windward Roots' own taro, oil and pouches, then sold through a grocery chain, a gift shop, an online store, two of their own shops and a Saturday market. I picked it on purpose. A co-packer and six sales channels is about as awkward as small-business traceability gets.
The scenario
Monday, September 21, 9:05 a.m. The drill coordinator hands the operations manager a slip of paper:
Your ingredient supplier has called. Coconut oil lot
CO-0831may contain undeclared sesame. Find all of it.
Clock starts.
Step 1: What did we receive, and where is it? (8 minutes)
The receiving log shows lot CO-0831 arriving August 31: two 20-liter pails, 40 liters, sent on to the co-packer
with that week's packaging drop. Nothing else from that lot has come in since.
Step 2: Which batches used it? (11 minutes)
The co-packer's batch sheets show the lot going into two Wednesday runs of bulk chips. Each fryer run takes 25 kg of taro, 4 liters of oil and 200 g of salt, and yields 10 kg of chips.
| Batch | Date | Fryer runs | Oil from CO-0831 |
Bulk chips made |
|---|---|---|---|---|
CB-0902 |
Wed, Sep 2 | 4 | 16 L | 40 kg |
CB-0909 |
Wed, Sep 9 | 4 | 16 L | 40 kg |
| Still in the pail at the co-packer | 8 L | |||
| Total | 40 L | 80 kg |
Forty liters received, 32 used, 8 on hand. The ingredient reconciles to 100%. The 8 liters gets a HOLD tag now.
Step 3: What did those batches become? (9 minutes)
Each bulk batch was packed the same day into 3 oz (85 g) pouches.
| Bulk batch | Pouch lot | Pouches | Weight packed | Packing loss |
|---|---|---|---|---|
CB-0902 |
P-0902 |
464 | 39.44 kg | 0.56 kg |
CB-0909 |
P-0909 |
468 | 39.78 kg | 0.22 kg |
| Total | 932 | 79.22 kg | 0.78 kg |
Eighty kilos made, 79.22 packed, 0.78 recorded as loss: 80.00. If that last column didn't exist, this is where the drill would have come apart, and more on that below.
Step 4: Where did 932 pouches go? (14 minutes)
This is the step that takes longest, because it means going through shipping records, shop transfers and the market sheet.
| Destination | Pouches | Status |
|---|---|---|
| Foodland Farms (40 cases) | 480 | Wholesale. We have the buyer's contact |
| Maui Ocean Center gift shop (10 cases) | 120 | Wholesale. We have the contact |
| Online store, 41 orders | 66 | Sold. We have every customer's email |
| Kailua shop | 84 | 58 sold over the counter, 26 on the shelf |
| Ward shop | 72 | 49 sold over the counter, 23 on the shelf |
| Saturday market | 38 | Sold. No customer details |
| Distribution center | 60 | On hand |
| Samples and damaged | 12 | Written off, with dates |
| Total | 932 |
Accounted for: 932 of 932, or 100%.
Still under our control, and tagged HOLD during the drill: 109 pouches (60 + 26 + 23) and the 8 liters of oil. With wholesale customers we can phone: 600. With online customers we can email: 66. Sold to people we can't identify: 145 (58 + 49 + 38). In a real recall, those 145 are the reason the plan includes a public notice and a sign at the register.
Step 5: Do the phone numbers work? (5 minutes)
We called two of the wholesale contacts as if it were real, and said up front that it was a drill. The gift shop answered on the second ring. Foodland's produce buyer went to voicemail, and we had no after-hours number on file.
That's a finding. It goes in the write-up, and someone gets the job of fixing it this week.
Clock stops at 9:52 a.m. Forty-seven minutes.
The record to file
Auditors and buyers don't want a story. They want one page:
| Date and time | Sep 21, 2026, 9:05 to 9:52 a.m. (47 minutes) |
| Scenario | Supplier notice: coconut oil lot CO-0831, undeclared sesame |
| Traced | Ingredient lot → 2 bulk batches → 2 pouch lots → 8 destinations |
| Ingredient reconciliation | 40 L received = 32 L used + 8 L on hand (100%) |
| Product reconciliation | 932 made = 811 out of our hands + 109 on hand + 12 written off (100%) |
| Customers reachable directly | 666 of 811 units (82%) |
| Contact test | 2 called, 1 reached. No after-hours number for Foodland |
| Corrective action | Collect after-hours contacts for all wholesale accounts by Sep 28. Owner: purchasing |
| Run by / reviewed by | Names and signatures |
(The 811 is 480 + 120 + 66 + 58 + 49 + 38. Do the sums from the rows, not from memory. A drill that reconciles to 101% because somebody added in their head is still a failed drill.)
What usually goes wrong
The mass balance comes out over 100%. It happens more than you'd think. One processor on a food-safety forum described a mock recall where the numbers came out above 100% because frozen product sat in unlabeled bags between batch and packing. If you can't account for yield and loss at each step, you'll "find" more product than you made, and auditors treat that as a failure, the same as coming up short.
The lot isn't on the invoice. You know you shipped 40 cases to the grocery chain. You don't know which 40. Now the recall covers every lot they might have received. (If you're not putting lot codes on units, cases and invoices yet, that's the place to start.)
The co-packer's records live at the co-packer. If your trace needs a phone call to somebody else's office manager, it isn't a 47-minute trace. Get copies of batch sheets with every pickup.
The person who knows where things are is on vacation. Run the drill with someone else at least once.
How fast is fast enough, and how often
Set your own target and write it down. Four hours is the number most sites use, because it's the working expectation of certification auditors and of many retail buyers. The big audit schemes ask for a test at least once a year. FDA's own benchmark, for foods on its Food Traceability List, is records handed over within 24 hours of a request (21 CFR 1.1455). FDA has proposed moving that rule's compliance date to July 20, 2028, and says it won't enforce the rule before then.
A mock recall also tests your recall plan, which is the document that says who makes the calls once you know where the product is.
This is general information, not legal advice. Your auditor, inspector or buyer has the last word on what they'll accept.
Where this stops working
On paper, this drill depends on four separate records agreeing with each other: receiving log, batch sheets, packing records and invoices. Forty-seven minutes is a good day. The more common experience is two people, a binder each, and most of an afternoon, and the trace still ends with "we think."
How TaroStack does it
TaroStack records the links as the work happens. Receiving captures the supplier's lot. Recording a batch takes ingredients from specific lots and notes which ones, without anyone choosing them. Packing creates the finished lot from the bulk lot. Shipping puts the lot on the order. So the trace in this article is one report: pick the lot, and you get the batches it went into, the customers those went out to, what's still on your own shelves and where, and the contacts to call. Stock you put on hold stops counting as available to sell.
Drills are built in. You start one, the clock runs, and the result is logged with the time it took, which is the page a buyer or auditor asks to see. Windward Roots is also the sample business you can open inside the app after signing up, so you can run a trace there before you've entered any of your own data. Lots, expiry and recalls are part of every plan.
