Back to Blog
ComplianceApr 25, 202612 min read

Best-Before Management in Food Wholesale: FIFO, FEFO, and What Software Must Do

How food distributors manage best-before dates systematically, halve shrinkage with FEFO, and which software functions are non-negotiable in 2026.

**Best-before management is more than a warehouse topic β€” it is a 1.5–3% cash-flow lever and at the same time an ESG metric.** At Luniops we often see distributors treat best-before as a pure warehouse topic and lose 1.5–3% of cost-of-goods to written-off stock every year. For a wholesaler with 12M EUR cost-of-goods, that is 180,000–360,000 EUR per year evaporating from cash flow. Best-before is simultaneously a compliance topic (FIC, mandatory data on invoice and delivery note), an inventory topic (shrinkage reduction), and a customer topic (nobody wants yogurt with 3 days left). Treat all three together and you typically halve shrinkage within 6 months. Add the ESG dimension: the EU food-waste reduction directive requires annual reporting from 2026, and Germany targets a 50% cut by 2030. Distributors with documented low waste rates gain measurable ground in tenders. Practical relevance: at Edeka and Rewe listings, food waste is now a separate scoring criterion in 2026 weighted at 8–12% of supplier scoring models β€” a number that quietly determines the next 3-year listing cycle.

**FIFO is often wrong in food β€” FEFO is the only right answer for fresh, SKU-dependent in ambient.** FIFO means: what was received first ships first. Sounds reasonable, but is often wrong in food wholesale β€” what was received first does not necessarily have the earliest expiry. Suppliers often ship older batches first, especially when clearing their own near-expiry stock. FEFO means: the batch with the earliest expiry ships first. Standard in fresh, SKU-dependent in ambient. In practice: a modern platform must support both at batch level, and the picker must see at the scanner exactly which batch to pick. Running FEFO only as a sticker system without scanner validation means the picked batch differs from the FEFO-intended batch in 30–40% of cases β€” an audit finding waiting to be expensive. Rule of thumb in the DACH market: fresh and frozen always FEFO, ambient FIFO with batch tracking, own-brands with self-set best-before always FEFO with audit-proof trail.

**FIC and PPWR make batch-level delivery notes the standard from 2026 β€” and GoBD requires audit-proof write-downs.** FIC (EU Regulation 1169/2011) requires the best-before date on packaged food to be traceable down to the end consumer. For B2B wholesalers that means: delivery note and invoice must carry the batch or the best-before date for relevant SKUs. Large customers like REWE, EDEKA, Metro, regional Edeka cooperatives, and Transgourmet demand it anyway β€” fail and you lose the listing. The EU PPWR sharpens traceability further, especially for reusable packaging that becomes mandatory in stages from 2027. On top: GoBD requires audit-proof documentation for inventory write-downs caused by expiry. Simply writing off expired yogurt without a posted journal entry with quantity and value is a GoBD finding waiting to happen at the next tax audit. Concretely: every write-down needs a journal entry with document reference, quantity, value, and reason β€” annual lump-sum bookings no longer suffice for the auditor.

**Five best-before mistakes that show up in every audit β€” root cause is usually master-data hygiene.** First: receipt without best-before capture β€” pickers grab blind, FEFO impossible. Second: best-before only on the carton, not in master data β€” looking it up takes forever, and "we'd have to check in the warehouse" is an embarrassing answer to a veterinary inspector. Third: no alert when approaching threshold (e.g. under 14 days remaining shelf life). Fourth: no link between expiry stock and promo pricing β€” goods could move at 30% discount instead of being trashed. Fifth: no expiry overview for sales β€” the field rep does not know what needs to move. Common companion mistakes: FEFO as a sticker-only system without scanner validation, master data never updated, complaints not linked back to the pick audit trail. In seven out of ten onboarding audits the root sits in master-data quality: same item under two SKUs, wrong pack sizes, empty best-before fields. Master-data cleanup is therefore almost always the first step before any software introduction.

**Worked example: 60,000 EUR yearly saving on 4M EUR fresh cost-of-goods β€” at a software investment under 12,000 EUR.** Concretely: 4M EUR fresh cost-of-goods, current 2.4% expiry shrinkage = 96,000 EUR per year. Strict FEFO (batch-level inventory, FEFO at the pick) typically drops shrinkage to 1.4% = 56,000 EUR. Add a threshold-alert system β€” promo from 14 days remaining, automatic sales push list, spot pricing β€” and you halve again to roughly 0.9% = 36,000 EUR. Total saving: 60,000 EUR per year on a software investment of 6,000–12,000 EUR β€” ROI 5x to 10x. Real example: a cheese distributor in Bavaria with 6.8M EUR cost-of-goods reduced expiry shrinkage from 2.7% to 0.8% within seven months β€” a cash-flow improvement of roughly 130,000 EUR per year, achieved purely through software discipline (FEFO + alerts + automatic promo price list). Bonus effect: the insurance premium on perishables fell 18% because the insurer rewarded documented control processes β€” an indirect effect of typically 2,500–5,000 EUR per year.

**Batch traceability has shifted from obligation to competitive advantage in 2026 β€” sub-4-hour response is the new key-account standard.** EU Regulation 178/2002 has required since 2005 one step up, one step down β€” who supplied the batch, who received it. As of 2026, large customers increasingly demand full traceability with response under 4 hours on recalls. Manage that in Excel and you fail at the first serious incident. A modern platform delivers traceability on click: enter batch, see which customers received which quantities when, export ready recall list. Example: in a Listeria suspicion at a Lower-Rhine distributor (a customer of ours), 47 affected customers were identified, contacted, and 312 kg of goods recalled within 23 minutes β€” without Excel, without an IT call, without a single misunderstanding. The veterinary office documented the case as exemplary. That documented case is now referenced as best practice in the next three large-customer audits β€” a reputational asset that marketing cannot buy.

**Minimum remaining shelf life is contractual β€” and must be checked systematically, ideally at order drop.** Large customers typically write a minimum remaining shelf life (MRSL) into the contract: often 2/3 of total life for fresh milk, 75% for yogurt, 80% for frozen, 60% for sliced cold cuts and cheese. Fail to check MRSL systematically and you face costly returns (typical penalty 50–150 EUR per return plus freight) and de-listings. Good software checks MRSL per customer and per SKU automatically at pick time: if remaining life is too short, the system blocks the pick or suggests a better batch. Ideally this happens at order drop into the WMS, not at the pick face β€” saves walking time and avoids un-picking. One distributor cut 14% pick effort on MRSL-sensitive orders just by enforcing the check at order time. Important: MRSL values often change contractually every year β€” master-data hygiene must reflect this cycle, otherwise the logic ages silently and returns rise gradually until someone notices.

**Frozen: 12–18 months best-before is deceptive safety β€” the energy effect is the often-overlooked bonus.** Frozen items often have 12–18 months from production β€” leading to deceptive comfort in the DACH market. We regularly see warehouses with 18-month-old frozen leftovers nobody can sell anymore because retailers demand at least 6 months remaining. The fix: frozen stock needs its own MRSL thresholds and must run through FEFO just like fresh. For larger frozen warehouses this often saves 20,000–50,000 EUR in write-offs per year. A side effect often overlooked: frozen stock binds disproportionate energy β€” electricity cost in 2026 for an 800-pallet frozen warehouse is roughly 60,000 EUR per year. Reducing frozen inventory 15–20% through better best-before management also cuts energy cost β€” a non-trivial line item right now. With electricity price volatility in 2026, these 9,000–12,000 EUR energy savings are an additional cash-flow effect that accelerates the FEFO investment payback further.

**Common practical questions β€” answered concisely, with focus on RFP-relevant answers.** Do I need to scan every carton individually? No, pallet-level capture with batch and best-before is enough for most cases. For very heterogeneous mixed pallets, carton-level capture is worth it. How do I import best-before from EDI receipts? Via mapping of common EDIFACT segments β€” DESADV with DTM segment for best-before and batch. What about mixed pallets with multiple batches? A FEFO system splits them at receipt automatically and posts each batch to its own sub-stock. Do I need a dedicated best-before module or is the WMS enough? Pure ambient works with WMS; fresh needs batch-level inventory with FEFO logic at the pick. What about own-brand production? If you set best-before yourself, the system needs a calculation logic with shelf-life templates per SKU group. How often should you do a batch inventory? Quarterly cycle counts at batch level suffice; annual full inventory can be skipped if movement tracking is clean.

**Luniops brings batch and best-before management natively into the platform β€” from receipt to delivery note, with DATEV export and 30-day pilot.** Concretely: receipt with mandatory batch and best-before fields, FEFO-driven picking on the scanner, automatic threshold alerts with configurable MRSL per customer-SKU pair, expiry promo pricing on click, and batch-level delivery notes in FIC-compliant layout. Recalls handled in under 5 minutes, shrinkage typically halved within 6 months. GoBD-compliant write-down postings auto-generated, DATEV export included. If you want to push expiry shrinkage below 1% in 2026, talk to us about a pilot β€” we typically start with an audit of your last 3 months of shrinkage postings, identify the three biggest levers, and show the realistic saving before any contract is signed. In the pilot we show concretely which SKU groups cause the most shrinkage and how fast FEFO plus threshold alerts correct it β€” typical results are 30–50% shrinkage reduction in the first 90 days, full impact after 6 months.

Related articles

Review LuniOps for your distribution workflow

Connect orders, delivery notes, routes, invoices, and customer self-service in one operational system.

Best-Before Management in Food Wholesale: FIFO, FEFO, and What Software Must Do | Luniops