ShopifyInventoryShelfLife Published April 22, 2026 · Updated April 22, 2026 · 13 min read

Product Expiry Date Management for Shopify

In this guide

If you sell products with a limited shelf life, expiry date management is not a side task. It is part inventory control, part customer protection, part margin protection, and part compliance.

That is especially true on Shopify, where many merchants still try to manage expiry dates with a product note, a spreadsheet, or somebody's memory.

That works, until it really doesn't.

A single batch received late, stored incorrectly, mis-labeled, or oversold past its useful window can create a nasty chain reaction: write-offs, refunds, support tickets, chargebacks, reputation damage, and in regulated categories, a real safety or compliance problem.

The good news is that product expiry date management on Shopify is fixable. You do not need a giant ERP to get the basics right. You do need a system.

This guide walks through what good shelf life management actually looks like for Shopify merchants, where most stores go wrong, and how to build a workflow around batch tracking, FEFO, expiry alerts, markdown timing, and import-aware inventory planning.

Sources: FDA Traceability Lot Code, CFIA traceability requirements, CBSA Customs Notice 24-03.

Quick answer

Product expiry date management for Shopify means tracking inventory by batch or lot, recording expiry or best-before windows, selling the oldest viable stock first, and acting early enough to prevent waste, recalls, and margin loss.

If you import food, supplements, cosmetics, or other shelf-life-sensitive products, the job is even bigger than date tracking alone. Border requirements, tariff classification, licensing, and shipping delays can reduce the sellable window before stock ever reaches your warehouse.

Why expiry date tracking matters more than most Shopify merchants think

Many merchants think expiry management is only for obvious categories like food or vitamins.

That is too narrow.

Expiry date tracking matters anywhere product value changes over time, including:

In practice, the problem is not just “does this item expire?”

It is:

That is why the best operators stop treating expiry as a label issue and start treating it as an inventory system.

The five core jobs of good shelf life management

A strong Shopify expiry process usually does five things well.

1. It tracks by batch or lot, not just by SKU

A SKU tells you what the product is.

A batch or lot tells you which instance of that product you are holding.

That distinction matters because one SKU can exist in multiple batches with different:

If your store only tracks quantity at the SKU level, you can know you have 500 units and still have no idea which 120 need to move first.

For food traceability, regulators already think in these terms. FDA's Food Traceability Rule requires records around critical tracking events and key data elements for certain foods, and FDA describes the traceability lot code as a unique identifier used to track a lot through the supply chain. CFIA and Canada's Safe Food for Canadians framework likewise emphasize lot codes and traceability to the immediate supplier and immediate customer.

That does not mean every Shopify merchant is directly subject to every one of those recordkeeping rules. It does mean the regulatory direction is very clear: lot-level visibility is the serious standard.

2. It uses FEFO instead of naive FIFO

FIFO, first in first out, is better than random picking. But expiry-sensitive inventory often needs FEFO, first expired first out, or more accurately, first to expire, first out.

Why? Because the first batch received is not always the first batch that should ship.

A later-received lot may still have an earlier expiry date because of:

If your team picks by received date instead of expiry priority, you can end up shipping fresher stock after older stock, quietly creating waste behind the scenes.

3. It creates alerts before the problem becomes expensive

Expiry management fails when the first alert happens after the inventory is already hard to sell.

Good systems trigger action windows such as:

The exact timing depends on the product. But the principle is simple: your system should give you time to make a business decision while there is still room to act.

4. It supports recall readiness

If a customer complaint or supplier issue hits one lot, you should be able to answer three questions quickly:

CFIA explicitly notes that lot codes help rapidly identify affected food and remove it from the marketplace while avoiding unnecessary over-recall. FDA makes the same basic point in its traceability materials: faster linkage across the supply chain helps identify source and scope sooner.

Even outside heavily regulated food categories, this is just good operations. Over-broad recalls are expensive. Under-broad recalls are dangerous.

5. It connects expiry to pricing and purchasing

Expiry data is not just a warehouse field. It should shape:

This is where many merchants leave money on the table. They track dates, but they do not change decisions soon enough.

What “good” product expiry date management looks like on Shopify

On Shopify, a practical expiry workflow usually looks like this:

  1. Receive stock by batch or lot.
  2. Record lot code, received date, and expiry or best-before date.
  3. Associate quantities with each lot, not only with the parent SKU.
  4. Prioritize fulfillment from the earliest viable lot.
  5. Trigger alerts as batches approach risk windows.
  6. Launch markdowns, bundles, or channel restrictions before the stock becomes unsellable.
  7. Preserve enough traceability to support customer service, quality review, and recalls.

That is the operational core.

The exact implementation can vary. Some merchants use a dedicated expiry app. Some use warehouse software. Some use a hybrid stack. But if those seven things are not happening, the business is still relying on luck.

Where merchants usually break the process

Here are the most common failure patterns.

Spreadsheet dependency

The spreadsheet starts as a backup. Then it becomes the real system. Then one person forgets to update it.

Now the warehouse, support team, and purchasing team are all making decisions from different truths.

No lot-level receiving

If batches are blended into one quantity bucket the moment they arrive, downstream control is already lost.

Static product-level expiry fields

One expiry date stored at the product level is not enough when the same SKU exists in multiple lots.

Manual picking rules

If pick/pack staff need to remember which bin or lot should move first, errors are inevitable.

No markdown workflow

Merchants often know stock is aging but have no preplanned response. So the response comes late, under pressure, and often with worse margin damage than necessary.

No import-aware buffer

Source: CBSA Customs Notice 24-03.

This one is easy to miss. A merchant buys goods with a nominal twelve-month shelf life, but by the time manufacturing, ocean freight, customs clearance, inland transfer, and receiving are done, the store may only control nine or ten useful months. Sometimes less.

That is not a date-label problem. That is a planning problem.

Importing makes shelf life management harder

Sources: CBP Determining Duty Rates, CBSA Customs Notice 24-03, WTO SPS overview.

This is where product expiry date management starts to overlap with customs, tariffs, and border compliance.

If you import shelf-life-sensitive goods, the “real” shelf life available for sale depends on more than the printed date.

It depends on how long the product spends in:

For U.S. importers, USITC's tariff guidance is a reminder that classification is not just a search-box exercise. The Harmonized Tariff Schedule is a legal framework, and importers often need to read notes and apply the correct classification logic instead of relying on common product names alone. CBP then administers those classifications at the border. If goods are misclassified, under-documented, or tied to the wrong compliance assumptions, delay risk increases.

For Canadian importers, CBSA's 2024 notice on Safe Food for Canadians licence verification makes the consequence even more concrete: importers who do not declare a valid required licence may have shipments delayed or refused entry. If you sell date-sensitive food products, that is not just an administrative annoyance. It can erase sellable shelf life before the customer ever sees the product.

WTO's SPS framework also matters conceptually here. Countries can apply food safety and plant/animal health measures, but those measures must be science-based and necessary for protection. For merchants, the operational takeaway is simple: cross-border movement of food and related products is governed by real safety rules, not just shipping optimism.

Tariffs matter too, even when the product itself does not spoil quickly

Source: Tax Foundation, What Are Tariffs?.

At first glance tariffs sound unrelated to expiry date tracking.

They are not.

Tax Foundation summarizes the basic point clearly: tariffs are taxes on imported goods, and those costs often flow through businesses and consumers. If you import products with a limited commercial window, tariffs can shrink your flexibility in at least three ways:

In other words, poor landed-cost visibility can make expiry problems worse.

That is why merchants selling imported goods should not manage shelf life in isolation from duty and landed-cost planning. If your replenishment math ignores duties, surtaxes, customs brokerage, and clearance timing, you can end up overbuying the exact inventory that is hardest to rescue later.

Best before, expiration date, and durable life are not the same thing

This distinction matters because merchants often use the wrong label language internally.

CFIA explains that foods with a durable life of 90 days or less generally require date markings and, where needed, storage instructions. It also distinguishes durable life or “best before” concepts from true expiration-date requirements, which apply in narrower cases.

FDA similarly supports more consistent date labeling language for quality-related dates and warns consumers not to interpret every date the same way.

For Shopify merchants, the practical lesson is this:

For example, you may need to distinguish among:

A strong system can support that nuance. A weak one collapses everything into one date field and forces the team to guess.

How to build a Shopify expiry workflow that actually works

Step 1: Decide what you need to track at lot level

At minimum, track:

If you import, also consider storing:

Step 2: Define sell-through windows

Do not wait until stock is “almost expired.” Define operational windows in advance.

For example:

Those bands should connect to rules, not just colors.

Step 3: Make FEFO the default fulfillment logic

If your team must manually remember which lot goes first, you do not really have FEFO.

The system should surface the right batch by default and flag exceptions clearly.

Step 4: Plan markdowns before panic begins

Aging stock usually has more value 60 days before expiry than 7 days before expiry.

Possible interventions include:

The key is timing. The earlier you act, the more options you preserve.

Step 5: Add a hold and recall workflow

If a lot is under review, it should be possible to stop selling that lot without freezing the entire SKU if unaffected stock exists.

That protects revenue and reduces confusion.

Step 6: Measure waste and rescue rate

Source: FDA, How to Cut Food Waste and Maintain Food Safety.

If you do not measure expiry loss, you cannot improve it.

Track:

That last metric is especially revealing. It often exposes upstream supplier or import problems faster than anecdotal complaints do.

Where ShelfLife fits

For merchants dealing with batch tracking, FEFO, expiry alerts, and aging-stock decisions inside Shopify, this is exactly the class of problem ShelfLife is built around.

The point is not to create more admin work. It is to make the right inventory visible early enough that the team can reduce waste, protect customers, and move product before margin disappears.

The strongest category language in this space is not vague “expiry management.” It is operational language merchants actually use: batch tracking, FEFO, expiry alerts, recall readiness, and waste reduction.

That is the lens that tends to matter in the real world.

FAQ

1. What is the difference between expiry date tracking and regular inventory tracking on Shopify?

Regular inventory tracking tells you how many units you have. Expiry date tracking tells you which batches you have, when they become risky, and which ones should move first. That extra layer is what enables FEFO, targeted recalls, and planned markdowns.

2. Do all Shopify merchants need lot or batch tracking?

No. But any merchant selling products with limited shelf life, quality degradation over time, or recall exposure should strongly consider it. The closer you are to food, supplements, cosmetics, or regulated consumables, the more important lot-level control becomes.

3. Is FIFO good enough for expiry-sensitive products?

Sometimes, but not reliably. FEFO is usually better because the lot that arrived first is not always the lot that expires first. Transit time, customs delay, storage conditions, and supplier aging can change the priority.

4. Can customs delays really create expiry problems?

Yes. For imported products, every extra day in transit, clearance, or receiving reduces the remaining sellable window. CBSA explicitly warns that missing required food import licence data can lead to delay or refusal. Even when goods are eventually released, that lost time still matters.

5. Why should tariff data matter for shelf life management?

Source: Tax Foundation, What Are Tariffs?

Because tariffs change purchasing behavior. When imported stock becomes more expensive, merchants may over-order to protect unit economics or hesitate to markdown aging stock. That increases expiry risk. Shelf life planning and landed-cost planning belong in the same conversation.

6. What should I store for each batch or lot?

At minimum: SKU, lot code, quantity, received date, expiry or best-before date, supplier, and status. Import-heavy businesses should also consider country of origin, landed cost, and customs references.

7. What is a traceability lot code?

FDA describes a traceability lot code as a unique identifier used to identify a traceability lot within the assigning firm's records. In practice, it is the batch identity that lets you connect receiving, transformation, shipping, and recall activity across the supply chain.

8. How early should I start markdowns on aging inventory?

Earlier than most merchants think. The right timing depends on category and sales velocity, but many teams should begin intervention when there is still enough shelf life left for the customer to feel comfortable buying. If you wait until the stock is obviously old, your options narrow fast.

Final takeaway

Product expiry date management for Shopify is not just about keeping an “expiry date” field somewhere in the system.

It is about controlling time-sensitive inventory as it moves from supplier to warehouse to customer.

The merchants who do this well usually share the same traits:

That is the real standard.

And if you import shelf-life-sensitive products, it is worth remembering that expiry risk starts before the goods reach your warehouse. Classification, licensing, duties, and border timing all influence how much commercial life you actually have left to sell.

CTA

If you sell imported products, do not manage expiry risk without understanding duty and landed-cost pressure too.

Use the TariffShield duty calculator to estimate landed cost more clearly before you overbuy slow-moving stock, and pair that with a proper ShelfLife-style workflow for batch tracking, FEFO, expiry alerts, and markdown timing.

Better landed-cost planning upstream makes better expiry management downstream.

Sources

Disclaimer

This article is for general educational information only and does not constitute legal, customs, regulatory, food-safety, tax, or professional compliance advice. Requirements vary by product category, country, labeling regime, storage condition, and supply-chain role. If you sell regulated goods or import shelf-life-sensitive products, verify your obligations with qualified legal, customs, regulatory, and food-safety professionals before acting.