← All posts

What is a Traceability Lot Code? A plain-English guide for small producers

A Traceability Lot Code (TLC) is the single ID that connects an ingredient to every batch, every shipment, and every customer it touches. Here's what it is, why FSMA 204 requires one, and how to assign one without overcomplicating it.

Anas Nakawa6 min read
FSMA 204traceability lot codesmall food producersfood safety basics

If you've started reading about FSMA 204, you've run into the term Traceability Lot Code within the first ten minutes. The FDA uses it constantly. Buyers' questionnaires reference it. Software vendors charge for it. And nobody seems to define it in fewer than three paragraphs.

Here's the short version.

A Traceability Lot Code (TLC) is a single identifier you assign to a lot of food at the moment it's made, packed, or first received in the U.S. — and then carry forward, unchanged, to every shipment, batch, and customer that lot touches.

That's the whole concept. Everything else is detail.

Why TLCs exist (the 30-second version)

In 2022, the FDA finalized the Food Traceability Rule under FSMA Section 204 (21 CFR §1.1300–1.1460). The rule applies to any food on the Food Traceability List — leafy greens, soft cheeses, shell eggs, fresh-cut produce, certain seafood, and a long list of others.

If a contaminated lot turns up at a retailer, the FDA wants to know — within 24 hours — exactly where it came from and exactly where else it went. The TLC is the thread the FDA pulls to unspool that answer.

Without a TLC, a recall takes a week of phone calls. With one, it takes a database query.

What a TLC actually looks like

There is no required format. The rule says only that the code must be unique to that lot, assigned by whoever performs the "first" qualifying activity (more on that below), and preserved across every record that touches the lot.

In practice, most producers use one of three patterns:

PatternExampleWhen it's used
Date + facility + sequence20260428-MVC-014Most common for small producers — readable, sortable, never collides
Pure sequenceLOT-00014823Larger ops with ERP systems
Encoded metadataMVC-CHE-04282026-A1When the code itself needs to carry meaning (facility, product, date, line)

Pick one and stick to it. The audit-killer isn't a bad format — it's three different formats across three different spreadsheets.

When you assign a TLC

You assign a TLC at one of three "Critical Tracking Events" (CTEs):

  1. Initial Packing — you're the first to pack the food in its final container.
  2. First Land-Based Receiving — you're the U.S. importer or first land-based receiver of seafood.
  3. Transformation — you took listed-food ingredients and made something new (combined, processed, or repackaged).

If you're a small cheesemaker buying milk and producing wheels, you're a transformer. The TLC you assign to today's batch is yours, even if the milk came in with the dairy's lot code attached.

If you're a co-packer running someone else's recipe, you're an initial packer. Same rule.

If you're just receiving and re-shipping (a distributor), you generally don't assign a new TLC — you carry the supplier's forward.

TLC vs lot number vs batch number — they're not the same

This is where most producers get tripped up on their first audit.

  • Internal lot number is whatever you've been writing on cases for years. It's for your operation.
  • Batch number typically refers to a single production run.
  • TLC is a regulatory identifier specifically defined under FSMA 204. It must travel on shipping documents, invoices, and BOLs to the next entity in the chain.

Your existing internal lot number can become your TLC if it's already unique and gets passed to customers. Most don't — most are reused across runs or only live inside a single facility's records. If yours does, great. If not, the TLC sits alongside (or replaces) it.

What you have to record alongside the TLC

A TLC by itself is just a string. The rule requires you to attach Key Data Elements (KDEs) to it depending on which CTE you performed. The most common KDEs for a small producer running a transformation event:

  • The TLC of every input lot you used
  • The TLC you assigned to the output
  • Quantity and unit of measure
  • Date of the transformation
  • Location (where it happened)
  • A description of the food

The KDE list is the single most underestimated part of FSMA 204 — but the TLC is what holds them all together.

The three mistakes I see most often

After looking at how a few dozen small producers track lots today, the same three mistakes keep coming up:

  1. Reusing the same TLC for two production runs. If you make Tuesday's wheel and Friday's wheel and call both MVC-04-2026, you've collapsed two lots into one. If one gets recalled, the other gets recalled with it. Always include enough date or sequence detail to make every code unique.

  2. Not passing the TLC to your customer. The TLC has to appear on the shipping document or invoice that goes downstream. If your buyer's questionnaire asks "what TLC did we receive?" and you can't tell them, the audit fails. This isn't optional under the rule.

  3. Tracking TLCs in a spreadsheet that nobody updates after Friday. A lot record only has value if it's complete and current. The single biggest predictor of an FSMA 204 audit failure is a system someone "means to update later."

Doing this without a system

You don't need software to be FSMA 204 compliant. You need a record. A spreadsheet with the TLC, input lot codes, KDEs, dates, and shipping references is technically enough. The reason most producers move off spreadsheets is that the relational lookups (which input lots fed which output batch, which output batch went to which customer, in what quantity) become unmanageable around the 50-batch mark — and a recall query that takes 6 hours of unstacking spreadsheets is worse than no system, because it's a system that lies under audit pressure.

This is the exact gap FSMA204Hub was built for — but if you're early enough that a spreadsheet still works, use the spreadsheet. Get the practice of assigning TLCs into your daily routine before you worry about tooling. The audits care about the data, not the database.

What buyers will actually check

If you're submitting a retailer FSMA 204 questionnaire, the TLC question almost always shows up in three places:

  1. "Do you assign a unique Traceability Lot Code at every CTE?" (yes/no)
  2. "Provide a sample TLC and the KDEs you record with it." (free text)
  3. "Within how many hours can you produce a full traceback for a given TLC?" (the FDA's answer is 24; most retailers want 24 or better)

If you can answer all three with a real example pulled from this week's production, you're ahead of most of the supplier base.

The 60-second checklist

Before your next production run, confirm you can answer each of these:

  • You have a written TLC format and you're using it consistently.
  • Every output lot in the last 30 days has a TLC.
  • Each TLC is linked to the input lot codes that fed it.
  • Each TLC appears on the shipping document that left your facility.
  • You can produce a traceback for any of those TLCs in under an hour.

If you're missing more than one of those, the gap isn't the TLC itself — it's the routine around it. Fix the routine first.


Further reading

Related on this site

Last reviewed: April 28, 2026.