FIFO Method: How First-In, First-Out Inventory Costing Works
The FIFO method values inventory by assigning the oldest available inventory costs to issues first. The calculation is simple on paper, but an ERP system must preserve that logic across receipts, cost layers, inventory issues, cost consumption and accounting entries. This guide explains FIFO with examples and shows how that costing trail works inside an ERP system.
On this pageJump to a section
What is the FIFO method?
FIFO stands for First-In, First-Out. In inventory accounting, the FIFO method assumes that the oldest available inventory costs are assigned to inventory issues or sales before newer costs are used.
Suppose a company purchases the same item several times at different prices. FIFO preserves those costs in chronological order. When inventory leaves stock, the oldest available cost is assigned first.
The method affects the value assigned to cost of goods sold or other inventory issues and therefore also affects the value of inventory that remains on hand.
FIFO does not require every physical item to leave the warehouse in the same order as its accounting cost. It is primarily a cost-flow method. Physical stock rotation may follow FIFO as an operational policy, but inventory costing and physical picking are separate controls.
What does FIFO mean in inventory?
FIFO means that inventory costs are consumed in the order in which they became available for costing.
If the same item is received three times at three different prices, the system does not have to collapse those receipts into one cost immediately. Under a FIFO model, each receipt can remain represented by its own available cost layer until the quantity in that layer is consumed.
| Receipt | Quantity | Unit cost | Receipt value |
|---|---|---|---|
| Receipt A | 100 units | $10 | $1,000 |
| Receipt B | 100 units | $12 | $1,200 |
The company now holds 200 units with a total inventory cost of $2,200. FIFO becomes important when some of that inventory leaves stock.
How does the FIFO method work?
The FIFO calculation follows a simple sequence:
- Record each valued inventory receipt.
- Preserve the quantity and cost still available from each receipt.
- Identify the oldest layer with remaining quantity.
- Consume that layer when inventory is issued.
- Move to the next oldest layer if more quantity is required.
- Record the resulting inventory cost.
For a small example, this can be calculated manually. In a perpetual inventory system, however, the same logic may need to run continuously across thousands of receipts, issues, adjustments and other inventory events.
FIFO method example
Continue with the two receipts above. The company has:
- 100 units from Receipt A at $10 each
- 100 units from Receipt B at $12 each
The company then issues or sells 150 units.
Under FIFO, the first 100 units use the cost from Receipt A:
First FIFO layer
100 units × $10 = $1,000
The issue still requires another 50 units, so FIFO continues into the second layer:
Second FIFO layer
50 units × $12 = $600
The total inventory cost assigned to the 150-unit issue is therefore:
$1,000 + $600 = $1,600
After the issue, 50 units remain from Receipt B at $12 each. Ending inventory is therefore $600.
How do you calculate FIFO COGS?
When the inventory issue represents a sale, the cost assigned by FIFO normally contributes to cost of goods sold. The basic calculation is:
FIFO COGS
Cost of oldest quantities sold + cost of the next-oldest quantities needed to satisfy the sale
The important point is that FIFO does not use the latest purchase price merely because it is the newest available price. It follows the order of the available cost layers.
How does FIFO affect ending inventory?
Because the oldest costs are consumed first, the costs remaining in ending inventory generally come from newer receipts.
When purchase prices are changing, FIFO can therefore produce a different COGS and closing inventory value from an average-cost or other permitted costing method.
This is one reason inventory quantity and inventory value should not be treated as the same control. Two systems can agree that 50 units exist while still disagreeing about what those 50 units are worth.
That relationship between quantity and financial value is also important during inventory reconciliation.
FIFO cost layers explained
A FIFO cost layer represents inventory quantity that entered the costing model from a particular source at a particular cost and still has quantity available for future consumption.
This matters when the same item is received more than once. Purchase prices can change between receipts, so combining every receipt immediately into one unexplained inventory cost would remove part of the history that FIFO needs. Instead, separate receipts can remain represented by separate cost layers.
Each layer can preserve information such as:
- item
- source document and receipt line
- warehouse and location
- quantity originally received
- quantity still remaining
- unit cost
- remaining inventory value
- valuation method
- consumption history
The result is a cost history for the item rather than only a total stock quantity and a single unexplained inventory value. Two receipts of the same item can therefore remain distinguishable when they entered inventory at different costs.
Multiple FIFO cost layers for the same inventory item
Gruvero keeps FIFO layers separately identifiable by source document, quantity and cost. The selected layer is shown together with other visible layers for the same item.
Separate receipts can remain as individual FIFO cost layers. Each layer preserves its source, received and remaining quantity, and effective unit cost until its inventory is consumed.
In the example above, the same inventory item has multiple visible FIFO layers. Some originated from goods receipts, while another originated from a warehouse adjustment. The layers do not need to carry the same unit cost: each preserves the cost associated with the inventory event that created it.
When an inventory issue occurs, FIFO does not simply use the newest purchase price or blend all of these layers into one cost. It starts with the oldest eligible layer that still has quantity available. Only after that layer is exhausted does consumption continue into the next eligible layer.
To illustrate FIFO consumption with a simple example, suppose an older cost layer contains 10 units at 5.00 per unit and a newer layer contains 10 units at 6.50 per unit. If 5 units are issued, FIFO consumes those units from the older layer first. The older layer falls to 5 units with 25.00 of remaining value, while the newer layer remains unchanged at 10 units and 65.00.
Why source receipts matter in FIFO costing
The layer structure becomes more useful when every FIFO cost layer remains connected to the inventory event that created it. Quantity and unit cost then have a source rather than existing as unexplained balances.
In a controlled ERP model, a valued goods receipt can establish the source of a FIFO cost layer. The system then has evidence for why a particular quantity entered inventory at a particular unit cost.
This does not mean that every physical piece of stock must be individually tied to the receipt. The important accounting point is that the inventory cost can be traced back to the source event that introduced that cost into the system.
That source-document relationship also connects FIFO costing to the wider purchase-to-pay process, where a goods receipt can affect warehouse quantity, inventory value and accounting before later supplier-invoice processing is complete.
FIFO in a perpetual inventory system
FIFO can be maintained as part of a perpetual inventory model rather than reconstructed only at period end.
In a perpetual model, inventory transactions update records as business events occur. A receipt can add quantity and value. An issue can reduce quantity and consume cost. The resulting inventory position evolves transaction by transaction.
This is fundamentally different from relying on a periodic calculation to reconstruct inventory value after weeks of warehouse activity.
Our guide to perpetual vs periodic inventory explains the broader difference between those operating models.
How FIFO works inside an ERP system
A complete ERP implementation needs more than a formula that selects the oldest price.
The system must preserve an end-to-end valuation chain:
- A source document records the inventory event.
- The warehouse stock ledger records the physical quantity movement.
- The cost engine determines the value of that movement.
- FIFO receipts create available cost layers.
- FIFO issues consume the oldest eligible layers.
- The inventory cost ledger preserves quantity and value effects.
- Accounting uses those cost consequences to create financial entries where applicable.
The difficulty is not the arithmetic. It is keeping every layer of that transaction consistent and traceable.
From FIFO cost layer to the general ledger
A FIFO cost layer should not exist as an isolated inventory record. For valued inventory, the receipt that creates the layer also has consequences for physical stock, inventory value and accounting.
For one purchase followed through receipt, freight, invoice matching, the FIFO COGS entry and a count correction, see the inventory journal entries guide.
We can follow the same receipt shown in the FIFO layer example above through Gruvero. GRN-202607-000002 received 250 units of RM-STEEL-01 — Steel Sheet 2mm at a unit cost of 10.00. That receipt created the FIFO layer visible in the previous screenshot.
The Inventory Source Trace below starts from that same GRN and connects the source document to the records created downstream.
Trace the same FIFO receipt from inventory to the general ledger
The same goods receipt shown in the FIFO layer example can be followed through Gruvero from the physical warehouse movement to FIFO valuation, the inventory cost ledger and the resulting accounting entry.
GRN-202607-000002 receives 250 units of RM-STEEL-01 at a unit cost of 10.00. The trace shows the same 250-unit warehouse movement, a FIFO cost-ledger value of 2,500.00, and the corresponding 2,500.00 debit to Inventory and credit to GRNI.
The warehouse stock ledger records the physical increase of 250 units. The inventory cost ledger records the same quantity with a value of 2,500.00 and identifies FIFO as the cost method used. Gruvero also shows the FIFO layer evidence created for the receipt.
The accounting side completes the trace. The same inventory event produces a 2,500.00 debit to Inventory and a 2,500.00 credit to GRNI. The trace therefore connects one source document to its physical quantity, FIFO valuation evidence, inventory value and financial posting.
In this example, the bridge gap is 0.00. That gives users a direct reconciliation point between the inventory value created by the receipt and the inventory value represented in the general ledger.
This type of traceability matters because a correct ending balance is not enough. Users also need to explain which business transaction created that balance, what cost method was applied and how the resulting value reached accounting.
When warehouse movement, inventory value and accounting are maintained as separate sources of truth, month-end investigation becomes much harder. That is one reason warehouse and accounting records can disagree.
FIFO and inventory adjustments
FIFO also matters when inventory is corrected through an adjustment.
A positive valued adjustment may introduce new quantity and cost into the inventory model. A documented inventory write-off may also remove quantity and carrying value, so the system needs a defensible way to determine what inventory value is leaving.
Under a FIFO costing model, negative inventory movements can consume the oldest available cost layers rather than assigning an arbitrary current price to the correction.
The adjustment itself still needs a valid business reason and controlled approval process. FIFO determines cost; it does not explain why the discrepancy occurred.
Our guide to inventory adjustments explains how stock corrections should be investigated and documented.
FIFO vs average cost
| Area | FIFO | Average-cost approach |
|---|---|---|
| Cost logic | Oldest available costs are assigned first | Inventory cost is based on an average of relevant inventory costs |
| Cost history | Individual cost layers remain important | Cost history is represented through an average rather than FIFO layer order |
| Issue cost | Can span several FIFO layers | Uses the applicable average-cost calculation |
| Audit explanation | Can explain which cost layers supplied the issue value | Explains the issue through the applicable average-cost basis |
Neither method should be selected only because one is easier to explain. Accounting requirements, inventory behavior, system capabilities and the organization's operating model all matter.
Our overview of inventory valuation methods compares FIFO, moving average, periodic weighted average and specific identification using one shared transaction history, showing how the same €250 of inventory value is allocated differently between issued and remaining stock.
Our guide to moving average cost walks through one common average-cost approach transaction by transaction, showing exactly when a receipt changes the average and when an issue leaves it unchanged.
When should a business use FIFO?
FIFO is not a universal requirement for every inventory system. Whether it is required, appropriate or unnecessary depends on the accounting framework, the nature of the inventory and the way the business needs to control cost.
When FIFO may be required by the accounting policy
Under IFRS (International Financial Reporting Standards), inventories that are ordinarily interchangeable are generally assigned cost using either the FIFO or weighted-average cost formula. Specific identification is used for inventory items that are not ordinarily interchangeable or that are produced and segregated for specific projects. A company therefore needs to select and consistently apply a permitted cost formula that matches its accounting policy and reporting requirements.
FIFO should not be described as mandatory in every jurisdiction. Other accounting frameworks can permit additional inventory cost methods, so the organization's applicable accounting rules should determine which methods are available.
When FIFO is a strong operational choice
FIFO can be especially useful when a business wants to preserve the cost history of separate inventory receipts instead of immediately blending those costs together.
It can be a good fit when:
- the same item is purchased repeatedly at changing prices
- users need to trace inventory value back to individual receipts
- inventory issues need a clear and repeatable cost sequence
- the ERP maintains perpetual inventory and transaction-level costing
- inventory and accounting teams need source-traceable valuation evidence
In these environments, FIFO cost layers create a clear traceable relationship between the receipt, available quantity, unit cost, subsequent consumption and remaining inventory value.
When FIFO may not be necessary
FIFO is not automatically the best method simply because inventory is stored in a warehouse. A different permitted costing method may be more appropriate when the business does not need receipt-level cost sequencing or when its accounting policy uses another cost formula.
For example, highly homogeneous inventory may be managed using an applicable average-cost method, while unique or non-interchangeable items may require specific identification rather than FIFO.
The choice should therefore be based on accounting requirements, inventory characteristics, operational controls and the capabilities of the ERP system, not only on which method is easiest to calculate.
Advantages of the FIFO method
Clear cost chronology
FIFO provides a clear sequence for determining which inventory costs are assigned first.
Receipt-level cost traceability
In an ERP implementation with explicit FIFO layers, users can trace available inventory value back to the receipts that introduced those costs.
Transparent issue costing
When an issue spans several cost layers, the system can preserve the quantities and costs taken from each layer instead of presenting only one unexplained total.
Strong connection between inventory and accounting
FIFO cost consumption can provide a controlled basis for the value used by downstream accounting entries.
Useful inventory hierarchy
Maintaining source receipts, cost layers, remaining quantities and consumption history creates a richer inventory model than tracking only total on-hand quantity.
Limitations and controls to consider
FIFO requires transaction discipline
Incorrect receipt costs create incorrect cost layers. Missing or backdated transactions can make later valuation harder to explain.
Physical FIFO and accounting FIFO are different
A FIFO costing method does not by itself guarantee that warehouse staff physically pick the oldest lot or pallet first. Physical rotation requires appropriate warehouse controls, especially for dated, batch-controlled or perishable inventory.
Cost layers need source traceability
A list of FIFO layers is less useful if users cannot identify what transaction created each layer and what later transaction consumed it.
Inventory and accounting need the same valuation evidence
The accounting system should not independently guess the cost of an inventory movement after the warehouse has already posted it.
How Gruvero implements FIFO inventory costing
Gruvero's current FIFO implementation maintains explicit inventory cost layers for valued FIFO receipts and records consumption when inventory leaves those layers.
The implemented flow can preserve:
- the source inventory receipt
- quantity originally received
- quantity remaining
- base and effective unit cost
- remaining inventory value
- FIFO valuation method
- individual layer-consumption events
- inventory cost-ledger consequences
- source-traceable accounting evidence for supported posting flows
The screenshots above show this architecture using one traceable example. GRN-202607-000002 receives 250 units of RM-STEEL-01 at a unit cost of 10.00 and creates a distinct FIFO cost layer. The same source document can then be traced into the warehouse stock ledger, inventory cost ledger and accounting, where the 2,500.00 inventory value is preserved as financial evidence.
As inventory is subsequently issued, FIFO consumption can reduce the oldest eligible layer while newer layers remain separately identifiable with their own quantities, source documents and unit costs.
That is the practical difference between describing FIFO as a formula and implementing FIFO as part of an ERP inventory architecture.
FAQ
What does FIFO stand for?
FIFO stands for First-In, First-Out. In inventory costing, it means the oldest available inventory costs are assigned to inventory issues before newer costs are used.
What is the FIFO inventory method?
The FIFO inventory method tracks inventory cost so that the earliest available costs are consumed first. Newer costs remain in ending inventory until older layers have been exhausted.
How do you calculate FIFO?
Start with the oldest available inventory quantities and their unit costs. Assign those costs to the issue until that layer is exhausted, then continue with the next oldest layer until the full issue quantity has been valued.
How does FIFO affect COGS?
FIFO assigns the oldest available inventory costs to the quantities sold or otherwise issued. When prices change over time, this can produce a different COGS value from an average-cost or other costing method.
What is a FIFO cost layer?
A FIFO cost layer represents inventory quantity received at a particular cost that remains available for future consumption. It can preserve the originating receipt, original quantity, remaining quantity, unit cost and consumption history.
Does FIFO mean the oldest physical item must always be shipped first?
No. FIFO inventory costing is a cost-flow method. A warehouse may also use physical FIFO rotation, but physical picking rules and accounting-cost assignment are separate controls.
Can one inventory issue consume more than one FIFO layer?
Yes. If the oldest layer does not contain enough remaining quantity, the issue can consume the rest of that layer and continue into the next oldest eligible layer.
How does FIFO work in an ERP system?
An ERP system can create cost layers from valued receipts, consume the oldest available layers when inventory is issued, record the resulting quantity and value changes in an inventory cost ledger and use those cost consequences for supported accounting postings.
How does Gruvero support FIFO costing?
Gruvero's implemented FIFO flow creates cost layers for valued FIFO receipts, records remaining quantities and values, preserves source documents and records layer consumption as inventory leaves stock. Cost ledger and accounting traceability connect supported inventory events to their financial evidence.
Conclusion
The FIFO method assigns the oldest available inventory costs first. On paper, that rule is straightforward. In an operating ERP system, the challenge is maintaining the rule consistently across every receipt, issue and adjustment.
Cost layers provide the structure needed to preserve original quantity, remaining quantity, unit cost and consumption history. A cost ledger then records how inventory value changed, while accounting can use that evidence to explain the financial effect of supported inventory events.
The result is not simply a FIFO calculation. It is a traceable inventory valuation chain from source document to remaining stock value and financial evidence.
FIFO works best when the business can explain not only what inventory remains, but which costs created that value and which transactions consumed it.
If your current inventory process relies on spreadsheets or unexplained average values, the Gruvero Pilot Program can help you evaluate a controlled inventory-costing workflow before a broader ERP rollout.
Trace inventory cost from goods receipt through FIFO layers and accounting.
Request pilot access to evaluate how Gruvero connects valued receipts, FIFO cost layers, inventory movements, cost-ledger evidence and source-traceable accounting.
Check pilot fit