Let me tell you about a load I hauled last July that still makes me wince for the shipper.
Twenty-two pallets of romaine lettuce, Salinas to Dallas, into a 3PL cold storage. Salinas, California — the "salad bowl," most of America's lettuce comes out of there. Peak season, 95 degrees outside the day we loaded. I'd had the reefer running two hours early, box at 34°F, rock solid.
Fourteen hundred miles, two days, Dallas. The receiving guy cracks the doors, shoots his temp gun: 37°F. Fine, no excursion, signs off, we unload. I figured that was a clean run.
Two weeks later the shipper calls, and his tone tells me everything: "Shifu, that load — you sure the temps were fine on the road?" Buddy, I still have the logger data: 34 to 36 the whole way, never broke. And here's the thing — temps were perfect. The problem was expiry dates.
Turns out my 22 pallets had been harvested later than the batch that arrived two days before mine, so mine expired sooner. The warehouse ran strict first-in, first-out. The earlier batch with the longer shelf life went out first; my shorter-dated pallets sat behind it. By the time mine got picked, there wasn't enough shelf life left for the grocery chains. Rejected at the dock. Half a truckload, down the drain.
Here's what that load taught me: in a fresh-food warehouse, "first in" and "first to expire" are two completely different things.
First In Doesn't Mean First to Expire
Fifteen years hauling reefer, and I've got this figured out: with fresh produce, harvest date and arrival date are often backwards.
Freight that traveled four or five days has less shelf life baked in the moment it arrives; stuff picked yesterday twenty miles away shows up today with a longer clock. If you ship in arrival order — first in, first out — the short-dated pallets get buried behind the long-dated ones. By their turn, the clock's run out.
Worse, plenty of grocery chains check remaining shelf life at receiving. Too little left, they refuse the load — every retailer's receiving policy is different, so check theirs. Your product sat in the warehouse in perfect condition, temps never broke, and it gets condemned the moment it rolls out. Tell me that isn't brutal.
So FIFO alone doesn't cut it in fresh food. You need its tougher cousin: FEFO, first-expired, first-out. Four letters. If you run fresh product, tattoo them on your brain.
Good Temps Won't Save a Dying Date
A lot of folks think cold chain equals temperature control. Temps stay in range, everything's fine. I'm telling you, it isn't.
Temperature controls how fast product degrades. The expiry date controls the calendar. You can run the reefer perfectly and the date still marches on, one day at a time, whether you like it or not. Lettuce at 37°F for two weeks versus 34°F for two weeks — maybe a quality difference, but when the date's gone, the buyer walks away all the same.
Late 2024, I was running a dedicated lane for a berry shipper out of Fresno — blueberries, strawberries, Yuma to a cold storage in LA. One day their warehouse manager unloads on me: shrink rate at 8%, and every dumpster trip keeps him up at night.
I walked their floor, and the problem jumped out in about ten minutes: their system had no expiry-date field at all. Receiving logged quantity and lot number, and pickers grabbed whatever pallet was handy. Today this one, tomorrow that one, pure gut feel. Short-dated berries buried inside the stacks — by the time anyone noticed, the blueberries had fur on them.
What does 8% mean? Let's do rough math — say a trailer of berries runs about $40,000 depending on season (prices swing wildly, this is just to get the scale right). Eight percent is $3,200 in the dumpster per load. They were running twenty-some loads a month. That's over $60,000 a month in shrink. Over a year, that's a down payment on a small warehouse in Fresno.
How'd they fix it? Three things — details below. Six months later, shrink was hovering around 3%. Same rough math: $2,000 saved per load, $40,000 a month, pushing $500,000 a year. That buys a lot of reefer units.

Three Things That Actually Tame Expiry Dates
Full disclosure: I'm a driver, not a systems guy. I can't tell you what the buttons are called in the software. But fifteen years in and out of cold storages, I can tell within one walk-through which ones have expiry under control and which ones are a mess. The good ones all do the same three things:
First, capture the expiry date at receiving. No exceptions.
Don't just log "so many pallets arrived today." Log when each pallet was produced and when it expires. One pallet, one date. Mixed pallets get broken down and logged separately. Plenty of warehouses rush receiving in five minutes and leave the expiry field blank — and then any talk of FEFO is hot air. No foundation, no house.
And receiving isn't just about dates. Check the temps too — trailer air temp and product core temp both. Keep the logger data on file. The FDA keeps tightening food traceability rules, and having the data protects everybody. Product that arrives warm gets held on the spot, no soft hearts — the load you accept today out of kindness is the shrink you pay for tomorrow.
Second, pick by expiry date, not by convenience.
Once dates are in the system, outbound picks run nearest-expiry first, and pickers follow the list — no grabbing the closest pallet. Short-dated product lives nearest the pick face; long-dated sits deeper. Same logic as the yogurt aisle at the store: the stuff expiring soonest is always up front.
Set up short-date alerts with a few tripwires. The rule of thumb in this business: product with 14 days of life or less, flag it at 5 days out; 15 to 45 days, flag at 10 days; longer than that, flag at a third of its life remaining. Flagged product gets moved fast — markdown, secondary wholesale, donation for the tax write-off. Anything beats the dumpster.
Third, double-check temps and dates at handover.
This one's for shippers and warehouses both — and yeah, it's a little self-serving coming from a driver. A truck sitting four hours in the check-in line is four hours of shelf life burning off inside that box. Appointment systems, fast unloading — that's not just saving the driver time, it's buying shelf life. And pre-cool the trailer before loading; don't wait until the freight's aboard and the unit's huffing to pull the temperature down. Those first few hours, your product is sitting in a sauna.
When You Can Skip FEFO
Now, fair is fair — FEFO isn't magic, and I'll say this straight.
FEFO costs you: pickers walk farther and dig more to get the short-dated pallets out first, so labor and time go up. Small operation, few SKUs, fast turns? Don't bother. One rule of thumb: how fast does your inventory turn? If everything clears in three days with most of the shelf life still on it, FIFO is plenty. Adding FEFO is just making work for yourself.
But lots of SKUs, mixed lots, some pallets sitting for weeks — then don't think twice, FEFO is mandatory. That Fresno berry house is the proof: skip FEFO and you're throwing a house down payment in the dumpster every year.
In cold chain, temperature is the face, expiry is the gut. The face can look perfect while the gut rots, and you still lose money. There's an old saying back home: sickness enters through the mouth — and in fresh food, losses enter through the expiry date. If you can't keep the date math straight, stay out of produce.
By Shifu Zhao, Trucking Veteran (15 yrs)





