Most companies treat inventory costing as a technical detail, something that belongs to accounting and has little impact on day-to-day decisions. In reality, the costing method you choose directly shapes how your margins behave, how your inventory is valued, and how confidently you can make decisions about pricing, purchasing, and production. It is not just a reporting choice. It is an operational decision.
Imagine a simple scenario: you buy the same product multiple times, but at different prices. When you eventually sell or consume that product, which cost basis should be used? The answer to that question defines your margin. And depending on the method, the same sale can look highly profitable, barely profitable, or even unprofitable. That is why two companies selling the exact same product at the same price can have completely different financial results.
The three core costing methods
Most small and mid-sized operations rely on three methods: FIFO (First-In, First-Out), weighted average cost, and last purchase price. All three operate on the same underlying data. They do not change how cost enters the system. That part is defined earlier, typically through mechanisms like landed cost. What they change is how that cost is selected when inventory leaves the system, either through a sale or a production consumption.
If you want to understand how cost actually enters inventory, this is the missing piece: What Is Landed Cost and Why It Changes Your Real Profit
FIFO (First-In, First-Out)
FIFO follows a simple logic: the first units that enter inventory are the first ones to leave. This creates a strong alignment between physical flow and cost flow, especially in operations where inventory naturally rotates over time. Instead of blending costs or overwriting them, FIFO preserves the historical sequence of purchases and uses that sequence to determine cost at the moment of consumption.
Consider a business that buys 100 units at $10 and later another 100 units at $15. Under FIFO, the first 100 units sold will carry the $10 cost, and only after that layer is fully consumed will the system start using the $15 cost. This creates step changes in margin. If your sales price stays constant, your margin will appear higher while you are consuming cheaper inventory, and then suddenly drop when the more expensive layer is reached.
This behavior is not a flaw. It is a reflection of historical reality. FIFO answers the question: “what did this specific unit actually cost when it was acquired?” That makes it especially valuable in operations that require traceability, such as food, manufacturing, or any environment with lot tracking or expiration dates. In perishable operations, the physical rule may shift to FEFO (first expired, first out), but the principle is the same: cost should follow an explicit and traceable sequence. At the same time, it means your margins will naturally fluctuate as cost layers change.
Weighted average cost
Weighted average takes a different approach. Instead of preserving individual cost layers, it continuously recalculates a single average cost for each product or variant based on total quantity and total value in stock. Every new purchase updates this average, and every unit consumed uses the same cost, regardless of when it was acquired. In practice, this is usually a moving weighted average: each new receipt recalculates the cost immediately.
Using the same example, if you buy 100 units at $10 and another 100 at $15, your total cost becomes $2,500 for 200 units, resulting in an average cost of $12.50. Every sale will use this value. There are no steps, no layers, and no sudden shifts in margin. The system absorbs price variation gradually, smoothing its impact over time.
This makes weighted average easier to operate and explain, particularly in high-volume operations with relatively stable pricing. That simplicity, however, comes at the cost of granularity. You lose the ability to trace cost back to specific purchases, and you no longer see the direct impact of each individual buying decision. Instead, everything is blended into a single number.
Last purchase price
Last purchase price is the simplest of the three methods. It ignores historical layers and averages entirely, using only the most recent purchase cost as the reference for all future consumption. Every time inventory is used, the system applies the latest recorded price.
Returning to the same scenario, once you buy units at $15, that becomes the cost used for all subsequent sales, even for items that were originally purchased at $10. This approach is straightforward and easy to implement, but it introduces a fundamental distortion: it disconnects cost from the actual acquisition of each unit. A small emergency purchase at an unusually high or low price can also reset the reference and distort every subsequent margin until the next receipt.
In environments where prices are stable and variation is minimal, this distortion may not be significant. But as soon as prices start fluctuating, the gap between recorded cost and real cost becomes more visible. Margins may appear artificially inflated or compressed, depending on the direction of price changes. What you gain in simplicity, you lose in accuracy.
Choosing the right method
There is no universal answer to which method is “best”. The right choice depends on what your operation prioritizes and what kind of visibility you need.
FIFO is typically the best fit when traceability and alignment with physical flow are critical. It reflects reality at the level of individual batches and is often required in regulated or quality-sensitive industries.
Weighted average is usually preferred when operational simplicity and margin stability are more important than granular tracking. It reduces volatility and makes reporting easier, which can be valuable in retail and distribution contexts.
Last purchase price can work in very simple operations or early stages of a business, but it tends to break down as complexity grows and price variation increases.
The important point is that this choice is not neutral. Each method produces a different representation of reality, and that representation will directly influence how you make decisions.
A practical decision guide
- Choose FIFO when you need traceability by batch, lot, or expiration date, and when you want cost to stay tied to the historical order of receipts.
- Choose weighted average when operational simplicity matters more than batch-level cost visibility, and when you want margins to absorb price variation more gradually.
- Use last purchase price only when the operation is still simple, price variation is limited, and the team understands that one outlier purchase can distort the next series of margins.
Common mistakes
One of the most frequent mistakes is expecting the costing method to fix problems that originate earlier in the process. If the cost entering inventory is incomplete or incorrect, no method will solve that. FIFO, weighted average, and last purchase price will all propagate the same problem, just in different forms.
Another frequent mistake is discussing costing without first securing inventory integrity. If quantities in stock are wrong, every costing method will produce distorted answers because the quantity base itself is already broken.
Another common issue is changing methods without understanding the consequences. Switching from one method to another affects future calculations, but it does not rewrite history. Past transactions remain tied to the logic that was active at the time, which can create discontinuities if the transition is not properly understood.
There is also a tendency to equate simplicity with accuracy. The simplest method to operate is not always the one that best represents your operation.
How this connects with standard cost
Costing methods define how cost flows through your operation. Standard cost defines what cost should be under expected conditions. Without that reference, you are always reacting to what happened. With it, you can measure deviation, understand efficiency, and make proactive decisions about pricing and production.
If you want to go deeper into that layer: Standard Cost: The Secret Behind Predictable Margins
The bigger picture
Inventory cost is not a single concept. It is a combination of layers that operate at different moments in the lifecycle of a product. Landed cost defines how cost enters the system, costing methods define how that cost is consumed, and standard cost defines the expected baseline for analysis and planning.
When these layers are clearly separated, your system becomes both accurate and useful. When they are mixed, you lose visibility and start making decisions based on distorted signals.
How Loribase approaches costing
In Loribase, costing methods are configured per organization and applied consistently across inventory, sales, and production. The system preserves full historical integrity, meaning that any change in method only affects future calculations, while past operations retain the cost context in which they were executed.
At the same time, Loribase maintains internal cost consistency by continuously tracking weighted average in the background. This allows comparison between methods and supports transitions without breaking visibility. More importantly, all of this operates on top of an event-driven inventory model, where every cost originates from a real movement, ensuring that calculations are always grounded in actual operations.
If you want to see how that works outside the accounting layer, the next useful step is understanding event-driven inventory management as the operating model that keeps those cost decisions traceable.
To understand that foundation: What Is Event-Driven Inventory Management
Final thought
Inventory costing is not just about calculating numbers. It defines how your business interprets reality. Choose a method without understanding it, and your decisions will be based on a distorted view. Choose it deliberately, and it becomes a tool to control margins, improve operations, and scale with confidence.
