Every traceability story that ends well starts the same way: at the receiving dock, somebody scans a carton and the system knows exactly what arrived. Every traceability story that ends badly starts there too — with a scan that was accepted without checking, a batch number that was never recorded, or an expiry date that nobody looked at until the recall.
Receiving is where a barcode stops being a label and becomes a record. The disciplines in this article are general receiving practice: they apply whether the scan is captured by a handheld, a fixed station, or a phone camera. Where Vision Scan fits in, it is through its GTIN-first receiving workflow, linked at the end of the article.
The five checks on every scan
A disciplined receiving process puts every scan through the same five checks before the stock is accepted. None of them requires exotic equipment; all of them require the discipline to stop when one fails.
- Identity parses: the symbol decodes to a well-formed identifier, and for a GTIN the check digit recomputes correctly. A failing check digit means the number as read is not the number that was issued — stop there, do not guess.
- Data fields parse: where the symbol carries GS1 Application Identifiers, each field is separated correctly — GTIN, batch, expiry, serial — and the expiry date is a valid calendar date in YYMMDD order.
- Usability holds: the item is not past its expiry date, and the batch and serial values are present where the receiving policy requires them.
- Expectation matches: the scanned identity corresponds to something expected — a purchase order line, an advance shipping notice, or an approved supplier catalogue entry. An unknown GTIN is an exception, not a new product.
- Condition is acceptable: a damaged or partially unreadable label gets a second scan attempt or an OCR rescue pass where available, and if it still cannot be read, it is handled as an exception rather than typed in from memory.
- CaptureThe symbol is read cleanly, with no guessed characters.
- ValidateIdentity parses, fields separate, check digit recomputes, expiry is a real date.
- MatchThe identity corresponds to an expected order, notice, or catalogue entry.
- RecordGTIN, batch, expiry, and serial are stored as separate, retrievable fields.
Exception path: Any failed check routes here: quarantine the stock, record what failed against which expectation, and resolve by a named path — never a silent workaround.
Exceptions are the point, not the interruption
In a mature receiving operation, the exception path gets more design attention than the happy path, because exceptions are where traceability is actually tested. The common ones are predictable: unknown GTIN, expired stock, short or over delivery against the order, a duplicate serial number, and an unreadable label.
Each exception needs the same three things: a quarantine state (the stock is physically separated and not available to pick), a recorded reason (what failed, on which scan, against which expectation), and a named resolution path (return to supplier, re-label with approval, accept with documented variance, or reject). What an exception must never get is a silent workaround — a typed-in GTIN, a copied batch number, or a stock adjustment that erases the original scan. The record of the failure is part of the traceability record.
What a good receiving record contains
When a recall lands months later, the questions are always the same: which units, from which batch, received when, from whom, and where did they go. A receiving record that can answer them contains the scanned identity (GTIN), the batch or lot number, the expiry date, and the serial number where the product carries one — plus the quantity received, the supplier and delivery reference, and the time and place of the scan.
Two properties matter as much as the fields themselves. First, the record should preserve the scan as captured, not only the corrected version: if a label was re-scanned or an exception was resolved, both the original and the resolution belong in the history. Second, the record should be retrievable by any of its keys — by GTIN for a product recall, by batch for a lot recall, by serial for a single-unit investigation. A record that can only be found by its own internal number is a record that will not be found in a hurry.
Start with one dock and one supplier
Traceability programs fail most often by trying to cover everything at once. The reliable way to start is narrow: one dock, one supplier, one product family. Run the five checks and the exception path there until the operators trust them and the exception rate is understood — then extend supplier by supplier, watching for the same failure modes at each step.
The measure of progress is not how many scans succeed; it is how quickly an exception is caught, recorded, and resolved, and whether a test recall can trace a batch from dock to shelf. When that works on one dock, it will work on ten, because the discipline is the same and only the volume changes.

Comments
Comments are stored in this browser only. They are not published, synced, or visible to other readers.
No comments yet on this device. Be the first.