```json
{
    "title": "Batch and Expiry Management for FMCG Brands: Why Manual Tracking Fails at Scale",
    "url": "https://aavatto.com/blog/batch-and-expiry-tracking-software-fmcg/",
    "datePublished": "2026-09-21",
    "dateModified": "2026-09-22",
    "language": "en-US",
    "description": "How ERPNext handles quality control in textile ERP workflows: inspections, rejection tracking, rework, and supplier accountability.",
    "author": "Aavatto",
    "publisher": "Aavatto - Frappe & ERPNext Experts | Custom Development, Implementation & Support"
}
```

# Batch and Expiry Management for FMCG Brands: Why Manual Tracking Fails at Scale

**Batch and expiry tracking software records which batch a unit of stock belongs to, what its expiry date is, and enforces that stock gets picked and sold in expiry order (FEFO), automatically, at the point of dispatch. A spreadsheet or manual log can record the same data, but it can't enforce pick order, which is where most FMCG write-offs actually come from.**

That distinction, tracking versus enforcement, is the one most FMCG brands don't realize matters until they've already absorbed a write-off, a compliance flag, or a customer return tied to near-expiry stock that shipped out of order. Below is where manual tracking actually breaks, what real batch and expiry tracking software does differently, and what to look for if you're evaluating a move away from spreadsheets.

## Why Spreadsheets and Manual Batch Logs Break Down as FMCG Brands Grow

A single-warehouse FMCG brand with a handful of SKUs can run batch and expiry tracking on a spreadsheet reasonably well, because one person can hold the whole picture in their head. That stops working once any of three things happen: SKU count grows past what one person can track manually, a second warehouse or distribution point gets added, or order volume reaches a point where picking happens faster than the spreadsheet gets updated.At that point, the spreadsheet doesn't fail all at once. It fails quietly, one small gap at a time: a batch gets logged after the stock has already been picked, not before; a warehouse team member grabs the nearest pallet instead of the one closest to expiry, because nothing on the floor tells them otherwise; two people update the same batch record within an hour of each other, and one version overwrites the other. None of these look like a crisis in the moment. They only become visible weeks later, as an expired-stock write-off, a retailer return, or, in regulated categories, a compliance question during an audit.

## What Batch and Expiry Tracking Software Actually Does Differently

The core difference isn't that software can store expiry dates and a spreadsheet can't. Both can. The difference is in three mechanisms a spreadsheet has no way to enforce.

Batch-level traceability, not just stock counts

Real batch and expiry tracking software ties every unit of stock to a specific batch from the moment it's received or manufactured, and keeps that link intact through every movement: warehouse transfer, sale, return. If a quality issue or recall surfaces on one batch, you can trace exactly which orders it went into, not just how many units were affected in total. A spreadsheet can record a batch number in a column; it has no built-in way to guarantee that number travels correctly through every subsequent transaction without someone manually copying it forward.

FEFO enforcement at the point of dispatch

First-Expired-First-Out sounds simple, but enforcing it requires the system to select which specific batch fulfills an order at the moment of picking, not just flag which batches are close to expiry in a report someone might check. In a properly configured ERP, a picker or an automated pick list is directed to the batch closest to expiry by default, so following the rule is the path of least resistance rather than something that depends on a person remembering to check a separate expiry report before pulling stock.

Expiry visibility connected to sales and returns

Expiry data that lives in isolation from your sales and pricing system is only half useful. When batch and expiry information is connected to the same system that handles orders, pricing, and returns, you can see, before stock goes anywhere, that a batch is approaching expiry and needs a markdown, a redirect to a faster-moving channel, or a return-to-vendor decision, rather than finding out after it's already sitting unsold on a shelf.

If your batch and expiry data isn't already connected to your broader distribution structure, that gap tends to widen as you add warehouses or sales channels, something we cover in more depth in [how ERP connects distribution, batch tracking, and expiry into one system for FMCG companies](/blog/erp-for-fmcg-companies-distribution-batch-tracking-expiry/).

## The Real Cost of Manual Tracking: Where FMCG Brands Actually Lose Money

The cost of manual batch and expiry tracking rarely shows up as a single line item. It shows up scattered across several places that are easy to treat as unrelated, unless you're looking for the pattern.

Manual tracking gapWhere the cost actually landsBatch logged after stock is picked, not beforeWrong batch shipped; traceability breaks if a quality issue surfaces laterNo enforced pick order at dispatchOlder stock sits while newer stock ships first; expiry write-offs climbExpiry data not connected to sales/pricingNear-expiry stock discovered too late to markdown or redirect, resulting in full write-off instead of partial recoveryMultiple people updating the same spreadsheetConflicting batch records; time spent reconciling instead of preventing the next gapNo link between batch and returnsCan't confirm whether a returned unit was actually near-expiry or a different issue entirely

None of these individually looks dramatic. Together, across a full SKU range and multiple warehouses, they're usually the actual source of "shrinkage" or "inventory variance" line items that get treated as a cost of doing business rather than a fixable process gap.

If any of this sounds familiar, it's worth talking through where your specific gaps are before assuming a full system overhaul is the only fix. Sometimes it's a narrower configuration problem than it looks.

## FMCG Inventory Expiry Management: What to Look for Beyond a Spreadsheet Replacement

Not every FMCG brand needs the same depth of batch and expiry tracking software, and it's worth being honest that there's no single setup that fits every operation. A few things are worth confirming regardless of scale:

Does it enforce FEFO at picking, or just report on expiry dates?

A report you have to remember to check is not enforcement.

Is batch data connected to sales, pricing, and returns, or does it live in a separate inventory module?

Isolated batch data recreates the same reconciliation problem in a new tool.

Can it handle your actual warehouse and channel structure?

A single-warehouse setup and a multi-plant, multi-distributor operation need different levels of configuration, not just the same software turned on.

What happens to historical batch data during migration?

This is usually the slowest part of moving off spreadsheets, and it's worth asking any implementation partner directly how they handle it rather than assuming it's automatic.

## Making the Move from Manual to Automated Batch and Expiry Tracking

There's no fixed timeline for this kind of move, and any FMCG inventory expiry management project claiming a universal one-size answer is oversimplifying. What actually determines the timeline is how much of your existing batch data is clean enough to migrate as-is, how many warehouses and channels are involved, and how much of your current process depends on informal knowledge that needs to get captured in the new system's rules before go-live.This is also where having configured batch and expiry tracking specifically for FMCG operations before, rather than treating it as a generic inventory module, matters. The failure points are consistent across FMCG brands: the migration is slower than expected, and the FEFO logic needs real configuration decisions, not default settings, to actually hold up on the warehouse floor.

## Frequently Asked Questions

[Is batch and expiry tracking software the same as a warehouse management system (WMS)?](#collapse-2331)

Not exactly. A WMS focuses on warehouse-level stock movement and picking logic. Batch and expiry tracking can exist inside a WMS, but for it to actually prevent write-offs, it needs to connect through to sales, pricing, and returns too, which a standalone WMS doesn't always do on its own.

[Can ERPNext enforce FEFO automatically, or does it need to be configured?](#collapse-2332)

ERPNext supports batch-wise stock and expiry tracking natively, but FEFO enforcement at the point of picking is a configuration decision, not something that works identically out of the box for every business. How strictly it's enforced depends on how the stock entry and delivery workflows are set up during implementation.

[How do we migrate years of manual batch records into a new system without losing accuracy?](#collapse-2333)

Data migration from spreadsheets or manual logs is usually the longest part of any batch and expiry tracking implementation, not the core software configuration. It typically involves cleaning historical batch data, deciding how far back to migrate versus starting fresh, and validating that expiry dates carried over correctly before go-live.

[Does batch and expiry tracking software help with regulatory compliance, or just internal efficiency?](#collapse-2334)

Both, but they're separate benefits. Internally, it reduces write-offs and reconciliation time. For regulated FMCG categories, batch-level traceability also supports audit and recall readiness, since you can show exactly which batches went where rather than reconstructing that manually after the fact.

[Is this worth it for a single-warehouse FMCG brand, or only multi-plant operations?](#collapse-2335)

Single-warehouse brands can outgrow spreadsheets too, usually once SKU count or order volume passes what one person can track reliably in their head. The scale of the software setup differs between a single warehouse and a multi-plant operation, but the underlying enforcement problem, tracking without enforcing pick order, shows up at both.

If manual batch and expiry tracking is already costing you write-offs, reconciliation time, or compliance uncertainty, [talk to us about your FMCG operations](/services/tailored-erpnext-implementation/) — we work through where your specific tracking gaps are before recommending a system change.
