Search “expiry tracking” in the Shopify App Store and you will find apps that do very different things under similar names. Some remind you about dates, some automate discounts on aging stock, and a few actually trace lots from receipt to customer. This guide gives you nine questions that separate the categories — ask them of every app you evaluate, including ours.
Three categories, one search result
Before comparing features, know which category you are looking at — almost everything in the space falls into one of three:
- Expiry-reminder apps — store a date per product or variant and notify you as it approaches. Useful, but the date lives beside your inventory rather than inside it.
- Discount-automation apps — watch dates and trigger markdowns or promotions on aging stock. They treat the symptom (unsold dated stock), not the cause.
- Lot-traceability systems — treat each batch as a first-class record with its own quantity, expiry, cost, and history, and allocate those batches to orders as they come in.
The nine questions
1. Does it allocate batches to orders, or just store dates?
This is the dividing line. A date field nobody consults at pick time changes nothing in the warehouse. FEFO allocation — assigning each order to the earliest-expiring lot automatically at order sync — is what turns stored dates into rotation that actually happens. In a demo, watch an order arrive and see which lot it gets.
2. Can it produce a per-lot ledger an auditor can read?
For each lot you should be able to pull one chronological record: receipt, every deduction with its order reference, corrections, and transfers. “We can export current quantities” is a snapshot, not a ledger — and an auditor will ask for the history.
3. Is there a one-click recall export?
Given a lot number, can the app produce every order and customer that received units from it, as a file you could hand to a regulator or use for outreach? Assembling that list from order notes takes days in a live recall; a recall-ready system takes seconds.
4. Does lot and expiry reach the pick list and packing slip?
Allocation only works if the picker can see it. Look for bin-sorted pick lists that print the assigned lot and expiry, and packing slips that carry the lot through to the customer-facing document.
5. Bundles and kits: component-level lots?
If you sell a gift set containing three dated products, a bundle order must deduct from three separate lots. Apps that track dates at the listing level lose traceability the moment you bundle. Our bundle and kit batch-tracking guide covers component-level allocation.
6. Multi-warehouse and transfers without losing lot identity?
When stock moves between locations, does the lot number and expiry travel with it, or does the receiving warehouse just see quantity? A transfer that strips lot identity silently breaks the ledger and the recall export.
7. Forecasting from real velocity, or static alerts only?
“Alert me 30 days before expiry” treats every product the same. What matters is whether current sales velocity will clear a lot before its date — forecasting across 10/30/60/90-day horizons from actual sales flags a slow mover months early and leaves a fast mover alone.
8. Can it cost receipts and value expiring stock?
Expiring stock is a financial event, not just an operational one. Per-receipt costs, landed cost, and COGS or valuation reports tell you what a short-dated lot is actually worth — and what writing it off costs. See our COGS and landed-cost guide for the details.
9. What happens at 10× your order volume?
Anything that depends on a human entering or checking a date per order fails first when volume grows. Ask which steps are manual today and whether they stay manual at ten times the orders — allocation at sync scales; data entry does not.
Reminder app or traceability system: the quick comparison
| Question | Reminder-style app | Lot-traceability system |
|---|---|---|
| Allocates batches to orders (FEFO)? | No — stores dates only | Yes, automatically at order sync |
| Per-lot ledger with order references? | Current quantities at best | Full receipt-to-deduction history |
| One-click recall export? | Manual assembly from orders | Every order and customer per lot |
| Lot and expiry on pick lists / packing slips? | Rarely | Yes, bin-sorted |
| Component lots for bundles and kits? | Listing-level only | Deducts each component lot |
| Transfers keep lot identity? | Usually lost in transit | Lot travels with the stock |
| Expiry risk from real velocity? | Static date alerts | Forecasts at 10/30/60/90 days |
| Costing and valuation of dated stock? | No | Per-receipt cost, landed cost, COGS |
| Scales to 10× volume? | Manual steps multiply | Allocation is automatic |
A FAIR TEST FOR ANY DEMO
Ask each vendor to show you one lot’s complete history and a recall export for it, live. If the answer involves exporting a spreadsheet and assembling the history yourself, you are looking at a reminder app — fine, but know it before you build a compliance process on it.
Put TraceLot through the nine questions
Install with native Shopify billing and run your own products through every question above — the first month is free.
See TraceLot for ShopifyWhere TraceLot fits
TraceLot is a lot-traceability system built to answer all nine: FEFO allocation on order sync, a per-lot ledger with order references, a recall CSV per lot, bin-sorted pick lists and packing slips with lot and expiry, bundle component allocation, multi-warehouse transfers that preserve lot identity, expiry-risk forecasts at 10/30/60/90 days from real velocity, and — as of September 2026 — per-receipt costs, landed cost, and COGS/valuation reports. It installs from the Shopify App Store with native Shopify billing, from $29/mo with the first month free.
The honest caveat: if all you want is a reminder before a date passes, a reminder app is cheaper and simpler — buy one. TraceLot earns its place when rotation, recalls, and audits are real operational risks on regulated or dated products; that is exactly what the nine questions surface.
Frequently asked questions
What is the difference between an expiry-reminder app and a lot-traceability system?
A reminder app stores an expiry date per product and notifies you as it approaches. A lot-traceability system tracks each batch as its own record, allocates batches to orders automatically (FEFO), and produces a per-lot ledger and recall export. The first tells you a date is coming; the second controls which stock ships and proves where it went.
Do I need FEFO allocation if my team already rotates stock manually?
Manual rotation depends on the people who know your shelves, and it breaks first with new staff, higher volume, or multiple locations. FEFO allocation at order sync makes rotation automatic and records which lot filled which order — something manual rotation never does.
What should a recall export contain?
For a given lot: every order that included units from it, with customer, date, quantity, and channel — as a file you can act on immediately or hand to a regulator. If producing that list requires manual cross-referencing, the app is not recall-ready.
How much does TraceLot cost on Shopify?
TraceLot installs from the Shopify App Store with native Shopify billing, starts at $29 per month, and the first month is free — enough time to run your own catalog through all nine questions.
Never ship expired stock again.
TraceLot adds batch tracking, FEFO allocation, and audit-ready records to Veeqo and Shopify. First month free.