Batch and Expiry Tracking in Inventory: A Complete How-To Guide for Retail & Pharmacy

Selling expired stock is a business-ending mistake. A single complaint about an out-of-date medicine, food product, or cosmetic can trigger a regulatory fine, a product recall, and permanent damage to your reputation. Yet most small retail and pharmacy owners still track batch numbers and expiry dates on paper – or worse, from memory. This guide walks you through how batch and expiry tracking in inventory actually works, why it matters, and how to implement it without a team of IT consultants.

Manage Your Business Smarter with EloERP Cloud

All-in-one ERP & POS built for retail, restaurants, wholesale & more. Try free — no credit card needed.

What Is Batch and Expiry Tracking?

Batch tracking (also called lot tracking) means grouping stock purchased or manufactured together under a unique identifier – the batch or lot number. Every item in that batch shares the same supplier, date of production, and quality characteristics. If a defect or contamination is found, you can pinpoint exactly which items are affected and trace them through your supply chain in minutes rather than days.

📧 Get ERP & POS Tips

Bi-weekly guides and product updates. No spam.

Expiry date tracking records the use-by or best-before date against each batch. The software then alerts you before stock expires, flags items at the point of sale, and – in well-designed systems – automatically prioritises selling near-expiry stock first (FEFO: First Expired, First Out).

Together, batch and expiry tracking give you a complete chain of custody from supplier invoice to customer receipt.

Who Needs Batch and Expiry Tracking?

The short answer: any business that sells or uses time-sensitive or regulated products. This includes:

  • Pharmacies and medical suppliers – medicines, vaccines, diagnostic kits, and surgical supplies all have legal expiry requirements. Pharmacy POS software with batch tracking is not optional – it is a regulatory necessity in most markets.
  • Grocery and supermarkets – perishables, dairy, frozen food, and packaged goods rotate constantly. A missed expiry on a shelf can mean a health department inspection.
  • Restaurants and cafes – ingredients purchased in bulk must be used before they spoil. Batch tracking prevents a single bad delivery from contaminating a whole meal service.
  • Cosmetics and personal care stores – creams, serums, and organic products degrade over time. Expired cosmetics can cause skin reactions and liability claims.
  • Hardware and chemical stores – sealants, adhesives, paints, and pesticides have shelf lives that affect product performance and safety.
  • Veterinary suppliers – animal medications and vaccines have the same regulatory requirements as human medicines.

If you are in any of these categories and still tracking expiry dates manually, this guide is for you.

The Real Cost of Poor Expiry Management

Before getting into the how-to, it is worth quantifying what bad expiry management actually costs:

ProblemTypical Business Impact
Selling expired goods to a customerRefund + regulatory fine + potential lawsuit + reputation damage
Writing off expired stock at year-end3-8% of COGS for poorly managed pharmacies and grocery stores
Product recall with no batch dataMust recall all stock of that product – not just the affected lot
Near-expiry stock not discounted in timeFull write-off instead of recovery at 30-50% of retail price
Supplier dispute without lot documentationNo evidence to claim refund or liability from supplier

Research from retail consultancies suggests that businesses without systematic expiry tracking write off 2-5x more expired stock than those with automated alerts. For a pharmacy carrying $200,000 in stock, even a 2% improvement in expiry management saves $4,000 per year – often more than the cost of the software itself.

How Batch and Expiry Tracking Works: Step by Step

Step 1: Record Batch and Expiry at Goods Receipt

The process begins when stock arrives. When you receive a supplier delivery, your POS or inventory system should prompt you to enter:

  • The batch or lot number (from the supplier’s label or certificate of analysis)
  • The manufacturing date (optional but useful for FIFO reconciliation)
  • The expiry date (mandatory for medicines, food, and cosmetics)
  • The quantity received in this batch
  • The storage location (shelf, cold room, warehouse zone)

Modern systems allow you to scan a barcode or QR code directly from the supplier’s packaging to auto-fill this data. The batch is now a record in your inventory, linked to the purchase order and supplier invoice.

Step 2: Assign FEFO or FIFO Rotation Rules

Once batches are in the system, configure your stock rotation rule:

  • FEFO (First Expired, First Out) – the system prioritises selling or using the batch that expires soonest, regardless of when it arrived. This is the correct rule for most perishable and pharmaceutical products.
  • FIFO (First In, First Out) – prioritises the oldest received batch first. This works when products have uniform expiry dates within a category.

For pharmacy and food retail, FEFO is almost always preferable. A medicine that arrived last week with a short expiry should be sold before one that arrived two months ago with a longer expiry.

Step 3: Set Expiry Alerts and Thresholds

Configure automatic alerts so staff know when stock is approaching expiry. Best practice thresholds vary by industry:

IndustryAlert at 90 daysAlert at 30 daysAlert at 7 days (critical)
Pharmacy? Trigger discount review? Mandatory discount or return to supplier? Pull from shelf
Grocery / Supermarket? Rotate to front of shelf? Mark down price? Remove or donate
Restaurant (ingredients)? Not needed? Prioritise in meal planning? Daily use or dispose
Cosmetics? Review slow movers? Discount promotion? Pull from display

Your inventory system should generate these alerts automatically – either as in-app notifications, email digests, or daily reports. Staff should not need to manually check every product’s expiry date.

Step 4: Block Expired Stock at the Point of Sale

The most critical safeguard is a hard block at checkout. When a cashier scans a product from an expired batch, the POS should:

  1. Display a clear warning: “This item has expired – cannot be sold.”
  2. Prevent the sale from proceeding without a manager override.
  3. Log the attempted sale for audit purposes.

This is not optional. In a busy pharmacy or supermarket, cashiers cannot check expiry dates on every item manually. The system must enforce the rule automatically.

Step 5: Manage Near-Expiry Stock Proactively

Stock that is about to expire is still recoverable if you act early enough. Options include:

  • Automatic discounting – Apply a percentage discount to items within the alert window. Some systems do this automatically at the POS based on the batch expiry date.
  • Supplier returns – Many pharmaceutical suppliers accept returns of near-expiry stock (typically within 3-6 months of expiry) under their returns policy. Your batch records make it easy to identify and document these items.
  • Promotions – Bundle near-expiry items into a value pack or run a flash sale.
  • Donation – For food items, donation to a food bank recovers some social value even if not financial value.
  • Internal use – Restaurants and cafes can redirect near-expiry ingredients to staff meals or daily specials before the expiry date.

Step 6: Record Write-Offs and Disposals

When stock genuinely expires and cannot be recovered, record the write-off against the specific batch in your inventory system. This:

  • Removes the items from available stock (so they cannot be sold or counted)
  • Creates an audit trail for tax and accounting purposes
  • Feeds data to your expiry loss reports, helping you spot which product categories or suppliers have the worst expiry problems
  • Supports compliance documentation if your business is audited by a health authority or food safety regulator

Step 7: Use Batch Traceability for Recalls and Disputes

If a supplier notifies you of a product recall, or if a customer reports an adverse reaction, your batch records allow you to:

  1. Identify every unit of the affected batch currently in stock.
  2. See how many units were sold, and on which dates and to which customers (if you capture customer data at POS).
  3. Pull the affected stock immediately and quarantine it.
  4. Notify the supplier and regulator with precise lot numbers, quantities, and transaction dates.

Without batch records, a recall requires pulling every unit of a product – regardless of which lot is affected – which is enormously costly and disruptive. With batch data, you can surgically remove only the compromised stock.

Batch Tracking vs Expiry Tracking: What’s the Difference?

These two features are related but distinct:

FeatureBatch TrackingExpiry Tracking
Primary purposeTraceability and recall managementStock rotation and safety compliance
Key data capturedLot/batch number, supplier, production dateExpiry/use-by date per batch
Triggered byGoods receipt from supplierSystem clock vs expiry date
Main benefitFast, targeted recalls; supplier dispute resolutionReduced write-offs; compliance; customer safety
Who needs it mostAny business selling goods from multiple suppliersPharma, food, cosmetics, chemicals

Most businesses that need one also need the other. A pharmacy, for example, must track both: the batch number for regulatory compliance and recall capability, and the expiry date to prevent dispensing outdated medicines.

What to Look for in Inventory Software with Batch and Expiry Tracking

Not all inventory systems handle batch and expiry tracking equally. When evaluating options, look for these capabilities:

  • Batch entry at goods receipt – The system must capture batch and expiry data when stock arrives, not as an afterthought.
  • FEFO stock rotation enforcement – Automatic prioritisation of nearest-expiry batches at the POS or pick list.
  • Configurable expiry alerts – Custom thresholds by product category (90 days for pharmacy, 14 days for fresh food).
  • POS-level expiry block – Hard stops preventing expired items from being sold, with optional manager override and audit log.
  • Batch traceability report – One-click report showing every transaction involving a specific lot number.
  • Near-expiry stock report – Daily or weekly list of batches expiring within your configured window, with quantities and locations.
  • Write-off and disposal workflow – Structured process for recording expired stock removal with reason codes and documentation.
  • Supplier returns tracking – Link near-expiry returns to the original purchase order and supplier credit note.

EloERP Cloud includes all of these capabilities as part of its standard inventory module – there is no additional module to purchase or configure separately. It is particularly well-suited for pharmacy management, where batch and expiry compliance is not optional.

Implementing Batch Tracking in Your Existing Business: A Practical Checklist

If you are moving from manual tracking (paper or spreadsheets) to software-based batch and expiry management, use this checklist:

  1. Audit your current stock – Before going live, record the batch number and expiry date of every item currently on the shelf. This is a one-time task that takes a few hours to a few days depending on your SKU count.
  2. Set up your product master – In your inventory system, flag which products require batch tracking and which require expiry tracking. Not every product needs both.
  3. Train receiving staff – The person unpacking supplier deliveries must know how to enter batch and expiry data at goods receipt. Shortcuts here undermine the whole system.
  4. Configure your alert thresholds – Set expiry alert windows appropriate for each product category. Start conservative (longer windows) and adjust based on your sales velocity.
  5. Test your POS block – Before going live, create a test batch with a past expiry date and confirm the POS prevents the sale. This is critical.
  6. Run a parallel period – For the first two weeks, continue your existing expiry checks alongside the new system. This catches any data entry errors before they become stock issues.
  7. Review the near-expiry report weekly – Assign a staff member to check the near-expiry report every Monday morning and action the items listed.

Common Mistakes to Avoid

  • Entering expiry data only sometimes – Batch tracking is only useful if it is 100% consistent. A system where some deliveries are tracked and others are not gives you false confidence.
  • Using FIFO when you need FEFO – In pharmacies and food retail, FIFO can cause expired stock to accumulate behind newer arrivals with longer expiries. Always use FEFO for perishables.
  • Ignoring the near-expiry report – An alert that nobody acts on is worthless. Assign ownership of the near-expiry report and create a weekly ritual around it.
  • Relying on cashiers to check expiry visually – In a busy till, this will be skipped. The system must enforce the block, not rely on human diligence.
  • Not testing your recall process – Run a mock recall drill once a year. Pick a batch number and time how long it takes to identify all stock and sales. If it takes more than 30 minutes, your process needs improvement.

Frequently Asked Questions

What is the difference between batch number and lot number?

Batch number and lot number mean the same thing in most industries – both refer to the unique identifier assigned to a group of products manufactured or processed together under the same conditions. Some industries (e.g., pharmaceuticals) prefer “lot number,” while food and manufacturing more commonly use “batch number.” In inventory software, the terms are interchangeable.

Is batch tracking mandatory for pharmacies?

Yes, in most countries. Pharmaceutical regulations require pharmacies to maintain records of medicines by batch or lot number, including the supplier, quantity received, quantity dispensed, and dates. These records must typically be retained for 5-7 years and must be available for inspection by health authorities. Selling medicines without batch records is a regulatory offence in most jurisdictions.

Can I track batch and expiry dates in a spreadsheet?

Technically yes, but it is not recommended for any business with more than a few hundred SKUs or a turnover above $100,000/year. Spreadsheets have no automatic alerts, no POS integration, no FEFO enforcement, and no audit trail. A single data entry error can go undetected for months. Purpose-built inventory software with batch tracking is essential for compliance and practical management at any meaningful scale.

What is FEFO and how is it different from FIFO?

FEFO stands for First Expired, First Out – it means your inventory system prioritises using or selling the batch with the earliest expiry date, regardless of when it arrived. FIFO stands for First In, First Out – it prioritises the oldest received batch regardless of expiry dates. For perishable goods and pharmaceuticals, FEFO is almost always the correct method because it minimises expiry write-offs even when batches with different expiry dates are mixed on the same shelf.

How does batch tracking help during a product recall?

With batch tracking, a recall becomes a targeted operation rather than a wholesale product withdrawal. You can immediately identify which specific lot number is affected, how many units are still in stock, how many were sold and on which dates, and – if you capture customer data – who purchased them. This precision dramatically reduces the cost and disruption of a recall, and provides the documentation required by regulators.

Ready to Automate Batch and Expiry Tracking?

Batch and expiry tracking is one of those capabilities that feels optional until the day it prevents a disaster – or reveals that a disaster has already happened. The good news is that implementing it properly does not require enterprise software or a lengthy IT project. A modern cloud-based inventory and POS system can have you fully tracking batches and expiry dates within a day of setup.

EloERP Cloud’s inventory module includes full batch and expiry tracking, FEFO enforcement, automated alerts, and POS-level expiry blocks – all included in a flat-fee plan with no per-user charges. It is designed for pharmacies, grocery stores, restaurants, and any business where stock freshness and traceability matter.

See how it works for your industry: view pricing or book a free demo.

Part of the EloERP Pharmacy Knowledge Hub

This article is part of our complete pharmacy management series. See the full guide: Pharmacy & Medicine Industry POS Software

Related resources:

Ready to Streamline Your Business?

EloERP gives you powerful ERP & POS tools — inventory, accounting, HR & more — all in one cloud platform. Join hundreds of businesses across 35+ industries.

No credit card required • Free setup • Cancel anytime

IT Vision Editorial Team

About the Author

IT Vision Editorial Team

The IT Vision Editorial Team comprises cloud ERP consultants and POS system experts at IT Vision Pvt. Ltd. With 10+ years helping SMBs across 35+ industries, we write practical guides on ERP software, inventory management, and point-of-sale systems. Based in Lahore, Pakistan.

Part of the EloERP Pharmacy Knowledge Hub

This article is part of our complete pharmacy management series. See the full guide: Pharmacy & Medicine Industry POS Software

Related resources:

Leave a Comment

Your email address will not be published. Required fields are marked *