FEFO vs FIFO Explained + 25 Inventory Terms You Should Know
25+ inventory terms defined — FEFO, FIFO, batch tracking, safety stock, shrinkage, cycle count, and more. The reference guide for retail.
Inventory management has its own language, and that language matters more than most operators realize. The difference between FIFO and FEFO is not academic -- it determines whether you ship the right unit first or throw it away. The difference between a cycle count and a physical inventory is not semantic -- it determines whether you shut down operations for two days or run counts continuously without interruption. Getting these terms wrong costs money through waste, stockouts, and compliance gaps. Getting them right is table stakes.
For operations managing perishable goods, pharmaceuticals, food and beverage products, or any inventory with expiration dates, several of these terms carry regulatory weight that goes beyond operational preference.
FEFO (First Expiry, First Out)
FEFO is an inventory rotation method where the item with the nearest expiration date is picked and shipped first, regardless of when it was received. This is the operationally correct rotation method for any product that expires, because receipt date and expiration date do not always align -- two shipments of the same SKU received a week apart may carry expiration dates that are inverted relative to their arrival sequence.
Practical example: A pharmacy receives Batch A of amoxicillin on January 5 (expires June 30) and Batch B on January 12 (expires April 15). Under FEFO, Batch B ships first despite arriving later, because it expires sooner. Under FIFO, Batch A ships first and Batch B may expire on the shelf.
Why it matters: FEFO reduces expiry-driven waste by 20-35% compared to FIFO for perishable categories. It is the expected standard under FDA 21 CFR 211.150 for pharmaceuticals, GFSI-benchmarked food safety audits, and increasingly under FSMA traceability requirements. Read our complete FEFO guide for implementation details.
Not sure how much you're losing to expiry?
Run a free inventory waste audit — find your bleeding SKUs in 60 seconds. No sign-up required.
Run free auditFIFO (First In, First Out)
FIFO is an inventory rotation method where the item received earliest is picked and shipped first. It is the default rotation logic in most inventory systems and the standard taught in supply chain education. FIFO works well for non-perishable goods, shelf-stable products with long and uniform shelf lives, and any category where expiration is not a factor.
Practical example: A hardware store receives a shipment of screws on March 1 and another on March 15. Under FIFO, the March 1 shipment is sold first. Since screws do not expire, this is perfectly adequate.
Why it matters: FIFO is an accounting standard accepted under GAAP and IFRS for cost-of-goods-sold calculations. However, for perishable inventory, FIFO is the leading cause of rotation-driven waste because it ignores expiration dates entirely. Operations managing both perishable and non-perishable goods typically run FEFO for date-sensitive categories and FIFO for everything else.
LIFO (Last In, First Out)
LIFO is an inventory rotation method where the most recently received item is picked first. In physical warehouse operations, LIFO is rarely used intentionally -- it tends to occur accidentally when new stock is placed in front of old stock. As an accounting method, LIFO assigns the most recent inventory costs to cost-of-goods-sold, which can reduce taxable income during periods of rising prices.
Practical example: A fuel distributor receives diesel at $3.80/gallon in Week 1 and $4.10/gallon in Week 2. Under LIFO accounting, the $4.10 cost is expensed first, increasing COGS and reducing reported profit.
Why it matters: LIFO is accepted under US GAAP but prohibited under IFRS, which makes it irrelevant for companies reporting under international standards. For physical inventory rotation of perishable goods, LIFO is actively harmful -- it guarantees that older stock sits longest, maximizing expiry risk.
Batch Tracking
Batch tracking (also called lot tracking) is the practice of recording and following a specific production batch through the supply chain, from manufacturer to end consumer. Each batch is identified by a unique lot number and carries attributes including production date, expiration date, supplier, and any quality certifications. Batch tracking enables targeted recalls, expiry management, and regulatory compliance.
Practical example: A grocery retailer receives 200 cases of romaine lettuce carrying five different lot numbers from three growing regions. Batch tracking records each lot separately, so when the FDA issues a recall for lettuce from one specific region, the retailer pulls only the affected lots rather than clearing the entire shelf.
Why it matters: Batch tracking is legally required under FSMA Section 204 for foods on the FDA's Food Traceability List, under FDA 21 CFR 211 for pharmaceuticals, and under EU Falsified Medicines Directive 2011/62/EU for drugs sold in Europe. Beyond compliance, batch tracking is the data foundation that makes FEFO rotation, targeted recalls, and supplier quality analysis possible. Without batch-level data, your inventory system sees units -- with it, the system sees history. ShelfLifePro provides batch-level tracking with native FEFO logic.
Lot Number
A lot number (or lot code) is a unique identifier assigned by the manufacturer to a specific production batch. It links every unit in that batch to shared production conditions: the same raw materials, the same manufacturing line, the same date, and the same quality control results. The lot number is the key that unlocks traceability -- without it, you have units of product, but with it, you have provenance.
Practical example: A pharmaceutical manufacturer produces acetaminophen tablets in Batch L2026-0342. Every bottle from that batch carries this lot number. If a quality defect is discovered, the manufacturer can recall specifically Batch L2026-0342 rather than pulling the entire product line from the market.
Why it matters: Lot numbers are the linchpin of the FDA's traceability system under FSMA 204 and are required data fields in pharmaceutical track-and-trace systems like DSCSA. Recording lot numbers at receiving is the single most important operational change for any business implementing batch tracking.
SKU (Stock Keeping Unit)
A SKU is a unique identifier for a distinct product in your inventory system. It identifies what the product is -- brand, size, variant, packaging -- but does not distinguish between individual units or batches of that product. A SKU tells you that you have 48 units of Brand X Whole Milk, 1 gallon. It does not tell you that 24 of those units expire on the 15th and the other 24 expire on the 22nd.
Practical example: A retailer assigns SKU 10042 to a 500ml bottle of olive oil from a specific brand. Every unit of that product shares the same SKU regardless of when it was manufactured or when it expires.
Why it matters: SKU-level inventory management is sufficient for non-perishable goods. For anything that expires, SKU-level tracking is inadequate because it cannot differentiate between batches with different expiration dates, which means it cannot support FEFO rotation or targeted recalls. Moving from SKU-level to batch-level tracking is the fundamental architectural shift required for expiry management.
Safety Stock
Safety stock is the extra inventory held above expected demand to buffer against supply chain variability -- late deliveries, demand spikes, supplier shortfalls, or quality rejections. It is insurance inventory. The calculation balances the cost of holding extra stock against the cost of a stockout, and it varies by product based on demand volatility, supplier reliability, and lead time consistency.
Practical example: A pharmacy averages 20 units/week of a blood pressure medication with a 2-week lead time. Demand occasionally spikes to 30 units/week, and the supplier sometimes delivers 3 days late. Safety stock of 15-20 units covers the reasonable worst case without tying up excessive capital.
Why it matters: For perishable goods, safety stock calculations must account for shelf life. Holding 30 days of safety stock for a product with a 45-day shelf life means a substantial portion of your buffer inventory is always near expiration. The interaction between safety stock levels and expiry rates is one of the least understood and most expensive dynamics in perishable inventory management.
Reorder Point
The reorder point is the inventory level at which a new purchase order should be triggered. It is calculated as (average daily usage multiplied by lead time in days) plus safety stock. When on-hand inventory drops to this level, you order more. The concept is simple; the execution is difficult because both demand and lead time are variable.
Practical example: A grocery store sells 10 cases of canned tomatoes per day, lead time from the distributor is 5 days, and safety stock is 15 cases. The reorder point is (10 x 5) + 15 = 65 cases. When inventory hits 65, the system triggers a PO.
Why it matters: A reorder point set too high ties up capital in excess inventory. Set too low, you stock out. For perishable products, overordering is doubly expensive because unsold units become waste rather than just carrying cost. Accurate reorder points are the single most effective lever against both stockouts and expiry waste.
Lead Time
Lead time is the total elapsed time from placing a purchase order to having the goods available for sale or use. It includes supplier processing time, manufacturing time (if made to order), shipping and transit time, and your own receiving and put-away time. Lead time is rarely constant -- it varies by supplier, season, transportation mode, and a dozen other factors.
Practical example: A retailer orders fresh produce from a regional distributor. Normal lead time is 2 days. During peak summer season, the distributor is backlogged and lead time stretches to 4 days. If the retailer's reorder point assumes 2-day lead time year-round, summer stockouts are inevitable.
Why it matters: Lead time variability is the primary driver of safety stock requirements. Longer and less predictable lead times require more buffer inventory, which for perishable goods increases expiry risk. Reducing lead time or improving its predictability is often more valuable than optimizing any other inventory parameter.
Dead Stock
Dead stock is inventory that has not sold within a defined period and has little or no prospect of selling at full price. For perishable goods, dead stock is inventory approaching or past its expiration date. For non-perishable goods, it is typically product that has been on hand for 6-12 months with zero or negligible movement. Dead stock ties up capital, occupies warehouse space, and in the case of perishables, eventually becomes a write-off.
Practical example: A supplement retailer ordered 500 units of a new protein powder based on optimistic demand projections. Six months later, 380 units remain. The product expires in 4 months. This is dead stock that will require aggressive markdowns, donation, or disposal.
Why it matters: Dead stock is the clearest indicator of purchasing errors, demand forecasting failures, or poor rotation practices. Monitoring dead stock by category and supplier reveals systemic problems that aggregate into significant annual losses. ShelfLifePro flags slow-moving inventory before it becomes dead stock, giving operators time to markdown or redistribute.
Shrinkage
Shrinkage is the difference between the inventory your system says you have and the inventory you actually have. The gap is caused by theft (internal and external), administrative errors (receiving mistakes, miscounts, data entry errors), supplier fraud (short shipments accepted without verification), and spoilage or damage. In grocery retail, shrinkage typically runs 2-4% of sales, which translates to hundreds of thousands of dollars annually for a mid-size operation.
Practical example: Your system shows 100 units of a product on hand. A physical count reveals 93 units. The 7-unit gap is shrinkage. Without investigation, you do not know if those units were stolen, miscounted at receiving, damaged and discarded without system adjustment, or simply entered incorrectly.
Why it matters: Shrinkage directly reduces profit margin dollar for dollar. It also corrupts inventory accuracy, which cascades into incorrect reorder points, phantom stock (the system thinks you have units you do not), and lost sales from stockouts on items your system believes are in stock. Batch-level tracking reduces shrinkage by making every unit accountable.
Cycle Count
A cycle count is a partial physical inventory count performed on a rotating schedule so that every product is counted at least once within a defined period (typically quarterly or annually) without shutting down operations. Different items are counted on different days, often prioritized by value (A items counted monthly, C items counted quarterly).
Practical example: A warehouse counts one aisle per day, completing all aisles within a 20-day rotation. Discrepancies are investigated and resolved immediately rather than accumulating until an annual count.
Why it matters: Cycle counting maintains inventory accuracy continuously rather than correcting it once a year during a disruptive full physical count. For perishable inventory, cycle counts also serve as an opportunity to verify expiration dates, check for damaged goods, and enforce rotation compliance. The FDA expects pharmaceutical operations to maintain perpetual inventory accuracy, making cycle counts effectively mandatory.
ABC Analysis
ABC analysis classifies inventory into three categories based on value contribution: A items are the top 10-20% of SKUs that generate 70-80% of revenue or cost; B items are the next 20-30% generating 15-20%; C items are the remaining 50-70% generating 5-10%. The classification drives differentiated management strategies -- tighter controls and more frequent counts for A items, lighter touch for C items.
Practical example: A pharmacy finds that 50 SKUs (out of 800 total) account for 75% of revenue. These A items get weekly cycle counts, dedicated shelf space, and precise reorder points. The 400 C items get quarterly counts and simpler replenishment rules.
Why it matters: ABC analysis prevents the common mistake of applying the same inventory management intensity to all products. For perishable goods, ABC classification should incorporate expiry risk alongside revenue -- a low-revenue item with a 7-day shelf life may warrant A-level attention because its waste cost per unit of inattention is high.
Perpetual Inventory
Perpetual inventory is a system that updates inventory quantities in real time as transactions occur -- every receipt, sale, transfer, adjustment, and disposal is recorded immediately. The on-hand quantity in the system reflects (in theory) the actual physical quantity at any moment. This contrasts with periodic inventory, where the system is updated only at defined intervals.
Practical example: A retailer using perpetual inventory scans each item at receiving (quantity increases) and at the POS (quantity decreases). The system shows real-time on-hand counts that drive automated reorder alerts, picking instructions, and availability displays.
Why it matters: Perpetual inventory is the operational prerequisite for automated reorder points, real-time stock visibility, and FEFO rotation logic. Without it, you are making inventory decisions based on data that is hours, days, or weeks old. The FDA requires pharmaceutical distributors to maintain perpetual inventory records under DSCSA.
Periodic Inventory
Periodic inventory is a system where physical counts are performed at defined intervals (weekly, monthly, quarterly) and the system is updated only at those points. Between counts, the system does not reflect real-time transactions. Cost of goods sold is calculated retrospectively: beginning inventory plus purchases minus ending inventory equals COGS.
Practical example: A small retailer counts all inventory on the last Sunday of each month. During the month, they track purchases but not individual sales at the inventory level. The monthly count reveals what sold, what was lost, and what remains.
Why it matters: Periodic inventory is simpler to implement but provides no real-time visibility. For perishable goods, a monthly count interval means expiring inventory may not be identified until it is too late to sell, markdown, or donate. Most modern operations have moved to perpetual systems, but periodic inventory persists in smaller businesses and is still accepted under GAAP for financial reporting.
Just-in-Time (JIT)
Just-in-Time is an inventory strategy that aims to receive goods only as they are needed for sale or production, minimizing on-hand inventory and carrying costs. JIT reduces waste from overstock and obsolescence, but it requires reliable suppliers, accurate demand forecasting, and short, predictable lead times. It is inherently fragile -- any supply chain disruption causes immediate stockouts.
Practical example: A bakery orders flour deliveries three times per week in quantities matched to its production schedule rather than maintaining a month's supply in storage. This reduces storage costs and ensures flour freshness, but a single missed delivery halts production.
Why it matters: For perishable goods, JIT is philosophically appealing because less inventory means less expiry risk. In practice, the tension between JIT's lean inventory and the safety stock needed to buffer perishable supply chain variability requires careful calibration. Pure JIT is rare in food retail; modified JIT with strategic safety stock buffers is more realistic.
EOQ (Economic Order Quantity)
EOQ is a formula that calculates the optimal order quantity by balancing ordering costs (purchase orders, shipping, receiving labor) against carrying costs (storage, capital, insurance, spoilage). The classic EOQ formula assumes constant demand and lead time, which limits its accuracy for products with seasonal demand or variable shelf life.
Practical example: A retailer calculates that the cost of placing a purchase order (staff time, shipping) is $25, annual demand for a product is 1,200 units, and carrying cost is $2 per unit per year. The EOQ formula yields approximately 173 units per order, or roughly 7 orders per year.
Why it matters: For perishable goods, the standard EOQ formula must be modified to include spoilage cost as a component of carrying cost. Ordering 173 units of a product with a 30-day shelf life when you sell 100 units per month guarantees that 73 units will expire. Perishable EOQ models add a shelf-life constraint that caps order quantity at what can reasonably be sold before expiration.
Carrying Cost
Carrying cost (also called holding cost) is the total cost of holding inventory over time, expressed as a percentage of inventory value or a per-unit dollar amount. It includes capital cost (the opportunity cost of money tied up in stock), storage cost (rent, utilities, climate control), insurance, taxes, and shrinkage or obsolescence losses. For most businesses, carrying cost runs 20-30% of inventory value annually.
Practical example: A distributor holds $500,000 in average inventory. At a 25% carrying cost rate, the annual cost of holding that inventory is $125,000 -- a figure that never appears on a single invoice but is very real in aggregate.
Why it matters: Carrying cost is the hidden tax on overordering. For perishable goods, the obsolescence component of carrying cost is dramatically higher than for non-perishables, often doubling the total carrying rate. This makes accurate demand forecasting and tight inventory management disproportionately valuable for date-sensitive categories.
Stockout
A stockout occurs when a product is unavailable for sale because on-hand inventory has reached zero. Stockouts result in lost sales (the immediate revenue impact), lost customers (the long-term loyalty impact), and in some cases regulatory violations (pharmacies have legal obligations to maintain adequate stock of essential medications).
Practical example: A grocery store runs out of a popular milk brand on Saturday morning. Weekend shoppers buy a competitor brand or leave the store entirely. The lost sale is $4.50 per unit; the lost customer relationship is incalculable.
Why it matters: The cost of a stockout is almost always higher than the cost of holding slightly more inventory, which is why safety stock exists. For perishable goods, the challenge is that overordering to prevent stockouts increases expiry waste. The optimal solution is not more inventory but more accurate inventory: better demand data, tighter lead times, and batch-level visibility that prevents phantom stock.
Backorder
A backorder is an order accepted for a product that is currently out of stock, with the commitment to fulfill it when inventory is replenished. Backorders preserve the sale that a stockout would otherwise lose, but they increase fulfillment costs, delay customer satisfaction, and create operational complexity in tracking and prioritizing pending orders.
Practical example: A restaurant supply distributor is temporarily out of a specific olive oil. Rather than losing the order, they accept it as a backorder and ship when the next container arrives in 10 days. The customer waits but does not need to reorder.
Why it matters: Backorders are generally not applicable to perishable retail (a customer will not wait 10 days for milk), but they are relevant in pharmaceutical and food service distribution where specific products, lot numbers, or formulations may have intermittent availability.
Cross-Docking
Cross-docking is a distribution strategy where inbound shipments are unloaded, sorted, and loaded directly onto outbound vehicles with minimal or no storage time in between. Product moves through the dock rather than into the warehouse. This reduces handling, storage costs, and critically for perishables, time in the supply chain.
Practical example: A grocery distribution center receives a truckload of mixed produce from multiple growers at 4 AM. By 6 AM, the cases have been sorted by store destination and loaded onto delivery trucks without ever entering racked storage. The product reaches store shelves the same morning.
Why it matters: For perishable goods, every hour in the supply chain is an hour of shelf life consumed. Cross-docking can add 1-3 days of sellable shelf life compared to traditional warehouse-and-pick operations. It requires precise coordination between inbound and outbound schedules, accurate advance shipment notices, and batch-level tracking to maintain traceability through the rapid handling process.
Pick-Pack-Ship
Pick-pack-ship is the three-stage fulfillment process of selecting items from inventory (pick), packaging them for transport (pack), and dispatching them to the customer (ship). The efficiency and accuracy of this process directly determines fulfillment cost, delivery speed, and order accuracy.
Practical example: An online supplement retailer receives an order for three items. A picker walks the warehouse and pulls the items from their bin locations, a packer verifies the contents and boxes them with appropriate padding, and the package enters the shipping queue for carrier pickup.
Why it matters: In a FEFO-managed operation, the pick stage is where rotation logic is enforced. The warehouse management system must direct the picker to the specific bin and batch with the nearest expiration date, not just the nearest bin. ShelfLifePro integrates FEFO logic into the picking process so rotation decisions are made by the system, not by the picker's judgment.
Consignment Inventory
Consignment is an arrangement where the supplier retains ownership of inventory that is physically located at the retailer's premises. The retailer pays only for units sold. Unsold inventory can be returned to the supplier without financial loss to the retailer. This shifts inventory risk from the buyer to the seller.
Practical example: A beverage manufacturer places 200 cases of a new product in a grocery store on consignment. The store displays and sells the product, paying the manufacturer only for units sold. After 60 days, 50 unsold cases are returned to the manufacturer at no cost to the store.
Why it matters: Consignment is common for new product introductions and high-risk perishable items where the retailer would otherwise refuse to carry the product. For inventory management, consignment goods must be tracked separately because they are not owned inventory -- they should not appear in your cost-of-goods-sold or carrying cost calculations until sold.
VMI (Vendor-Managed Inventory)
VMI is a supply chain arrangement where the supplier monitors the retailer's inventory levels and makes replenishment decisions. The retailer shares sales or inventory data; the supplier determines order quantities and delivery schedules. VMI shifts replenishment responsibility upstream, ideally improving fill rates and reducing stockouts.
Practical example: A snack food manufacturer monitors sales data from a convenience store chain and automatically ships replenishment orders when store-level inventory drops below agreed thresholds. The store never places a purchase order -- the vendor handles everything based on actual consumption data.
Why it matters: VMI can reduce both stockouts and overstock because the supplier has better visibility into production schedules and lead times. For perishable goods, effective VMI requires the supplier to account for remaining shelf life at the retail level, not just unit counts. A VMI system that sends full-shelf-life product to a fast-turning store and short-shelf-life product to a slow-turning store is not optimizing -- it is creating a waste problem at the slow store.
Markdown
A markdown is a price reduction applied to inventory, typically to accelerate the sale of slow-moving, seasonal, or near-expiry products before they become unsellable. Markdowns preserve some revenue from inventory that would otherwise become a total loss through expiry or obsolescence.
Practical example: A grocery store marks down yogurt from $5.99 to $3.99 when it reaches 5 days before expiration. The store recovers 67% of revenue instead of zero. The remaining margin covers at least the cost of goods.
Why it matters: Markdown timing is one of the highest-leverage decisions in perishable inventory management. Too early and you sacrifice unnecessary margin. Too late and the product expires before selling. Optimal markdown timing depends on the product's demand elasticity, remaining shelf life, and historical sell-through rates at various discount levels. ShelfLifePro generates markdown alerts based on expiry proximity and product-specific sell-through patterns.
Write-Off
A write-off is the formal accounting recognition that inventory has lost all value and must be removed from the books. For perishable goods, write-offs occur when product expires, spoils, is damaged beyond sale, or is recalled. The write-off reduces inventory asset value on the balance sheet and is expensed as a loss on the income statement.
Practical example: A pharmacy discovers 15 units of a medication that expired last month. The product is removed from inventory, disposed of per regulatory requirements, and the cost (say $450) is written off as an inventory loss. This directly reduces the pharmacy's net income by $450.
Why it matters: Write-offs are the final financial expression of every upstream failure -- poor demand forecasting, inadequate rotation, missed expiry alerts, and broken cold chain. Tracking write-offs by category, supplier, and root cause converts a financial loss into actionable intelligence. If 40% of your write-offs come from one supplier's products, that is a conversation worth having with that supplier. Start a free trial to see how ShelfLifePro tracks write-off patterns and their root causes.
Further Reading
For detailed treatment of specific topics:
- FEFO implementation: The Definitive Guide to FEFO Inventory Management covers rotation logic, system requirements, and the waste reduction math in depth.
- Batch tracking for compliance: ShelfLifePro provides batch-level tracking with FEFO rotation, expiry alerts, and audit-ready reporting for food, beverage, and pharmaceutical operations.
- Getting started: Start a free trial to see how these concepts translate into operational software.
This glossary is maintained as a living reference. Terms and definitions reflect current US regulatory requirements including FDA, FSMA, and DSCSA frameworks as of 2026.
See what batch-level tracking actually looks like
ShelfLifePro tracks expiry by batch, automates FEFO rotation, and sends markdown alerts before stock expires. 14-day free trial, no credit card required.