New 2D UDI and GS1 barcodes. One scan captures GTIN, lot, expiry and serial.
UDI capture

One DataMatrix scan. Every element in its own field.

A UDI barcode packs several values into one string. If you store that string as one value, you cannot search on the lot number later. SerialTrack splits the scan into its parts and stores each one in its own field.

The two kinds of UDI barcode.

Most regulated products use one or the other. SerialTrack tells them apart from what is in the code, with no setup per product.

Serialized device

The GTIN plus a serial number that is unique to that one unit.

(01) 00860004587392
(21) SN-88420-QL

Every unit is different, so a duplicate is a mistake. We reject a serial number that was already recorded instead of saving it twice.

Lot-controlled product

The GTIN plus the supplier's lot number and an expiry date.

(01) 00860004587392
(10) K24-0918
(17) 270331

Many units share a lot, so duplicates are normal and we keep them. The expiry is stored as YYYY-MM-DD, so it sorts and filters like a date instead of six digits.

Application identifiers

What we split out, and what we do with it.

GS1 calls the two-digit prefix on each element an application identifier, or AI. It is how the code says which value is which.

AI Element How it is stored
01 GTIN Check digit verified, and used to identify the product
21 Serial number The full value, never cut short, checked against earlier shipments for duplicates
10 Batch or lot number Exactly as printed, searchable and reportable on its own
17 Expiration date Stored as YYYY-MM-DD, so you can report on a date range
11 Production date Stored as a date, so you can report on a date range
00 SSCC Stored as the shipping-container code when a case or pallet label is scanned
any Everything else Kept with its AI, and reportable by giving the AI and a value

Each element is stored as its own value. They stay linked to each other and to the scan they came from. Delete a mis-scanned serial number and its lot and expiry go with it, since they all described the same unit.

Two things that catch people out.

Your scanner has to be a 2D imager

The laser scanner that reads the barcode on a packing slip cannot read a DataMatrix. You need a 2D imager. They are not expensive, and they plug in and act like a keyboard, the same as the old scanner did.

Which scanner do I need? →

The separator character browsers will not type

A GS1 barcode uses an invisible separator character between fields that have no fixed length. A web browser will not put that character into a text box. So an ordinary web form loses the boundary, and your lot number and serial number run together into one value.

SerialTrack captures the raw keystrokes from the scanner before they reach the text box, so the separator survives and the split is right. If you have tried this in a spreadsheet and got mangled values, that is why.

Afterwards

Look it up by whichever number you have.

Search by order number, tracking number, serial, lot or GTIN. Reports take a date range and any mix of those, run in the background, and come out as a table and a CSV.

The two scans at the packing station take a few seconds. Every report a regulator, a supplier or a customer asks for later comes from them.

What the regulations require →

Start recording on the next shipment.

Connect your store, scan one order, and look at the record. About five minutes to set up, and nothing to pay for thirty days.