FIFO vs LIFO vs FEFO is about which stock leaves first, and the three methods answer that differently. FIFO (first in, first out) ships the oldest received stock first. LIFO (last in, first out) uses the newest received stock first. FEFO (first expired, first out) ships whatever expires soonest, regardless of arrival date. FIFO and FEFO are physical rotation rules for the warehouse, while LIFO is mostly an accounting convention.
The key distinction to keep straight is physical flow versus cost flow. How you move goods and how you value them are two separate decisions, and mixing them up is a common source of confusion.
Physical rotation versus cost accounting
In the warehouse, you pick units in some order. That order affects waste, freshness and customer complaints. In the books, you assign a cost to each unit sold. That order affects reported profit and inventory value. A company can physically rotate stock by FIFO while valuing it under a different cost method, and the two do not have to match, though they often do.
LIFO deserves a caution. International Financial Reporting Standards (IFRS) do not allow LIFO for inventory costing, and Canadian publicly accountable companies report under IFRS. LIFO remains permitted in the United States under US GAAP. If you operate across the border or report to a parent company, confirm with your accountant which methods apply. Physically shipping the newest stock first is also rarely sensible for goods that age.
How each method works
FIFO
The oldest units are picked and sold first. In storage this usually means new stock goes to the back or the top, and older stock sits at the front. For costing, the oldest purchase cost is matched to sales first, so the remaining inventory carries the most recent costs. When prices are rising, FIFO tends to show lower cost of goods sold and higher profit than LIFO would.
LIFO
The newest units are used first. Physically it suits goods that do not age, such as bulk sand or coal in a pile, where taking from the top is natural. In costing, recent costs are matched to sales, so in a period of rising prices LIFO shows higher cost of goods sold and lower taxable profit than FIFO, which is why it appeals in jurisdictions that allow it. The balance sheet, however, can carry very old cost layers.
FEFO
Picking is driven by expiry or best-before date. A newly received lot with a short remaining shelf life is shipped before an older lot with a longer one. FEFO needs the system to record lot and expiry data at receiving, and to direct pickers to the right lot. It is common for foods, pharmaceuticals, chemicals and other date-limited items. Regulated medicines and many foods need documented lot control and, for some, temperature control, so lot tracking is often required anyway.
Side-by-side comparison
| Criterion | FIFO | LIFO | FEFO |
|---|---|---|---|
| Rule | Oldest received goes first | Newest received goes first | Earliest expiry goes first |
| Main use | Warehouse rotation and costing | Costing, bulk non-perishables | Warehouse rotation of dated goods |
| Best for | Goods that age or become obsolete | Goods that never spoil or expire | Perishable, dated or regulated goods |
| Data needed | Receipt date | Receipt date and cost layers | Lot number and expiry date per unit or pallet |
| Effect on waste | Reduces ageing stock | Can leave old stock to age | Minimises expiry write-offs |
| Reporting effect with rising prices | Higher reported profit | Lower reported profit | Not a costing method |
| Acceptance | Allowed under IFRS and US GAAP | Not allowed under IFRS, allowed under US GAAP | Operational practice |
Choose FIFO when, choose FEFO when
Choose FIFO when products have a rough shelf life or can become obsolete, but no hard expiry date is printed on each lot. Consumer goods, apparel, electronics and spare parts are typical. It is simple to run, easy to explain to staff, and widely accepted for reporting.
Choose FEFO when expiry dates differ between lots and a later arrival can expire earlier than an earlier one. Suppliers do not always deliver the freshest stock last, and a lot received today might carry a shorter life than one received last week. FIFO would ship the older lot first and risk the newer one expiring on the shelf. FEFO fixes that, at the cost of more data capture and more complex picking.
Choose LIFO only where it is permitted, where goods do not degrade, and where the tax and reporting effects have been reviewed by an accountant. In most Canadian operations it will not be the right answer.
Hybrids and exceptions
Real warehouses mix rules. A distributor might use FEFO for food and pharmaceutical lines, FIFO for general merchandise, and a first-in-first-out costing method across the lot. Some customers set minimum remaining shelf life requirements on delivery, which means the oldest acceptable stock is not always the right pick. In that case the rule becomes FEFO with customer constraints, and the system must check remaining life at allocation.
Other exceptions include quarantined or on-hold lots, returns, and stock reserved for particular orders. These should be excluded from the normal rotation rule rather than patched in by hand.
Making rotation actually work
- Capture the data at receiving. Record lot, receipt date and expiry date. Missing data at the dock cannot be recovered later.
- Store so the rule is physically possible. Flow racks, clear labelling and lot separation help pickers follow the rule without guessing.
- Let the system direct the pick. A warehouse management system can allocate by FIFO or FEFO automatically, which is more reliable than asking pickers to inspect labels.
- Audit with cycle counts. Check that the oldest or earliest-expiry stock is the stock at the front.
- Track near-expiry stock. Report it early enough to discount, transfer or donate rather than discard.
Analytics can help here by flagging lots at risk of expiring before they sell, based on recent sales rates, and by suggesting transfers between sites. The forecast is only as good as the sales history, and it does not fix poor lot data.
Decision checklist
- Do your products have an expiry or best-before date, and can lots differ in remaining life?
- Does your system record lot and expiry at receiving?
- Do customers or regulators set rules on remaining shelf life or traceability?
- Which costing method does your accounting framework allow?
- Is the rule physically achievable in your racking and pick process?