A stock record showing 1,000 units on hand can appear straightforward. But what if 400 units expire next month, 350 are still awaiting quality approval, and the remaining 250 have a much longer shelf life?
At SKU level, the inventory balance is still 1,000 units. Operationally, though, those units are not interchangeable.
This is the problem batch control solves. It gives the business a way to identify and manage inventory according to the specific production or supply batch it came from, rather than treating every unit of the same SKU as identical.
One SKU can contain several different batches
A batch is a unique identity assigned to a quantity of product with common characteristics. Those characteristics may include a manufacturing date, expiry date, supplier batch number, production run or quality status.
For example, a warehouse may hold 1,000 units of one item:
- 400 units from Batch A - 350 units from Batch B - 250 units from Batch C
All 1,000 units belong to the same SKU, but each batch may have a different expiry date, manufacturing date or approval status. A planner, warehouse team or quality team may therefore need to make decisions based on the batch balance, not just the total SKU balance.
Batch control means that this information stays attached to the stock as it moves through the business. When inventory is received, stored, transferred, consumed in production, adjusted or shipped to a customer, the transaction records both the item and the relevant batch.
That distinction matters from the first receipt. A purchase order may contain one SKU and one total quantity, but the delivery may arrive in several supplier batches. Simply adding the full quantity to the SKU-level balance loses the information needed to manage those batches separately.
Shelf life is managed by batch, not by SKU
Expiry management is where the limitation of SKU-level stock becomes particularly clear.
A SKU does not have one expiry date if the warehouse holds multiple batches. The expiry date belongs to the batch. Without knowing which quantity belongs to which batch, the business cannot reliably determine what is close to expiry, what should be used first, or what must no longer be used or sold.
This supports a process often called **FEFO**, or First Expired, First Out. The principle is simple: where suitable, use or ship the stock that will expire first before using stock with a later expiry date.
FEFO is not necessarily the same as using the stock received first. An older receipt may have a later expiry date than a newer receipt, particularly where suppliers deliver product with different remaining shelf lives. If the objective is to minimise expiry risk, the expiry date is the more useful signal.
Batch-level information also allows the business to:
- identify stock approaching expiry; - prevent expired stock from being allocated, consumed or shipped; - quarantine batches that cannot yet be used; - separate approved stock from stock awaiting inspection; - make better decisions about stock rotation, production scheduling and customer allocation.
The right process will depend on the product and the business. Some operations may need strict expiry blocking, while others may manage shelf life through warehouse procedures and customer-specific minimum shelf-life requirements. In each case, the basic requirement is the same: the business needs to know which physical quantity belongs to which batch.
Batch control creates a traceability chain
Shelf life is only one reason to manage batches. A batch can carry information that helps connect the physical product to the events around it.
Depending on the product and process, a batch record may include the supplier batch number, manufacturing date, country or site of manufacture, inspection results, QA release status, or links to certificates and approval documents.
This creates a chain of information across the product lifecycle.
A business can trace where a batch came from, when it was received, whether it passed quality checks, where it was stored, whether it was consumed in production, and which customer shipments included it. If a quality issue is identified later, that information is far more useful than a total SKU balance.
For example, if a supplier identifies a concern with one production batch, the business needs to know whether it still has stock from that batch, whether it has already been used in production, and whether finished goods or customer shipments were affected. That investigation depends on batch-level records being maintained through each transaction.
Batch control does not remove the need for good warehouse discipline or quality processes. However, it provides the record structure those processes rely on.
The warehouse and system records need to agree
Batch control works only if the batch identity is retained in both the physical process and the inventory record.
In the warehouse, this may mean clear labelling, appropriate storage locations and procedures that prevent one batch being mixed with another without being recorded. In the system, it means recording the batch whenever stock changes status, location or ownership.
A common source of difficulty is treating batch information as something recorded only at goods receipt. If it is not retained through transfers, picking, production consumption, adjustments and shipments, the original traceability quickly becomes incomplete.
The inventory balance may still be correct in total, but the business can no longer be confident about which batch is physically where, which batch was used, or which batch was supplied to a customer.
For products that require expiry management, quality approval or detailed traceability, this is not a minor administrative issue. It affects whether the inventory record can support day-to-day operational decisions.
My experience
I once used inventory control software that had batch control and a shelf-life field against the batch. The system was well suited to manufacturing, where a batch was created through the manufacturing process and the system could calculate the expiry date from the batch's production date and defined shelf life.
The problem arose with purchased shelf-life products. When the inventory was received, the system automatically calculated the expiry date based on its configured shelf-life rules. This assumed that the shelf life effectively started when we received the product.
In reality, the product had already been manufactured by the supplier and could have been sitting in their supply chain before we received it. The actual expiry date therefore depended on the manufacturer's batch and manufacturing date, not simply on the date we received the inventory.
I needed to develop a shelf-life management process using a different field in the system so that the actual expiry information could be captured and managed for purchased products.
This highlighted an important point about system design: having batch control and a shelf-life field does not necessarily mean the system can manage every type of shelf-life process. The way the system calculates or captures the expiry date needs to reflect how the product actually moves through the supply chain.
When the system has no batch functionality
Not every inventory system provides native batch control. Some systems can record the total quantity of an SKU but cannot retain a separate balance and transaction history for each batch.
Businesses may try to fill that gap with spreadsheets, batch registers, manual expiry reports or additional paperwork. These workarounds can be useful in limited situations, particularly where volumes are low and the process is tightly controlled.
The trade-off is additional administration and a greater risk that the manual record becomes disconnected from the system balance or physical stock. The risk grows when multiple batches of the same SKU are received, stored in several locations, transferred, consumed in production or shipped regularly.
A spreadsheet may identify that Batch A has 400 units remaining, but that information becomes unreliable if a warehouse movement, adjustment or production issue is recorded in the inventory system without also being updated in the spreadsheet.
When assessing an inventory system, it is therefore worth looking beyond whether it can record total stock. The more useful question is whether it can maintain the level of control needed for the product and the process.
Questions to ask about batch-controlled stock
Before relying on a process, planners and operations teams should understand how batch information is handled at each step:
- Can a single receipt be recorded against multiple batches of the same SKU? - Can stock on hand be viewed by batch as well as by SKU? - Is expiry date associated with the batch and visible to the people making allocation and picking decisions? - Can stock be held in quarantine or blocked until quality approval is complete? - Does the batch identity remain attached when stock is transferred, consumed, adjusted and shipped? - Can the business trace a batch from supplier receipt through to production use or customer delivery? - If batch control is managed outside the system, who keeps the records aligned with physical stock and transaction history?
These questions help reveal whether the process is genuinely controlling batches or merely recording batch numbers at isolated points.
Key Takeaways
- A SKU-level stock balance can hide important differences between batches of the same item. - Batch control records inventory transactions against a specific production or supply batch. - Expiry dates need to be managed at batch level because different batches of the same SKU can expire at different times. - Batch information supports FEFO, expiry reporting, quarantine, quality approval and blocking of expired stock. - Effective traceability depends on retaining the batch identity from receipt through storage, production and customer shipment. - A system that records total inventory may still be unsuitable where the business needs batch-level shelf-life, quality or traceability control.