FIFO vs FEFO vs LIFO: inventory rotation explained
FIFO, FEFO and LIFO compared: physical stock rotation vs accounting valuation, worked examples, which industries use each and how allocation enforces them.
FIFO, FEFO and LIFO decide which units leave your warehouse first, and two of them also decide how your inventory is valued on the balance sheet. This guide separates the physical question from the accounting one, works through examples with real numbers, shows which industries use which method, and explains how a warehouse system enforces rotation so it does not depend on a picker's memory.
Physical rotation vs accounting valuation
The acronyms are used for two different decisions. Physical rotation is about which units a picker takes off the shelf. Cost flow is about which purchase price the accountant assigns to the units you sold. The warehouse owns the first; finance owns the second.
The two do not have to match. A food distributor can ship strictly by expiry date while its books use weighted average cost. That is normal and legitimate, because valuation is a costing convention, not a record of which carton moved. Mixing the two up leads to bad arguments, such as "we can't use FEFO because our accounting is FIFO." You can.
A useful test: ask which person gets blamed when it goes wrong. If the problem is expired stock written off at the back of a shelf, it is a physical rotation problem and belongs to the warehouse. If the problem is a margin that looks wrong at month end, it is a valuation question and belongs to finance. The rest of this guide covers both, starting with the floor.
FIFO: first in, first out
Under physical FIFO, the stock received earliest ships first. The warehouse needs to know when each unit arrived, which in practice means tracking lots or receipt dates and keeping older stock in front of or closer to the pick face than newer stock.
FIFO fits products that age but carry no printed expiry. Apparel goes out of season. Packaging yellows and adhesive labels lose tack. Electronics get superseded by new revisions. Rubber parts such as seals and wiper blades carry date codes that buyers check. Shipping the oldest stock first keeps any single unit from sitting long enough to become a problem.
FIFO is also a sensible default in a warehouse with no dated products at all, simply because it prevents dead stock from building up at the back of a bin.
Enforcing FIFO does not always require formal lot numbers. Some warehouses use the receipt date as the lot, others give each inbound pallet a license plate and rotate by the plate's receipt date. What matters is that the system can tell two deliveries of the same SKU apart. If it cannot, FIFO depends entirely on how carefully people stack the shelf.
FEFO: first expired, first out
Under FEFO, the stock with the earliest expiry date ships first, regardless of when it arrived. It requires lot tracking with an expiry date per lot, captured at receiving.
Most of the time FEFO and FIFO pick the same units, because older deliveries usually expire sooner. The difference shows up when they do not. For example, you receive olive oil OIL-008 lot LOT-0826 in March with a December expiry. In April a supplier ships lot LOT-0901, which was sitting in their own warehouse and expires in October. FIFO would ship the March lot first and leave the April lot to expire on your shelf. FEFO ships LOT-0901 first.
Many retail and wholesale buyers also set a minimum remaining shelf life, for example that goods must arrive with at least 60% of their life left. FEFO alone does not guarantee that. The allocation rule needs to skip lots that would arrive too short-dated for that customer, and receiving needs to reject or flag deliveries that are already too close to expiry.
LIFO: last in, first out
Physical LIFO is rarely a policy; it is usually a consequence of storage. Drive-in racking, block-stacked pallets and bulk piles of sand, gravel or bricks can only be reached from the front, so the last load in is the first load out. That is acceptable for products that do not age, and a real problem for anything that does.
LIFO matters far more as an accounting method. Under LIFO costing, the most recent purchase prices are matched against sales, which lowers reported profit when prices are rising. IFRS does not permit LIFO for inventory valuation; US GAAP does. If you are unsure which framework applies to you, ask your accountant. None of this changes what the warehouse physically ships.
If your racking forces physical LIFO on products that do age, the fix is in the layout rather than the software. Use push-back or flow racking that feeds from the back, keep each drive-in lane to a single lot, or reserve those lanes for stock that does not date.
Worked example: FIFO, LIFO and weighted average valuation
Take a simple, illustrative case. You buy 100 phone cases at 10.00 each, then another 100 at 12.00 each. You sell 150. The three cost methods give three different results from the same physical events:
Nothing moved differently on the floor in any of these cases. That is the point: valuation is a calculation on top of the movement history, and a WMS that records every receipt with its cost can feed any of them to your accounting system.
- FIFO: cost of goods sold = 100 × 10.00 + 50 × 12.00 = 1,600. The 50 units left are valued at 12.00, so ending inventory = 600.
- LIFO: cost of goods sold = 100 × 12.00 + 50 × 10.00 = 1,700. The 50 units left are valued at 10.00, so ending inventory = 500.
- Weighted average: average cost = 2,200 ÷ 200 = 11.00. Cost of goods sold = 150 × 11.00 = 1,650, and ending inventory = 550.
Which industries use FIFO, FEFO or LIFO
These are typical starting points, not rules. Your customers, suppliers and regulators set the real requirements, and regulated operations must validate their own.
- Food and beverage: FEFO, usually with a minimum remaining shelf life per customer. See warehousing for food and beverage.
- Cosmetics and beauty: FEFO by batch expiry, with lot traceability for recalls.
- Health and supplements: FEFO with strict lot control and holds on quarantined batches.
- Pharmaceuticals and medical products: FEFO, with validation and documentation requirements that the operator must confirm for its own market.
- Apparel and footwear: FIFO within a season, with older seasons routed to outlets or promotions.
- Electronics: FIFO, often combined with serial number tracking and firmware or revision checks.
- Auto parts: FIFO, with date codes checked on rubber and fluid products.
- Bulk building materials: physical LIFO is common because of how the stock is stacked.
How allocation enforces FIFO and FEFO
Rotation fails when it depends on pickers choosing the right carton. Pickers take the nearest, easiest unit, especially under time pressure. The fix is to make the rule part of order allocation: the system chooses the lot and location when it reserves stock for the order, and the pick list tells the picker exactly what to take.
A typical FEFO allocation works like this. The system lists every available unit of the SKU and excludes stock in quarantine, damaged or on hold. It ranks the rest by expiry date, then by receipt date as a tie-breaker. It skips lots that fail the customer's shelf-life minimum. Then it chooses locations, often preferring a whole pallet when the order needs one and a pick face over reserve storage, and breaks ties by walk sequence. The picker scans the location and item, and any substitution is recorded with a reason.
Physical layout still has to support the rule. When you replenish a pick face, put the new stock behind the old stock, not on top of it. Avoid mixing lots in one bin unless every lot is recorded against that bin.
How to set up FEFO in your warehouse: a checklist
FEFO works when expiry data is captured once, correctly, and every later step trusts it. Use this list when you set it up or audit it.
- Mark which SKUs are lot-tracked and which also carry an expiry date. Not every lot-tracked item expires.
- Capture lot and expiry at receiving, by scanning GS1 barcodes where suppliers print them and by keying from the carton label where they do not.
- Set a minimum shelf life for inbound deliveries and route anything below it to quarantine for a decision instead of into available stock.
- Record customer shelf-life minimums where buyers require them, and make sure allocation respects them.
- Keep one lot per bin where you can. Where lots share a bin, record each lot against that bin.
- Replenish pick faces behind existing stock, and put the earliest-expiring lot where the picker reaches first.
- Review expiring stock weekly: what can be sold in time, what should be discounted and what should be put on hold.
- When a picker cannot find the allocated lot, record the substitution and the reason instead of silently taking another lot.
Common stock rotation mistakes
Most rotation problems are data problems that surface on the floor. These are the ones to check first.
- Tracking expiry at SKU level instead of per lot, so the system cannot tell which carton expires first.
- Letting pickers pick any lot and correcting the record afterwards.
- Topping up pick faces from the front, which pushes older units to the back.
- Skipping the shelf-life check at receiving, so short-dated stock enters as available.
- Treating an accounting policy as a floor rule, or the other way around.
- Leaving expired stock in available status instead of moving it to a hold or quarantine status.
How NextStock handles FEFO
NextStock captures lot and expiry at receiving, including from GS1-128 and DataMatrix barcodes, and flags shelf-life variances on inbound deliveries for approval. Allocation applies FEFO for expiry-tracked stock, prefers a whole license plate when the order covers it, and takes from pick faces before storage. Manual allocation is there for exceptions. Stock can sit in available, quarantine, damaged or hold status, holds can be scoped to a lot, and alerts flag expiring stock. See lot and expiry tracking for the full workflow.
Inventory valuation is your accounting system's job. NextStock records the movements and provides accounting exports; connectors to specific accounting systems are planned, not available yet.
A practical NextStock guide. Adapt it to your operation and validate with your team.