FIFO, FEFO, and LIFO: Inventory Valuation Methods and Picking Policies
FIFO and LIFO are cost-accounting methods that determine how purchase costs flow into COGS. FEFO is a picking rotation policy that determines which physical lot leaves the shelf first based on expiration date. A business can run FIFO accounting and FEFO picking simultaneously — and most perishables operators should.FIFO (first-in, first-out), FEFO (first-expired, first-out), and LIFO (last-in, first-out) are three inventory methods that appear in two entirely different conversations — and conflating them creates real operational errors. FIFO and LIFO are cost-accounting methods: they determine how you calculate cost of goods sold on your income statement when unit costs change between purchase orders. FEFO is a picking rotation policy: it determines which physical units leave the shelf, cooler, or stockroom first, based on expiration date rather than receipt date. A business can run FIFO accounting and FEFO picking simultaneously, and most perishables operators should. In a closed-loop procurement system — where every step of the buying workflow, from order creation through supplier reply, receiving, lot capture, and accounting handoff, runs in one connected record — FEFO picking is enforced automatically at the lot level rather than as a daily manual discipline.
Quick answers
What is FIFO? FIFO (first-in, first-out) is an inventory cost-accounting method in which the oldest purchase costs flow into cost of goods sold first when a unit is sold. It is also commonly used as a physical picking default, meaning the oldest received inventory is pulled first. FIFO is permitted under both US GAAP and IFRS.
What is FEFO? FEFO (first-expired, first-out) is a picking rotation policy in which inventory is consumed in order of expiration date — the lot expiring soonest is picked first, regardless of when it was received. FEFO is the standard for perishables, pharmaceuticals, regulated retail, and any catalog where individual lots carry distinct expiry dates. It is a picking rule, not a cost-accounting method.
What is LIFO? LIFO (last-in, first-out) is an inventory cost-accounting method in which the most recently purchased units are matched against cost of goods sold first. LIFO is permitted under US GAAP but prohibited under IFRS. It is a tax-deferral tool in inflationary environments, not a physical picking practice.
What is the difference between FIFO and FEFO? FIFO is an accounting assumption that sets which purchase cost enters COGS when a unit is sold, regardless of which physical unit leaves the shelf. FEFO is a picking rule that sets which physical unit leaves the shelf first, based on expiration date, regardless of cost order. The same business can apply FIFO accounting to its income statement and FEFO rotation to its walk-in cooler at the same time.
Which method do most SMBs use? Most SMBs default to FIFO accounting — it produces a balance sheet that better approximates current replacement cost, and it is the only method permitted under IFRS for non-US operations. FEFO picking is standard for any operator handling perishables, regulated catalogs, or goods with lot-level expiry dates.
FIFO: the cost-accounting method and the picking default
FIFO assumes the first units purchased are the first recognized in cost of goods sold. When unit costs rise between orders, FIFO produces lower COGS and higher reported gross profit because the older, cheaper purchase costs flow through the income statement first. Ending inventory on the balance sheet reflects the most recently paid prices.
FIFO COGS calculation — worked example:
A retailer carries a single SKU and makes three sequential purchases:
| Batch | Units | Unit cost | Total cost |
|---|---|---|---|
| 1 | 100 | $5.00 | $500 |
| 2 | 80 | $5.50 | $440 |
| 3 | 60 | $6.00 | $360 |
Sell 140 units. FIFO draws from the oldest batch first:
COGS (FIFO) = 100 × $5.00 + 40 × $5.50
= $500 + $220
= $720
Ending inventory: 40 units from Batch 2 at $5.50 + 60 units from Batch 3 at $6.00 = $580.
FIFO keeps the balance sheet current. In a rising-cost environment, ending inventory approximates replacement cost better than LIFO does, which is why it is the default under IFRS and the practical default for most SMBs.
FIFO is also applied as a physical picking convention: oldest received inventory exits first. For non-perishable goods with no expiry, FIFO picking prevents dead stock from accumulating at the back of the shelf. For perishables, FIFO picking is overridden by FEFO — the oldest received unit may not be the soonest to expire if lot shelf lives differ across batches.
LIFO: the US-GAAP-only accounting method
LIFO assumes the most recently purchased units flow into cost of goods sold first. In a rising-cost environment, LIFO produces higher COGS and lower reported gross profit because the most expensive recent purchases hit the income statement first. The practical consequence: lower taxable income in inflationary periods, which is why some US companies elect LIFO as a tax deferral strategy.
LIFO COGS calculation — same data:
Sell 140 units using LIFO. The newest batch exits first:
COGS (LIFO) = 60 × $6.00 + 80 × $5.50
= $360 + $440
= $800
Ending inventory: 100 units from Batch 1 at $5.00 = $500.
LIFO COGS is $80 higher than FIFO COGS ($800 vs. $720). The higher COGS produces lower taxable income in a rising-cost environment — the intended benefit. The cost: the balance sheet carries ending inventory at older, lower costs. As years accumulate, this "LIFO reserve" grows as a hidden inflation gap between reported inventory value and actual replacement cost.
LIFO restriction: LIFO is prohibited under IFRS (International Financial Reporting Standards). Any company preparing financial statements under IFRS — which includes most non-US operations and US subsidiaries of IFRS-reporting parents — must use FIFO or weighted average cost. The IASB rejected LIFO because it allows inventory to appear on the balance sheet at decades-old costs, producing a misleading picture of asset value.
For most SMBs, LIFO is irrelevant outside a specific US tax-deferral decision made with an accountant. Default to FIFO unless there is an explicit LIFO rationale for your jurisdiction and situation.
Weighted average cost: the third option
Weighted average cost (WAC) spreads the cost across all units in inventory and recalculates the average unit cost after each purchase. WAC smooths cost fluctuations and is simpler to run in perpetual inventory systems than FIFO because it requires no batch-level cost tracking — just a running average.
WAC per unit = total inventory cost ÷ total units available
WAC sits between FIFO and LIFO in both gross profit and balance sheet treatment during inflationary periods. It is common in industries where individual unit tracking is impractical — bulk commodities, liquids, agricultural inputs sold by weight. For SKU-tracked retail and restaurant inventory with discrete lots, FIFO is generally preferred because it preserves cost-layer accuracy per batch.
FEFO: the picking policy for perishables and regulated goods
FEFO is not an accounting method. It generates no COGS entry. It is a picking rotation rule: when fulfilling an order, pulling inventory for production, or issuing goods to the floor, take the lot with the nearest expiration date first.
The operational rationale: in a FIFO picking system, a worker pulls the oldest received batch first. If two batches arrived a week apart but the later batch has a shorter shelf life, FIFO pulling produces the wrong result — the shorter-lived batch ages past its expiry while the older batch moves. FEFO corrects this by anchoring the picking decision to expiration date rather than receipt date.
Where FEFO applies by industry:
| Industry | Items requiring FEFO | Consequence if skipped |
|---|---|---|
| Restaurant / café | Dairy, proteins, produce, prepped components | Spoilage, food safety risk, margin write-offs |
| Florist | Fresh stems, seasonal arrangements | Waste, customer disappointment |
| Cannabis / CBD / regulated | All lots (COA-tied, expiry-coded by state requirement) | Compliance failure, audit exposure |
| Pharma-adjacent retail | Products with manufacturer expiry date | Regulatory violation, unsellable stock |
| General retail | Batteries, supplements, beauty, packaged food | Expired-product complaints, returns |
For a restaurant, FEFO picking is the physical expression of decay rate math — the items with the fastest spoilage rate must rotate out first, and that requires knowing when each lot expires, not just when it arrived. A restaurant can model decay at 10% per day for fresh proteins without ever enforcing FEFO if its inventory system does not capture lot-level expiry. Enforcing FEFO without the supporting data is a manual discipline that breaks down under pressure.
The critical distinction: accounting method vs. picking policy
FIFO and LIFO answer: FEFO answers: which physical unit should I pick or use next? These are orthogonal questions. They are answered by different systems for different purposes.
| Question | Method | Where it lives |
|---|---|---|
| Which unit cost enters COGS first? | FIFO / LIFO / WAC | Accounting system |
| Which physical unit leaves the shelf first? | FIFO picking / FEFO picking | Inventory or WMS layer |
A restaurant can record FIFO accounting (oldest batch cost into COGS) while physically rotating by FEFO (nearest-expiry lot out first). These are not contradictory. The accounting entry uses the lot's recorded purchase cost regardless of which lot was picked; the picking decision uses expiry date regardless of cost order.
The confusion arises because "FIFO" appears in both conversations. When an accountant says "we are on FIFO," they mean cost-of-goods recognition. When a receiving manager says "we always FIFO the walk-in," they mean oldest-in, oldest-out rotation. When a regulated retailer says "we run FEFO," they mean expiry-date-ordered picking. Operators who apply accounting assumptions to physical rotation decisions — or vice versa — often end up with neither properly implemented.
How ABC analysis intersects with FEFO enforcement
ABC inventory analysis classifies SKUs by annual usage value. The intersection with FEFO is operational:
- Perishable A-items carry the highest compounded risk: high revenue exposure from stockouts, high cost exposure from spoilage. They need both FEFO picking and the tightest physical count cadence — weekly or perpetual — so expiry data stays accurate.
- Perishable B- and C-items need FEFO rotation but can tolerate less frequent count cycles, provided receiving accurately captures the expiry date.
- Single-source items and regulated goods often warrant A-class treatment for counting and FEFO enforcement regardless of annual usage value rank. The compliance cost of an expired regulated lot on the shelf is independent of its AUV.
A practical rule: if a SKU class combination (A-class perishable, regulated item, short-shelf-life ingredient) can create waste, a compliance event, or a recall if FEFO is skipped, it belongs in the tightest tier of the counting and rotation policy regardless of volume.
How closed-loop procurement handles FIFO, FEFO, and LIFO
The procurement loop intersects with all three at specific points:
At receiving: A closed-loop system captures lot number, expiration date, and unit cost per lot on every receipt. This creates the data layer that makes both FEFO picking (expiry-date ordering) and FIFO accounting (per-batch cost tracking) operable from software rather than from institutional memory.
Cost accounting: When a unit is sold, COGS is recognized from the oldest cost layer on hand — FIFO accounting — using the per-lot cost captured at receiving. The operator does not manually look up purchase history; the system draws from the cost layers in order.
Picking rotation: For perishable and regulated catalogs, the system proposes the lot with the nearest expiration date on each pick, transfer, or issue rather than the first-received lot. FEFO runs automatically from the receiving record, without a separate manual spreadsheet or daily briefing to staff.
Supplier reply and price changes: When a supplier confirms a different unit price on a portion of an order — a line-item change captured by AI reading the supplier's reply — the updated cost applies to the specific lot received at that price. Cost layers remain accurate even when a single order arrives in two tranches at two prices.
Accounting handoff: The bill that flows to QuickBooks Online or Xero reflects the actual per-lot costs from receiving, not the original PO estimate. FIFO cost-of-goods accuracy is a function of receiving record completeness, not of periodic physical count reconciliation.
For regulated retailers, compliance adds a further layer: COA documents, transfer manifests, and vendor license records must attach to each lot at receiving so that any audit can trace every unit from intake through FEFO-ordered rotation to final sale or transfer.
Summary
| Method | Type | What it determines | IFRS-permitted? |
|---|---|---|---|
| FIFO | Cost-accounting | Oldest purchase cost enters COGS first | Yes |
| LIFO | Cost-accounting | Newest purchase cost enters COGS first | No |
| WAC | Cost-accounting | Running average cost per unit | Yes |
| FEFO | Picking policy | Nearest-expiry lot is used or shipped first | N/A |
Run FIFO accounting unless your US accountant has a specific LIFO rationale. Apply FEFO picking for any catalog with expiry dates, perishability risk, or regulatory lot-level requirements. Capture lot number and expiration date at receiving to make FEFO automatic rather than a daily discipline that erodes under operational pressure or staff turnover.
LineNow captures lot number and expiry on every receipt. FEFO picking flows from the receiving record; FIFO-costed bills flow to QuickBooks Online or Xero from the same source. Start a 90-day free trial — no credit card required.
Related
- Decay Rate: Modeling Spoilage and Shrinkage
- ABC Inventory Analysis: Classify SKUs, Set Policy by Tier
- Three-Way Matching: What It Is, How It Works, and Why It Breaks at SMB Scale
- PAR Level in Inventory: Meaning, Formula, and Examples
- Procurement for Cannabis, CBD, and Medical Retailers
- Restaurant Inventory Management, End to End