What we keep seeing in food and beverage operations is that the store’s “front end” looks fine while the back end slowly becomes chaotic. The first symptom is usually not a website issue. It is an inventory issue: short-dated stock, batch confusion, fulfillment substitutions, and customer trust problems caused by inconsistent handling of expiry dates.
Shopify can support an expiry and lot-tracking operating model, but not by accident. The key is to keep the data model simple, enforce consistent handling rules, and make sure the team can audit changes without guesswork.

Table of Contents
- Why expiry and lot tracking is a growth problem
- The minimal data model: what to track and where
- Field table: suggested metafields for F&B traceability
- Operations table: picking rules and exception handling
- Audit table: what to review weekly and monthly
- Anonymous operator example: “inventory was fine” until it wasn’t
- A 30-day implementation plan
- Useful references
- EcomToolkit point of view
Why expiry and lot tracking is a growth problem
Expiry handling becomes a growth problem because it touches:
- customer trust and repeat purchase
- refunds and replacements
- margin and wastage
- support workload
- operational reliability in peak periods
The dangerous pattern is that early-stage brands can “handle it manually.” Then order volume increases, the product range expands, and manual handling becomes inconsistent. That inconsistency shows up as returns, replacement costs, negative reviews, and churn.
If you want a retention lens on this, connect expiry governance to Shopify cohort analysis because poor fulfillment quality often weakens cohorts quietly.
The minimal data model: what to track and where
Before adding tools, decide what your operation actually needs.
Most F&B teams need a minimal model that can answer:
- What is the expiry date for the stock we are selling?
- Which batch/lot did the order ship from?
- What rules govern picking (FIFO vs FEFO)?
- How do we handle substitutions when a batch is short?
On Shopify, the cleanest approach for many teams is:
- store product-level or variant-level data in metafields (expiry, lot notes)
- enforce picking rules in operations (not in ad-hoc staff memory)
- audit inventory adjustments and exceptions regularly
Shopify metafields support date fields and can be displayed on the store using theme dynamic sources (adding metafield values, displaying metafields).
Field table: suggested metafields for F&B traceability
Keep the data model as small as possible. You can expand later.
| Field | Where to store | Type | Why it exists | Who owns it |
|---|---|---|---|---|
| Expiry date | Variant metafield | Date | Helps FEFO picking and customer clarity | Ops |
| Best-before date | Variant metafield | Date | Useful when “best before” differs from “use by” | Ops |
| Lot / batch ID | Variant metafield | Text | Enables traceability and exception handling | Ops |
| Production date | Variant metafield | Date | Useful for freshness-led products | Ops |
| Storage guidance | Product metafield | Text | Reduces support and returns | CX + Ops |
| Allergen callout | Product metafield | Text | Improves expectation clarity | CX |
| Shipping constraints | Product metafield | Text | Communicates cold-chain or fragile packaging needs | Ops |
The goal is not perfect traceability in week one. The goal is consistent, auditable handling that reduces surprises.
Operations table: picking rules and exception handling
Data is useless if the warehouse workflow does not follow a clear rule.
Use one primary rule:
- FEFO (first-expired, first-out) for expiry-led products
- FIFO for stable products where expiry variance is low
Then define exception handling so staff do not improvise.
| Situation | Default rule | Escalation trigger | Customer communication |
|---|---|---|---|
| Short-dated stock available | FEFO | If within a defined short window | Display expiry info or include clear insert |
| Out of the planned batch | Substitute only within approved list | Any unapproved substitution | Notify customer and allow cancel/refund |
| Damaged packaging risk | Use protective packaging standard | Damage rate rising | Add packaging step and QA |
| Cold-chain or heat sensitivity | Ship only with approved method | Temperature risk period | Set delivery expectations clearly |
| Multi-location inventory conflict | Choose one source-of-truth location | Repeated split shipments | Consolidate or adjust routing rules |
Many F&B issues become “support problems” because the operation lacks explicit rules. Fix the rule, not the ticket volume.
Audit table: what to review weekly and monthly
Expiry and lot tracking must be audited, or it slowly degrades.
Shopify inventory reports and adjustment reports are useful here because they show how inventory changed and why (inventory reports, inventory adjustment reports).
| Audit item | Frequency | What “bad” looks like | Most likely root cause |
|---|---|---|---|
| Inventory adjustments by reason | Weekly | Spikes and inconsistent reasons | Weak receiving/count discipline |
| Stock-out rate by SKU | Weekly | Frequent stock-outs on core SKUs | Forecasting or reservation gaps |
| Replacement shipments | Weekly | Rising replacements | Packaging, picking errors, batch confusion |
| Refunds tied to freshness | Weekly | “Stale” or “expired” language rising | FEFO not enforced or date data wrong |
| Wastage write-offs | Monthly | Write-offs rising | Overbuying or slow-moving inventory |
| Batch/lot exception rate | Monthly | More substitutions | Poor inbound planning or supplier variability |
Tie this audit to a weekly ops review, and keep it linked to commercial dashboards using Shopify profitability dashboard.

Anonymous operator example: “inventory was fine” until it wasn’t
One food brand we reviewed believed inventory was under control because orders shipped most days without major issues. The problem showed up later:
- refund requests started mentioning “not fresh”
- warehouse substitutions became more common in peak weeks
- support tickets increased, but there was no consistent root cause analysis
- margins weakened due to replacements and write-offs
The root issue was not the storefront. It was governance. Expiry data existed in staff notes, not in a consistent system. Picking rules were informal and changed depending on who was working. The fix was a minimal data model with expiry and lot fields, a FEFO picking rule, and a weekly adjustment audit.
The biggest improvement was not a metric jump. It was stability: fewer exceptions, fewer refunds, and less support noise.
A 30-day implementation plan
Week 1: Define the minimal data model
- choose the fields you will track
- set one owner for data correctness
- document FEFO/FIFO rule per product family
Week 2: Implement metafields and display logic
- create metafield definitions and add values consistently
- optionally display expiry/storage guidance on PDPs
- train the team on where the data lives
Week 3: Standardize warehouse rules
- implement FEFO/FIFO picking steps
- define substitution rules and escalation triggers
- add a simple receiving and counting checklist
Week 4: Build the audit rhythm
- review inventory adjustment reports weekly
- track replacement/refund reasons
- connect ops audit to the growth KPI scorecard
If the store also struggles with experience and trust at the point of purchase, pair this with Shopify product page KPI benchmarks and Shopify checkout drop-off analysis.
Useful references
- Shopify Help Center: Adding values to metafields
- Shopify Help Center: Displaying metafields on your online store
- Shopify Help Center: Inventory reports
- Shopify Help Center: Creating custom inventory adjustment reports
EcomToolkit point of view
Expiry and lot tracking on Shopify is not about building the most complex system. It is about building the smallest system that stays consistent as order volume rises. Food and beverage brands that win treat traceability and freshness expectations as part of retention, not as back-office cleanup. A simple data model, a clear picking rule, and a weekly audit rhythm usually outperform “heroic manual effort” every time.
Related reading: Shopify KPI scorecard and Shopify performance benchmarks. If your ops team is fighting avoidable freshness exceptions, Contact EcomToolkit.