Inventory & Finance15 August 2026·18 min read

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.

Receive
Create the cost layer
A valued inventory receipt adds quantity and establishes the cost associated with that receipt.
Consume
Use the oldest cost first
Inventory issues consume the oldest available FIFO cost layers before moving to newer layers.
Account
Preserve the valuation trail
Cost-ledger and accounting records preserve how operational inventory movements became financial values.
FIFO is simple as a formula. The harder problem is preserving it across every inventory transaction.
A controlled ERP system must connect receipts, remaining quantities, cost layers, inventory issues and accounting evidence without reconstructing the valuation later in a spreadsheet.

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.

ReceiptQuantityUnit costReceipt value
Receipt A100 units$10$1,000
Receipt B100 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:

  1. Record each valued inventory receipt.
  2. Preserve the quantity and cost still available from each receipt.
  3. Identify the oldest layer with remaining quantity.
  4. Consume that layer when inventory is issued.
  5. Move to the next oldest layer if more quantity is required.
  6. 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.

See It In Gruvero ERP

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:

  1. A source document records the inventory event.
  2. The warehouse stock ledger records the physical quantity movement.
  3. The cost engine determines the value of that movement.
  4. FIFO receipts create available cost layers.
  5. FIFO issues consume the oldest eligible layers.
  6. The inventory cost ledger preserves quantity and value effects.
  7. 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.

See It In Gruvero ERP

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

AreaFIFOAverage-cost approach
Cost logicOldest available costs are assigned firstInventory cost is based on an average of relevant inventory costs
Cost historyIndividual cost layers remain importantCost history is represented through an average rather than FIFO layer order
Issue costCan span several FIFO layersUses the applicable average-cost calculation
Audit explanationCan explain which cost layers supplied the issue valueExplains 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.

Gruvero Pilot Program
Can your inventory system explain where its stock value came from?
The Gruvero Pilot Program can be used to evaluate a controlled inventory workflow with goods receipts, FIFO cost layers, inventory movements, cost-ledger evidence and accounting traceability using realistic operating data.

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