A blank, fillable log for every incoming shipment — supplier, material, lot code, COA, cold-chain temperature, condition, and the accept-or-hold call — so nothing reaches your floor without a recorded check.
~12 min
On this page
Was this helpful?
Real help from real food people
Chef Diego runs a real food plant. If this page didn't get you there, tell us — a person reads every message.
This is the log your receiver fills in at the dock as each delivery lands: what arrived, from whom, on which lot code, and whether it passed the checks that decide if it goes into inventory or onto a hold. Set it up once for your materials, then fill one row per shipment so nothing enters production without a recorded check.
How to use this template
The receiving check is the first gate in both your traceability and your food safety, and every row records four things at once: what the material is and who it came from, the supplier's lot code, whether the paperwork and the cold chain held, and the call on whether to accept it. Record the exactly as it appears on the label, because it is the one thing that later ties a finished lot back to its ingredients.
Two of the columns only apply to some materials. A is expected only where the material's spec calls for one; mark the rest N/A. The temperature column is for only; leave it blank for anything shelf-stable. Anything that fails a check does not go into inventory — it goes on a and onto the disposition log below.
The temperature benchmark, the COA calls, and the condition thresholds in the sample rows are illustrations to make the columns legible. Your acceptance temperatures come from your own specs and your HACCP plan, and which materials require a COA comes from your suppliers' agreed specifications — not from the numbers shown here. Set your own criteria before this log goes to the dock.
The receiving log
One row per incoming shipment. If a delivery brings several materials, or several lots of the same material, give each its own row so every lot code is recorded on its own line. Leave the temperature column blank for shelf-stable materials — it applies only to TCS items.
Date received
Supplier
Material
Supplier lot #
COA received? (Y / N / N/A)
Temp on arrival (if TCS)
Condition (packaging, seal, date, pests)
Accept / Hold
Receiver initials
(example) 07/15/2026
Bay State Dairy
Cultured butter, salted
BSD-24107
Y
39°F
Cartons intact, within date
Accept
ML
(example) 07/15/2026
Northwind Flour Co.
Organic wheat flour, 50 lb
NW-0714-B
N/A
—
Bags sound, seals intact, no pest evidence
Accept
ML
(example) 07/15/2026
Coastal Seafood
Frozen shrimp, 16/20
CS-6631
Y
~34°F, soft to the touch
Partial thaw, no longer frozen solid
Hold
ML
(example) 07/15/2026
Sunrise Sweeteners
Cane sugar, 25 kg
— (no label on pallet)
N/A
—
Pallet sound, but no lot code found
Hold
ML
Setting your accept-or-hold rule
Accept a shipment only when every check on its row passes. A single failure sends it to a hold, not into inventory. The usual triggers for a hold:
No lot code, or one you can't read — you cannot trace what you cannot identify. Hold until the supplier confirms the lot in writing.
A required COA missing — if the material's spec calls for a COA and it did not arrive, hold until it does.
A cold-chain fail on a TCS item — the common benchmark is refrigerated TCS received at 41°F (5°C) or below and frozen received frozen solid, but your own spec and HACCP plan set the limit you actually enforce. A reading above your limit, or clear signs of thaw and refreeze, is a hold.
Bad condition — damaged packaging, broken seals, pest evidence, or a material already past its date is a hold on condition alone.
Anything you hold stays out of production until quality releases or rejects it, and the decision goes on the log below.
Hold and disposition log
Every Hold row above gets a line here, so the decision is recorded rather than remembered. A hold is closed only when quality has made the call — accept with a note, return to the supplier, or reject — and written down what happened to the material.
Date held
Supplier / material
Lot #
Reason held
Decision (accept / return / reject)
Disposition detail
Decided by
Date closed
(example) 07/15/2026
Coastal Seafood / frozen shrimp
CS-6631
Received partly thawed, above frozen spec
Reject
Returned to supplier, credit requested; nothing entered inventory
RQ
07/15/2026
(example) 07/15/2026
Sunrise Sweeteners / cane sugar
(none on pallet)
No lot code on the delivery
Accept
Supplier confirmed lot SS-9920 by email; recorded on the receiving row and released
RQ
07/16/2026
Keeping the log usable
Fill it at the dock as each delivery lands, never from memory at the end of the day — the check only counts if it happened before the material moved into inventory.
Keep completed logs for the retention period your plan or your auditor requires. The receiving log is often the first record an auditor pulls to test whether an incoming lot can be traced back to its supplier.