RFID Crate Tracking at the Produce Intake Dock: FSMA 204, GRAI and Real Read Rates

Palletised reusable plastic produce crates passing through a dock-door RFID portal at a distribution centre intake bay

Open the US Food Traceability Rule at the receiving record. 21 CFR 1.1345(a)(2) requires the quantity and unit of measure of the food, and supplies its own examples in a parenthetical: 6 cases, 25 reusable plastic containers, 100 tanks, 200 pounds. In the FDA’s own drafting the reusable plastic container is a unit of measure for a regulated food — which makes an intake-dock read point in fresh produce a compliance record as much as a logistics convenience.

What follows: the three identities on a pallet, the encoding, the read-rate evidence, and the arithmetic behind a portal.

The regulator counts crates

The parenthetical is deliberate. The identical list appears six times across subpart S of 21 CFR part 1: § 1.1330(a)(13) and § 1.1330(c)(7) for initial packing, § 1.1340(a)(2) for shipping, § 1.1345(a)(2) and § 1.1345(b)(2) for receiving, § 1.1350(a)(2)(v) for transformation. Wherever the rule asks how much food moved, the reusable plastic container is offered as a way to answer.

Which of the eight receiving KDEs can a reader produce?

Receiving KDE (§ 1.1345(a))Where the data really comes from
(1) Traceability lot codeInbound ASN or EPCIS record
(2) Quantity and unit of measureReader + middleware — distinct crate identifiers at the portal
(3) Product descriptionMaster data, keyed from the lot code
(4) Immediate previous sourceASN or master data (shipper GLN)
(5) Where receivedReader — fixed read point per dock door
(6) Date receivedReader — event timestamp
(7) Lot code source or referenceASN or master data
(8) Reference document type and numberReceiving advice from the host

Three of eight come off the read point — including element (2), the one hardest to produce by hand.

Who is in scope, and when

The original compliance date was 20 January 2026. On 7 August 2025 FDA published a proposed rule (90 FR 38084, Docket No. FDA-2014-N-0053) to extend it “by 30 months from January 20, 2026, to July 20, 2028.” Congress then directed FDA to hold enforcement until 20 July 2028 through the Continuing Appropriations, Agriculture, Legislative Branch, Military Construction and Veterans Affairs, and Extensions Act of 2026, and FDA states that it “intends to comply with this Congressional directive.” The operative date now rests on that statute, with the proposed rule still pending.

The Food Traceability List reaches well beyond produce, but its produce entries alone — cucumbers, herbs, leafy greens (fresh and fresh-cut), melons, peppers, sprouts, tomatoes and tropical tree fruits (all fresh), and fresh-cut fruits and vegetables — read close to a description of the crate pool itself.

One exemption repays reading. The commingled raw agricultural commodity exemption at § 1.1305(h)(1) reaches only commingled RACs that, as defined in § 1.1310, “do not include types of fruits and vegetables” subject to the part 112 produce standards. Produce under the Produce Safety Rule is carved out of the carve-out.

Treat July 2028 as a design window: a DC portal network runs in quarters — survey, pilot, tag selection, integration, rollout.

Three identities travel on one pallet

Crate projects turn on this distinction. One pallet carries three identifiers:

§ 1.1320(a) permits a lot code to be minted on three occasions: initial packing of a raw agricultural commodity, first land-based receiving of a food from a fishing vessel, or transformation. § 1.1320(b) confines the set — “Except as otherwise specified in this subpart, you must not establish a new traceability lot code when you conduct other activities (e.g., shipping).” And § 1.1310 defines it as a descriptor identifying a lot “within the records of the traceability lot code source.”

The lot code is a property of the food inside the lot code source’s own records; the crate tag identifies a plastic box owned by a pooling company. The traceability key is the lot code; the tag ID is the crate. A compliant system keeps a time-bounded association — this GRAI held food under this lot code between this receipt and this wash — and reports the lot code. Hold it in that direction and the first recall query crossing a wash cycle still resolves to the right lot.

Corroboration: GS1 US’s own EPCIS guidance for FSMA 204 models the pallet as an SSCC throughout its 54 pages, and keeps crate identity outside the compliance record entirely. Crate identity lives beside that record, in the pool operator’s data set.

Encoding the crate: GRAI-96, and when GRAI-170 is the right choice

Version, from the title page: GS1 EPC Tag Data Standard, Release 2.3, Ratified, Oct 2025. Two GRAI encodings, one partition table.

Partition (P)Prefix bits (M)Prefix digits (L)Asset type bits (N)Asset type digitsM + N
040124044
137117144
2341010244
330914344
427817444
524720544
620624644

Every row sums to 44 bits, which makes both schemes close exactly: 8 (header) + 3 (filter) + 3 (partition) + 44 + 38 (serial) = 96; with a 112-bit serial, 170.

Two checks before you order tags

The filter value. GRAI Filter Values (Table 10-4) define value 0 as “All Others” and reserve 1 through 7. There is one correct filter value for a crate, and it is zero.

The serial-format check. The GRAI-96 serial is an integer field: it carries numeric serials without leading zeros. A pool whose printed serials include letters or leading zeros belongs on GRAI-170. Read the serial format off the physical crates first, and the memory choice follows from it — that one check is what keeps a pool off a re-tag later.

One crate, encoded field by field

A 7-digit company prefix selects partition 5. Prefix 0614141, asset type 60401, serial 1234567. The prefix digits are encoded as their integer value, so the 24-bit field carries 614141.

FieldBitsValueBinary
EPC header8GRAI-9600110011
Filter30000
Partition35101
Company prefix240614141 as integer 6141410000 1001 0101 1110 1111 1101
Asset type20604010000 1110 1011 1111 0001
Serial38123456700 0000 0000 0000 0001 0010 1101 0110 1000 0111
Total96Hex 3314 257B F43A FC40 0012 D687

As a URI: urn:epc:tag:grai-96:0.0614141.60401.1234567. As an element string under AI (8003): 006141416040121234567, check digit 2 being the modulo-10 digit over the preceding thirteen. Encode both — the wash line is hard on labels, and someone will key the number by hand.

Read rate is a property of the load

A read-rate percentage for produce is a property of the load: it is set by what is on the pallet. The cleanest published demonstration uses active 915 MHz temperature tags rather than passive crate tags, which makes it evidence about the load rather than about the reader — Laniel and Émond (2010) in Innovative Food Science and Emerging Technologies 11(4), 703–706: 42 tags evenly distributed through a 12 m refrigerated sea container, loaded three times, read at 915 MHz.

CargoTags readOf 42Unread on a 304-crate pallet at the same rate
Canned vegetables97.6%41about 7 crates
Fresh meat61.9%26about 116 crates
Frozen bread57.1%24about 130 crates

The right-hand column is sensitivity arithmetic, applying those percentages to the 304-crate pallet described below. The compliance point is sharp: even a 97.6% read on 304 crates leaves about seven uncounted, and closing that gap is what the tuning work below earns its budget for.

Moisture is the variable that moves the read rate. Canned vegetables — a metal load — read best of the three, and the authors conclude that radio waves at 915 MHz are absorbed by high water as well as ice content. Tags on the top of a pallet also read more reliably.

Three mitigations are settled before any reader setting is touched: tag in the crate wall, away from the produce mass; moulded in so placement is identical across the pool; pallets oriented so tagged faces present to the antennas. Settings come afterwards — see our dock-door portal design worksheet and why portals miss tags and read too many.

The baseline case: moulded-in tags and a depot portal

The reference deployment has outcome data. RFID Journal reported on 23 July 2007 that Euro Pool System owned more than 88 million containers carrying at least 414 million shipments a year. Specifics worth copying:

And the honest number: read success was 60% in the first year and reached 100% after modification — reader reprogramming, software filters, a change of tag technology, antenna and reader adjustments. The whole distance from 60% to 100% was work done after the hardware arrived. Budget for it.

Crate-tag selection checklist

  1. Survives repeated hot caustic wash and high-pressure jets — put temperature and cycle count in the specification.
  2. Moulded into the crate wall in an identical position on every crate, so the fleet behaves as one population.
  3. Impact and crush resistant where crates are thrown and stacked.
  4. Readable both empty and full.
  5. Serial format fixed before tagging, checked against the GRAI-96 constraint.

We build the readers and antennas for this read point in FCC-band (902–928 MHz) and ETSI-band (865–868 MHz) variants per order; see returnable crate tracking and pallet tracking.

Where the reader's output has to land

A portal earns its place when its count lands in a record someone can query. The destination is an EPCIS event: GS1 US EPCIS Recommendations for FSMA 204 Critical Tracking Events, Release 2.0, 15 May 2025, 54 pages, Receiving CTE at section 7. Two models, with real query consequences:

If a recall query will be written under time pressure, the second is kinder. A receiving event from a portal read:

EPCIS fieldValue from the read pointKDE satisfied
type / action / bizStepAggregationEvent / OBSERVE / receivingIdentifies the CTE
parentIDSSCC of the palletPallet identity
childQuantityListLot-coded class, 304, crates(2) Quantity and UoM
eventTimePortal timestamp(6) Date received
readPoint.idGLN of the dock door(5) Where received
sourceListGLN of the shipper(4) Previous source
bizTransactionList (recadv)Receiving advice number(8) Reference document
Lot code on the epcClass URIFrom the inbound ASN(1) Lot code

The crate’s GRAI lives in the pool operator’s data set, beside the compliance record. Your middleware holds the join, and that join — rather than the EPCIS event — makes the fleet manageable. Pushing it onto the reader is the pattern in ReaderSense Edge MDM.

The loss-rate sum that pays for the portal

Crate pooling’s dominant cost is asset attrition:

Annual loss value = fleet size (N) × annual loss rate (r) × replacement cost per crate (C)

Two attributed anchors for r:

Worked: N = 250,000, r = 20% (rounded up from Tosca’s stated “nearly 20%”), C = USD 6.00 (an assumption — substitute your own): 250,000 × 0.20 = 50,000 crates; 50,000 × USD 6.00 = USD 300,000 per year.

A read point recovers the share you can act on once you know which site last held each crate. Apply a recovery fraction f to that share, then invert the sum into a capital budget at two-year payback over eight doors:

Recovery fraction fAnnual saving2-year payback budgetBudget per door (8 doors)
10%USD 30,000USD 60,000USD 7,500
25%USD 75,000USD 150,000USD 18,750
50%USD 150,000USD 300,000USD 37,500

That last column is the number to take to a quotation: the ceiling for reader, antennas, mounting, cabling and installation per door, derived from a sourced loss rate rather than a vendor’s payback slide. One measurement convention to fix first: pool sizes quoted in different places count different things — circulating units, owned units, one product family, or annual shipments. Settle the basis before comparing.

Passive tags and portals, or a tracker per crate

The largest pool operators run both, which is the best evidence that each earns its place on a different class of asset. IFCO’s IoT ecosystem “integrates BLE, RFID, GRAI-code, and hybrid location technologies” (reported 7 September 2026),. Scale: around 400 million crates, 2.5 billion uses a year, 50+ countries (27 April 2026).

We design and manufacture the passive UHF readers, antennas and gates for this read point, and the sum below prices one against the alternative. The tracker line uses a third-party BLE device at USD 12.00 amortised over an assumed 5-year service life — an assumption about that class of device, supplied so you can substitute the figures from your own quotation. Passive: a USD 0.25 tag over a 7-year crate life = USD 0.0357 per crate per year, plus a USD 150,000 portal network over 5 years across 250,000 crates = USD 0.12, for about USD 0.16. Tracker: USD 12.00 over 5 years = USD 2.40. Roughly 15 times. Cost per year means more when set against the asset it protects:

AssetReplacement valueTracker, % of value/yrPassive + portal, % of value/yr
Produce crateUSD 640.0%2.6%
Folding bulk crateUSD 604.0%0.3%
RolltainerUSD 4000.6%0.04%
Steel stillageUSD 1,2000.2%0.01%

The crossover is a function of asset value and fleet size. On these assumptions a tracker costs under 1% of asset value per year once the asset is worth about USD 240. Below that — where every produce crate sits — passive tags and shared portals win, and win by more as the fleet grows, because portal cost is shared while tracker cost scales per asset. For a crate pool the answer is usually both: passive tags fleet-wide, trackers on the few high-value or straying assets — how our logistics and supply chain deployments are built.

The EU side: evidencing reuse cycles

In the EU the parallel driver is the Packaging and Packaging Waste Regulation, Regulation (EU) 2025/40, applying from 12 August 2026. Reporting on the Commission’s final PPWR guidance (4 January 2026) describes conformity assessment under Article 38 and Annex VII and an EU declaration of conformity under Article 39. We covered it in our post on returnable transport packaging under the PPWR.

The engineering observation is underappreciated: a reuse cycle is a read pair — the crate leaving the service centre, the same crate returning. The portals counting crates for an intake record also count cycles for a reuse claim, on the same hardware. A defensible cycle counter needs a permanent crate identity (the GRAI), a time-stamped read pair with direction, and a durable record.

Demand kept building after the date moved

Packaging Dive, 4 June 2025, quotes Gartner’s Sandeep Unni describing a “resurgence” of RFID investments in the last 12 to 18 months, the January 2026 deadline having created what he called “sort of an emergency.” It quotes Identiv CEO Kirsten Newquist on the extension — “It slows down this expected boost to the RFID industry, but I don’t think it shuts it down” — and reports Avery Dennison recording a 15% compound annual growth rate in intelligent label sales from 2018 to 2024, the same rate targeted ahead.

Read alongside Euro Pool System’s 60%-to-100% tuning curve, starting now is a scheduling decision: portal work that produces a reliable crate count takes quarters, and the deadline is July 2028.

We design and manufacture the UHF readers, antennas and gates for intake-dock read points and build the software behind them, including OEM and ODM programmes. To scope a portal against the numbers above, have the crate population, the wash-line temperature and the pallet height ready.

Frequently asked questions

Does FSMA 204 require tracking reusable plastic crates?

The rule requires the quantity and unit of measure of the food, and names “25 reusable plastic containers” as an example of how to express it — the same parenthetical appears six times across subpart S, including at § 1.1345(a)(2) for receiving. So the crate count can be the regulated quantity. The traceability subject itself is the food and its traceability lot code, and counting crates is a permitted and practical way to record how much of it arrived.

Is the crate's RFID tag the traceability lot code?

The crate tag carries a GRAI, which identifies the returnable asset owned by the pool operator and survives every wash; the traceability lot code is a property of the food. § 1.1310 defines the lot code as a descriptor identifying a lot “within the records of the traceability lot code source,” and § 1.1320(b) confines new lot codes to initial packing, first land-based receiving from a fishing vessel and transformation. The system therefore holds a time-bounded association between crate and lot, and reports the lot code.

How do you encode a reusable crate identifier on an RFID tag?

Use a GRAI under the GS1 EPC Tag Data Standard, Release 2.3 (Ratified, Oct 2025). GRAI-96 has header 00110011, a 3-bit filter, a 3-bit partition, 20–40 bits of company prefix, 24–4 bits of asset type and a 38-bit numeric serial, giving 96 bits in total. With a 7-digit company prefix you select partition 5 (24 bits of prefix, 20 of asset type), and the prefix digits are encoded as their integer value. GRAI-170, header 00110111, carries a 112-bit serial of up to 16 characters, which is the choice for serials with letters or leading zeros.

Why do RFID reads drop on pallets of wet produce?

Water absorbs the signal. Laniel and Émond (2010) distributed 42 tags through a 12 m refrigerated sea container and read them at 915 MHz: canned vegetables returned 97.6% of tags, fresh meat 61.9% and frozen bread 57.1%. The counterintuitive part is the ranking — canned vegetables, a metal load, read best, because the variable that moves the read rate is moisture, and the authors conclude that 915 MHz waves are absorbed by high water as well as ice content. Tags near the top of a pallet read more reliably.

Can RFID tags survive a crate wash line?

Yes, when specified for it. Euro Pool System tagged foldable crates with EPC Class 1 Gen 2 passive UHF tags embedded in the crate’s lower side, specified to withstand high-pressure cleansing with soap and water as hot as 70 °C. Put the wash temperature, the jet pressure and the expected cycle count into the tag specification, and require the tag to be moulded into the wall in an identical position on every crate so the fleet behaves as one population.

What is the FSMA 204 compliance date now?

The original date was 20 January 2026. On 7 August 2025 FDA published a proposed rule (90 FR 38084) to extend it by 30 months to 20 July 2028. Congress then directed FDA to hold enforcement until 20 July 2028 through the Continuing Appropriations, Agriculture, Legislative Branch, Military Construction and Veterans Affairs, and Extensions Act of 2026, and FDA has said it intends to comply with that Congressional directive. The operative date therefore rests on the statute while the proposed rule remains pending.

Is a BLE tracker better than a passive RFID tag for crate pooling?

It turns on asset value. A third-party BLE tracker at USD 12.00, amortised over an assumed 5-year service life, costs USD 2.40 per asset per year; a USD 0.25 passive tag over a 7-year crate life plus a shared USD 150,000 portal network amortised across 250,000 crates costs about USD 0.16. On those assumptions a tracker is under 1% of asset value per year once the asset is worth roughly USD 240. For a USD 6 produce crate, passive tags and shared portals win decisively, and the margin widens as the fleet grows because portal cost is shared.

Sources