A lot number is a short code that ties one package back to one production run. For most small producers the
easiest scheme that works is the production date plus a letter for the batch: 260921A is the first batch made on
September 21, 2026. Put that code on every unit and every case, write it on the batch sheet next to the ingredient
lots you used, and note it on the invoice when the product leaves. That's the whole system. Everything below is detail.
The short version
- Pick a format and never change it. Date plus batch letter (
260921A) is the one I'd start with. - One batch gets one code. A batch is what you made in one run, on one day, from one set of ingredients.
- The code goes on every unit and every case, somewhere it won't rub off.
- On the batch sheet, write the code, how many you made, and the lot number of every ingredient that went in.
- When product ships, write down which lot went to which customer.
Steps 4 and 5 are the ones people skip, and they're the ones that matter. A code on a jar with nothing behind it is decoration.
Pick a format
There's no federal rule that dictates a lot code format for most packaged foods, so you get to choose. (The big exception for small sauce and pickle makers is further down.) Here are the four schemes you'll see in the wild.
| Scheme | Example | How it reads | Good to know |
|---|---|---|---|
| Date + batch letter | 260921A |
Sep 21, 2026, first batch | Anyone on your team can read it without a chart. Year first means codes sort in order |
| Julian date | 26264A |
Day 264 of 2026, first batch | Shorter, and customers can't read it as a date. Your staff will need the day-number chart taped to the wall |
| Best-by date as the lot | BB 032127 |
Best by Mar 21, 2027 | One stamp does two jobs. Breaks down the day you make two batches, or change your shelf life |
| Sequential | B0412 |
The 412th batch | Says nothing on its own. Fine if your batch log is solid, useless if it isn't |
My advice is to skip the clever options. The date-plus-letter code is readable at 5 a.m., it sorts correctly in a spreadsheet, and when a store manager reads it to you over the phone you know what day you're talking about before you've opened a binder.
If you make more than one product, you don't need the product in the code. The label already says what it is.
Decide what counts as a batch
This is the question that actually determines how bad a recall would be. The rule of thumb: one batch is one continuous run of one product, from one set of ingredient lots, on one day. One kettle of hot sauce is a batch. If you cook a second kettle after lunch, that's batch B.
Two situations come up constantly.
You open a new bag of an ingredient halfway through a run. You have two honest choices. Start a new batch code at that point, or keep the one code and write both ingredient lots on the batch sheet. The second is less work, and it means that if either ingredient lot is ever recalled, the whole batch goes. That's usually fine.
Your ingredients don't have lot numbers. Anything bought at a restaurant supply or warehouse store often
won't, or the code is buried on a case you threw away. Give it your own at receiving: supplier and date, like
RD-260918 for what you picked up on September 18. Write it on the container with a marker. It's not perfect, but
it narrows a problem down to one shopping trip instead of everything you've ever bought.
Smaller batches mean smaller recalls. If a complaint comes in about 260921B and you made 264 bottles in that
batch, you're looking for 264 bottles. If your "batch" is a whole week, you're looking for all of it.
Put it on the package
Every unit and every shipping case. How you get it there depends on volume:
- A handwritten code on the label is fine when you're making a few dozen. Use a fine-tip permanent marker and test that it survives a wet hand.
- A self-inking date stamp with adjustable bands costs about as much as lunch and handles hundreds of units. Stamp the labels before they go on.
- A small handheld inkjet coder prints straight onto glass, film or the bottom of a tin, and starts making sense once you're doing a thousand units a week.
- If you print your own labels, add the lot as a variable field and print per batch.
Put it in the same place on every product. The bottom of the jar is traditional and terrible (nobody can read it on a shelf). Near the best-by date is better, because that's where store staff already look.
Write down what went in, and where it went
Here's a batch sheet for one day, stripped to what matters:
Batch 260921A |
Batch 260921B |
|
|---|---|---|
| Product | Mango habanero, 5 oz | Mango habanero, 5 oz |
| Made | 288 bottles (24 cases) | 264 bottles (22 cases) |
| Habanero mash | lot HM-0911 |
lot HM-0911 |
| Mango purée | lot 48213 (supplier's) |
lot 48377 (supplier's) |
| Vinegar | lot RD-260918 (ours) |
lot RD-260918 (ours) |
| Bottles / caps | PO-1184 / PO-1184 |
PO-1184 / PO-1190 |
| Made by | initials | initials |
Then, on every invoice or packing slip, one extra column: the lot. "12 cases, lot 260921A." It takes five seconds at the packing table.
Now play it forward. Three weeks later your purée supplier emails: lot 48377 is being recalled. You look at the
sheets, see that only 260921B used it, check your invoices, and find that those 22 cases went to two stores and
your own market table. You make two phone calls. Without the records, the honest answer to "which of your products
are affected?" is "possibly all of them," and that's the answer that ends wholesale accounts.
(If you want to see the whole exercise run start to finish, there's a mock recall worked through with numbers.)
When the code isn't optional
For certain products the code is the law, and it's worth knowing if you're one of them.
If what you make is an acidified food under FDA's rules, which covers a lot of shelf-stable pickles, salsas and sauces, 21 CFR 114.80(b) requires each container to carry a code "permanently visible to the naked eye" identifying the establishment, the product, and "the year, day, and period during which it was packed." If you've filed a scheduled process for your product, this applies to you, and your process authority can tell you how to satisfy it.
State cottage food laws sometimes have their own rules. Texas, for one, requires a unique batch number on pickled, fermented and acidified cottage foods, with records kept for twelve months (§437.01951). Check your own state.
And then there's the requirement that isn't a law at all: the buyer's. Distributors and grocery chains will ask for lot codes on units and cases before they'll list you, and they'll usually want to see a recall plan as well.
This is general information, not legal advice. Your inspector or process authority has the last word.
Where this stops working
Paper batch sheets work well right up until you need to search them. "Which batches used vinegar lot RD-260918?"
means turning pages, and in a binder covering six months that's an afternoon. The other weak spot is the invoice
step. It's easy when you're packing the order yourself and it quietly stops happening when somebody else is.
A spreadsheet fixes the searching. It doesn't fix the forgetting, because someone still has to type the lots in.
How TaroStack does it
In TaroStack, lots aren't a separate chore. When you receive ingredients you record the supplier's lot (or your own code, if the case doesn't have one), and when you record a batch, the app takes ingredients from the lots that expire first and writes down which ones it used. You don't choose and you don't type them. The finished batch gets its lot code, and you can print lot labels with GS1-128 barcodes, which some of the bigger distributors ask for on cases.
When product ships, the lot goes on the order, so the question "who got 260921B?" is one report: the ingredient
lots that went in, the customers it went out to, what's still on your own shelves, and the phone numbers. Lots,
expiry and recalls are part of every plan. Recording batches against recipes is part of Standard.
