Batches and Expiry Dates
For food, cosmetics, supplements and other products with a date, QrX can track stock per batch (lot) with its own code and expiry date. Orders then ship the lot that expires first, expired lots are blocked automatically, and each sales channel can ask for a minimum shelf life. Warehouse stock is part of QrX WMS.
Who It Is For
Merchants who sell products with a best-before or use-by date.
Warehouse staff who receive and pick products per batch.
Lots need Full WMS with the module Lots and expiry dates switched on in Settings > Warehouse > Stock (Level and modules tab) and included in your plan.
Where to Find It
The stock item editor (Warehouse > Stock, Open item), Lots and expiry tab: Tracking, Expiry, minimum shelf life, warn days and the Lots table.
Settings > Warehouse > Stock, Rules tab: the Expiry card with warnings, alert recipients and the minimum shelf life per channel.
Warehouse > Stock: the filter Expiring soon and the column Next expiry.
Warehouse > Dashboard: the card Expiring soon.
Set Up an Item for Lots
Open the stock item, go to the Lots and expiry tab and choose:
Tracking: Lot. Every receipt then needs a lot code and stock is booked and shipped per lot. Untracked means stock is counted per location only, without batches.
Expiry:
None: lots have no date. Stock is picked in walk order.
Expiry date: every lot has an expiry date. Expired lots are blocked and never shipped.
THT (best before): quality may drop after the date. After the date the lot is blocked, unless you keep selling THT lots (see below).
TGT (use by): unsafe after the date. The lot is blocked at midnight of the warehouse and never shipped.
Minimum shelf life (days): orders only reserve lots with at least this many days left. Empty means no minimum.
Warn before expiry (days): when to warn about this item's lots. Empty uses the account default.
Receive Lots
When you receive a lot-tracked item, enter the Lot code and, if the item has an expiry mode, the Expiry date. A lot code that already exists with another expiry date is refused, so check the code and the date.
Scanning saves typing: QrX reads GS1 barcodes (GS1-128 and DataMatrix) with the product code, the lot, the expiry date and the best-before date, and fills in the item, the lot and the date. If a label has no product code, choose the item first and then scan the lot label. You can also import lots with the columns lot and expiry in a stock import.
First Expired, First Out
Orders reserve and ship the lot that expires first (FEFO). At the pack station, each line shows "Pick these lots first (earliest expiry)" with the lot codes and dates, so the packer takes the right batch.
Expired Lots
Every night, at midnight in the warehouse's time zone, QrX checks the dates. Lots that have expired are moved to quarantine with the reason Blocked, so they are never reserved or shipped:
Expiry date and TGT lots are always blocked after their date.
THT lots are blocked after their date, unless Keep selling THT lots after the date is switched on in Settings > Warehouse > Stock > Expiry, on the Rules tab. With that setting, products past their best-before date are reserved, picked and shipped. Only switch it on when you may sell them and your customers know it.
Blocked lots stay visible in quarantine. Release or scrap them there (see "Receiving, Put-Away and Write-Offs"). QrX books the units to quarantine, but the boxes stay where they are: take them off the shelf too. If a count later finds expired units on a shelf, that line always waits for approval instead of being corrected automatically, so the same units are never counted twice.
Minimum Shelf Life per Channel
Some sales channels or customers need products with a long remaining shelf life. In Settings > Warehouse > Stock > Expiry on the Rules tab, under Minimum shelf life per channel, add a rule for a channel: for all items, or for one item. A rule for one item wins over the rule for all items. Orders from that channel only reserve lots with at least that many days left.
Lots with fewer days left are Short-dated for that channel. They stay on hand and can still go to other channels. If only short-dated stock is left, the order line goes on backorder until a fresher lot arrives.
Expiry Alerts
Set Warn before expiry (days) in the Expiry card on the Rules tab of Settings > Warehouse > Stock (default 30 days). Items with their own warn days use those.
The bell and the dashboard card Expiring soon show lots that expire soon and lots that expired today.
Under Alert emails to, choose colleagues who also get an email. Every lot is alerted once per warning.
See Your Lots
The Lots table on the Lots and expiry tab of the stock item lists the lots with stock, the first to expire on top, with the state: OK, Expires soon, Short-dated, Expired or Blocked, and where each lot lies.
The product Stock tab shows the lot and expiry date per location.
On the stock list, filter on Expiring soon and choose Expiring within 7, 14, 30, 60 or 90 days. The column Next expiry shows the first date per item.
The Lots icon on Warehouse > Stock opens every lot of every item, with status, expiry, supplier lot and stock. Open a lot to correct its details or its expiry date (with a reason, kept in the history).
Put a whole lot on hold for a recall or a quality check: its free units go to quarantine at once and nothing of it is sold, reserved or shipped until you release it. See "Reason Codes, Units of Measure and Lot Holds".
Every lot row has the action Recall list: orders that shipped this lot, with a CSV download. Switch on Show sold-out lots to open the recall list of a lot that has no stock left. See the article "Serial Numbers and Lot Recall".
Permissions
Manage stock settings: set tracking and expiry on items, and change the Expiry settings and channel rules.
Receive stock: receive lots.
View stock: see lots, dates, the Expiring soon filter and the dashboard card.
Limits
Lots and expiry dates need Full WMS with the module Lots and expiry dates.
You cannot switch an item back to Untracked while it still has stock in lots. Move or scrap the lotted stock first.
Returned units of lot-tracked items go to quarantine without a lot. Check them there.
Serial numbers per unit are a separate module. See the article "Serial Numbers and Lot Recall".
Frequently Asked Questions
What is the difference between THT and TGT?
THT (best before) means the quality may drop after the date, but the product is not unsafe. TGT (use by) means the product is unsafe after the date. TGT lots are always blocked; THT lots are blocked unless you choose to keep selling them.
Why is a lot on the shelf not reserved for an order?
It may be short-dated for that channel (fewer days left than the channel's minimum shelf life), expired or blocked. Check the state in the Lots table on the Lots and expiry tab of the stock item.
Can I sell products after their best-before date?
Only if you switch on Keep selling THT lots after the date on the Rules tab of Settings > Warehouse > Stock and are allowed to sell them. TGT and expiry-date lots are never sold after their date.
Which barcodes can QrX read for lots?
GS1 barcodes (GS1-128 and GS1 DataMatrix) that contain the product code (GTIN), the lot and the expiry or best-before date. The QrX app reads the same GS1 barcodes when you receive and pick on the phone: the item, the lot and the expiry date are filled in from one scan.
How do I stop a lot from being sold during a quality check?
Open the lot from the Lots list and click Put on hold. Free units go to quarantine, reserved units move to another lot or go back to backorder, and picked or packed units show a warning at the pack station and on the order. Release the lot when the check is done.
When to Contact Our Support Team
Contact QrX support when an expired lot was not blocked after midnight, when a GS1 label is not read correctly, or when you need the Lots and expiry dates module in your plan. Include the SKU, the lot code and a screenshot or photo of the label.
