What has to be on a produce case label, how GTINs and lot numbers work, what the Voice Pick Code is for, and what retailers actually check at receiving — all in one place.
Written for growers, packers & packing houses · Updated July 2026
The Produce Traceability Initiative (PTI) is a produce-industry standard, built on GS1 identifiers, for tracking fresh produce at the case level. Launched in 2008 by the major produce trade associations together with GS1 US, its goal is simple: when there's a recall or a quality problem, anyone in the supply chain should be able to trace a specific case back to who packed it and which lot it came from — in minutes, not days.
In practice, PTI comes down to one thing you can hold in your hand: a standardized case label. Every case that leaves your operation carries a GS1-128 barcode encoding its GTIN and lot number, matching human-readable text, and a Voice Pick Code. Retailers scan those cases at receiving, and the identifiers flow through their inventory, picking, and recall systems.
PTI is voluntary in the sense that no law mandates it — but if your buyers are supermarket chains, wholesalers, or foodservice distributors, PTI-compliant case labels are a condition of doing business. And with FDA's FSMA 204 traceability rule phasing in, the identifiers on a PTI label are becoming the backbone of legally required record-keeping too (more on that below).
Four elements do the work. Each barcode-carried item is tagged with its GS1 Application Identifier — the number in parentheses that tells scanners what the digits that follow mean:
The Global Trade Item Number identifying the product and pack style — e.g., "Organic Avocados, 48 count, 25 lb case." Built from your GS1 company prefix. One GTIN per distinct item configuration.
Identifies the specific production batch — the field, day, or line the case came from. This is what makes a recall surgical instead of catastrophic: pull one lot, not your whole label.
Not part of the PTI minimum, but many buyers require a pack date (13) or harvest date (11) in the barcode or as text. Confirm your buyer's spec — this is the most common "extra" requirement.
The four-digit code in the corner — two small digits over two large ones. It's a hash of the GTIN, lot, and date that lets voice-directed warehouse systems confirm a pick in one spoken breath.
Everything in the barcode also appears as human-readable text, so a case can be identified when a scanner isn't handy — or when the barcode is damaged. Beyond the PTI core, the label typically carries the commodity name, brand, grower or packer city and state, country of origin, and any certifier marks.
A GTIN-14 is a 14-digit number that uniquely identifies a trade item worldwide. For produce cases it's built from four parts:
Example only — the prefix 0614141 is GS1's documentation example, not a real company's.
The indicator digit distinguishes packaging levels of the same product (a case vs. an inner pack). The company prefix is licensed from GS1 US and identifies your company. The item reference is a number you assign to each distinct product/pack configuration. The check digit is calculated from the other thirteen — a math check that catches mistyped numbers.
Two practical rules: every distinct item configuration gets its own GTIN (organic vs. conventional, 48 ct vs. 60 ct, different case weights), and you never reuse someone else's prefix. If you're just getting started, licensing a GS1 company prefix is the first concrete step toward PTI compliance.
The GTIN says what the product is; the lot number says which batch it belongs to. PTI leaves the lot format up to you — up to 20 alphanumeric characters under AI (10) — but a good lot scheme encodes something you can act on: harvest date, field or block, packing line, or crew.
The test of a good lot number is the recall drill: if a buyer calls about a specific case, can you go from the lot number on its label to the exact harvest date, field, and packing records — and can you name every other case that shares that exposure? If yes, your lot scheme works. If a single lot number spans your whole season, one problem case can implicate everything you've shipped.
Many operations rotate lot numbers daily or per-field. Sequential per-day lot numbering keeps each batch tight without adding work at the label printer.
The odd little number block in the corner of every PTI label — two small digits stacked over two large digits — is the Voice Pick Code. It exists for one specific workflow: voice-directed picking in distribution centers.
Workers in many produce DCs wear headsets and confirm picks by voice. Reading a 14-digit GTIN plus a lot number aloud isn't workable, so PTI defines a four-digit hash computed from the GTIN, lot number, and date on the label. The system asks for the check digits; the picker glances at the label, speaks the two large digits (and the small ones if asked), and the pick is confirmed against the exact GTIN + lot combination — not just the product.
Because it's a hash, the Voice Pick Code changes whenever the GTIN, lot, or date changes — which means it must be calculated, not copied from yesterday's label. It's one of the most common things to get wrong on hand-built labels, and a wrong code breaks the very verification it exists to provide. (PTI Label Studio computes it automatically from the label's own data, so it's always in sync.)
PTI case labels use GS1-128 — a standardized application of Code 128. The distinction matters more than it sounds: a GS1-128 barcode begins with an invisible FNC1 character that tells the scanner "the data that follows is structured with GS1 Application Identifiers." Without it, the very same bars scan as plain Code 128, and receiving systems that validate symbology can reject the case even though the label looks perfect.
This is an easy thing to get wrong with generic barcode tools, because the label prints and even scans "fine" on a phone app — phone scanners are the most forgiving readers there are. The receiving scanners at a retailer's DC are not. PTI Label Studio's GS1-128 output is verified at the code-word level and scan-tested against the same Cognex verification setup a major national foodservice distributor uses at receiving.
Beyond correct encoding, three physical things decide whether a barcode reads on a moving conveyor: quiet zones (blank margins on both sides of the bars — don't crowd them with text or edges), contrast (crisp black bars on white; direct thermal labels fade with heat and sun, so store cases sensibly), and bar width accuracy (use a thermal printer at its native resolution rather than scaling a PDF). A 203 dpi Zebra printing native ZPL produces exact bar widths; a stretched office-printer PDF often doesn't.
Case labels are half the traceability picture. When those cases are stacked and shipped, retailers don't want to scan sixty cases at the dock — they want to scan one pallet label and receive everything on it. That's the job of the SSCC pallet label: an 18-digit Serial Shipping Container Code that acts as the pallet's license plate, linking every case's GTIN and lot to a single scannable ID tied to the shipment's ASN.
PTI case pallet linking is what makes hybrid pallets, cross-docking, and one-scan receiving work — and it's where several retailers' requirements get specific (labels on two adjacent sides, PO/BOL references on the tag). We cover the whole topic, including retailer-by-retailer pallet rules, in our dedicated guide: PTI pallet labels & SSCC tags.
In PTI Label Studio, pallet labels inherit the case data you've already entered, and the Packing House plan's Master Label feature generates shipment-level summaries across multiple pallets — the case-to-pallet link, automated.
The PTI core is the same everywhere, but buyers layer their own requirements on top. In broad strokes:
| Retailer | Case label expectations |
|---|---|
| Walmart / Sam's Club | PTI case labels with GTIN + lot; pack date expected; SSCC pallet labels tied to an ASN. |
| Kroger | PTI case labels with Voice Pick Code (Kroger drove its adoption); SSCC pallet labels on inbound produce. |
| Costco | PTI case labels; SSCC pallet labels on two adjacent sides of each pallet. |
| ALDI | Standard PTI case labeling; pallet labels per supplier agreement. |
| Foodservice distributors | PTI case labels; many verify GS1-128 symbology at receiving and reject plain Code 128. |
Requirements change and vary by buying office. Always confirm the current label specification with your specific retailer or buyer before shipping.
FSMA 204 — FDA's Food Traceability Rule — is often mentioned in the same breath as PTI, but they're different things. PTI is a voluntary industry standard for labeling cases. FSMA 204 is a federal regulation requiring traceability records (Key Data Elements captured at Critical Tracking Events) for foods on the Food Traceability List — which includes many fresh produce items like leafy greens, tomatoes, cucumbers, herbs, and melons.
The two fit together naturally: FSMA 204 records revolve around a traceability lot code, and the GTIN + lot number already printed on your PTI case label is the obvious carrier for it. If your cases are PTI-labeled, the identifiers your FSMA records need are already traveling with the product — the remaining work is keeping the records themselves.
On timing: FDA extended the FSMA 204 compliance date to July 2028, giving the supply chain more runway — but retailers aren't waiting, and several have set their own earlier deadlines for suppliers. A PTI label doesn't make you "FSMA compliant" by itself (no label does — compliance is about records), but it's the labeling foundation the record-keeping stands on. We break down the full rule — covered commodities, KDEs by tracking event, and the 24-hour spreadsheet — in our FSMA 204 guide for produce, or confirm current dates at fda.gov.
The most common reasons a case label fails at a retailer's dock — all preventable:
PTI Label Studio was built for growers and packing houses who need retailer-ready labels — not a labeling department. Enter your product details once; the standards work is handled for you.
A case label that follows the Produce Traceability Initiative standard: a GS1-128 barcode encoding the case's GTIN and lot number, matching human-readable text, and a four-digit Voice Pick Code. It gives every case of produce a scannable identity from the packing line to the retailer's DC.
At minimum: the GTIN (what the product is), a lot number (which batch), both in a GS1-128 barcode with matching human-readable text, plus the Voice Pick Code. Many buyers also require a pack or harvest date — confirm the exact spec with your retailer.
PTI itself is voluntary, but if you sell to retailers, wholesalers, or foodservice distributors that require it, PTI case labels are effectively a condition of doing business. Farmers markets and direct-to-consumer sales generally don't require them.
4 × 2 inches is the common case-label format, printed on thermal label stock. What matters to the standard is the content and barcode quality, not the exact dimensions — but 4 × 2 fits standard applicators and thermal printers like the Zebra GX and ZD series.
GS1-128 is Code 128 that starts with an FNC1 character and structures its data with Application Identifiers like (01) and (10). The bars can look identical, but without the FNC1 a scanner reads plain Code 128 and can't parse the GTIN and lot — a common cause of receiving rejections.
No. PTI is a voluntary industry labeling standard; FSMA 204 is an FDA regulation about traceability records for foods on the Food Traceability List. They complement each other: the GTIN and lot on a PTI label are the natural carriers for the traceability lot code FSMA records reference.
If you ship palletized product to major retailers, almost certainly yes — an SSCC pallet label links all the cases on a pallet to one scannable ID. See our PTI pallet label guide for the retailer-by-retailer rules.
Start a 7-day free trial — no install, no credit card. GTIN check digits, Voice Pick Codes, and GS1-128 encoding handled for you.
Start 7-Day Free Trial