Lot and Batch Tracking: A Practical Guide for Warehouses
Lot and batch tracking is how you tie every unit in your warehouse back to the exact production run, supplier delivery, or raw-material group it came from. Get it right and a recall takes twenty minutes instead of two weeks. Get it wrong and you're pulling every pallet off the shelf because you can't prove which ones are actually affected.
This guide covers what lot and batch tracking really is, how it differs from serial numbers, how to set it up without drowning your team in data entry, and a worked recall example so you can see the payoff in real numbers.
What lot and batch tracking means
A lot (or batch, the terms are used interchangeably in most operations) is a group of items produced or received together under the same conditions. Same run, same supplier delivery, same day, same raw materials. You assign that group an identifier, then attach it to stock as it moves. When a unit is received, made, moved, or shipped, the lot ID travels with it.
The point is traceability in two directions. Backward: given a finished product, what went into it and where did those inputs come from. Forward: given a bad input, which finished products used it and where did they go. That two-way link is the whole value. It's often called "one-up, one-down" traceability, and it's a hard requirement in food, pharma, cosmetics, and any regulated supply chain.
Lot vs batch vs serial number
These three get mixed up constantly. Here's the clean distinction.
| Concept | Granularity | Tracks a... | Typical use |
|---|---|---|---|
| Lot / Batch | Group | Production run or delivery | Food, chemicals, cosmetics, pharma |
| Serial number | Individual | Single unique unit | Electronics, machinery, high-value goods |
| Expiry / best-before | Attribute on a lot | Shelf life of a group | Perishables, medicine, reagents |
Lot and batch tracking works at the group level, which is why it scales. You don't scan 3,000 individual jars of sauce, you assign one lot to the run that made all 3,000. Serial tracking is one identifier per unit and is far heavier, so you reserve it for expensive or warranty-bound items. Many operations run both: lots for consumables, serials for the equipment.
Why it matters
Three reasons carry most of the weight.
- Recalls. When a supplier flags a contaminated ingredient, lot tracking lets you recall only the affected output instead of everything. That's the difference between a targeted pull and a company-ending event.
- Expiry management. Lots carry expiry or best-before dates, which lets you ship oldest-first and quarantine anything past date before it reaches a customer.
- Quality and root cause. When defects cluster, the lot is your unit of investigation. You can trace a quality complaint back to one run, one machine, one shift, or one supplier batch.
How to set up lot and batch tracking
You don't need to boil the ocean. Set it up in this order.
- Decide which SKUs need it. Not everything does. Turn it on for regulated, perishable, or high-risk items first. Bolts and packaging tape usually don't need lots.
- Define your lot ID format. Keep it readable and sortable, for example
CP-2026-0450(product code, year, sequence). Avoid encoding data you'll want to change later. - Capture the lot at receiving and production. This is where the lot is born. Record it the moment goods arrive or a run completes, not later from memory.
- Attach expiry at the same moment. If the item has a shelf life, the receiving or production step is where you set the date.
- Enforce lot selection at picking and shipping. The system should ask which lot when stock leaves, and default to the oldest usable one.
- Store the full movement history. Every receipt, transfer, and shipment keeps the lot attached so you can reconstruct the chain later.
The discipline that matters most is step 3. If lots are captured accurately at the point of entry, everything downstream works. If they're guessed after the fact, the whole system is fiction.
A worked recall example
Numbers make the value obvious. Say you produce a hot sauce.
- Monthly output: 12,000 units.
- A supplier flags one lot of chili powder,
CP-2231, 40 kg. - Your records show that lot went into three production batches,
B-0450,B-0451, andB-0452, totaling 3,200 finished units. - Of those, 1,900 already shipped to 14 customers and 1,300 are still in your distribution center.
With lot and batch tracking you recall exactly those 3,200 units and notify exactly those 14 customers. Without it, you can't prove which units are clean, so you recall the entire month: 12,000 units.
A simple way to measure the payoff is recall precision:
Recall precision = affected units / units you would pull without tracking
Recall precision = 3,200 / 12,000 = 0.27 (27%)
You touch 27% of the month instead of 100%. That's 8,800 units, roughly 73% of your output, that stay on shelves and in customers' hands instead of getting scrapped. Multiply by unit cost and freight and the tracking pays for itself the first time you use it.
FIFO vs FEFO
Once lots carry dates, you get a better picking rule. FIFO (first in, first out) ships the oldest received stock first. FEFO (first expired, first out) ships whatever expires soonest first, which is not always the oldest received. For perishables, FEFO is what you want, because a later delivery with a shorter shelf life should go out ahead of an earlier one that lasts longer. Lot tracking is what makes FEFO possible, because the expiry date lives on the lot.
Common mistakes
- Tracking lots but never using the history. If you capture lots and then recall everything anyway during an incident, you paid the data-entry cost for none of the benefit. Practice a trace before you need one.
- One giant lot per month. A lot that spans four weeks of production defeats the purpose. Smaller, tighter lots mean smaller, cheaper recalls.
- Manual spreadsheets. They fall apart at the shipping step, where lot selection has to happen live. This is exactly where a real system earns its place.
Inventoros does this out of the box
Inventoros is a free, open-source, self-hosted inventory system that handles lot and batch tracking, expiry dates, and multi-location stock without a bolt-on. Lots are captured at receiving and production, carried through every movement, and queryable for recalls through the REST and GraphQL API so you can automate the trace instead of chasing it by hand. It's MIT licensed and runs on your own server, so your traceability data stays yours. See the features list or the setup documentation if you want to run one.
FAQ
What is the difference between lot tracking and batch tracking? There isn't a meaningful one. "Lot" and "batch" both refer to a group of items produced or received together under the same conditions, and most systems and regulations treat them as synonyms. Some industries prefer one word (pharma leans "batch," food often says "lot"), but the mechanism is identical: one identifier attached to a group, tracked through every movement.
Do I need lot tracking if I already have barcodes? Barcodes identify what a product is (the SKU). Lot tracking identifies which specific run or delivery that unit belongs to. You need both. A barcode tells you it's a bottle of sauce; the lot tells you it came from the batch that used the recalled ingredient. Barcodes make lot capture faster, but they don't replace it.
How is lot tracking different from serial number tracking? Lots track groups, serials track individuals. A lot might cover 3,000 units made in one run under a single ID. A serial number is one unique code per single unit. Lots are lighter and used for consumables and perishables; serials are heavier and reserved for high-value or warranty items like electronics and equipment.
Can I add lot and batch tracking to an existing warehouse setup? Yes, and you don't have to convert everything at once. Enable it for your regulated or perishable SKUs first, start capturing lots at the next receiving and production events, and let the history build forward from there. Older stock without lots can be phased out through normal turnover.