MasalaOS Learn

FIFO Inventory for Cafes

In a cafe, ingredients and products are always aging. FIFO is the discipline that keeps your oldest stock moving out the door first, reducing waste, ensuring freshness, and keeping your cost accounting honest.

FIFO (First-In, First-Out) is an inventory management method where the oldest stock is used or sold first. In a cafe, this means the flour delivered on Monday is used before the flour delivered on Wednesday, and the bread baked this morning is sold before the bread baked this afternoon. FIFO minimizes spoilage, ensures freshness, and provides accurate cost accounting for perishable goods.

Why FIFO Matters for Perishable Goods

FIFO is a best practice for any inventory, but for perishable goods like cafe ingredients and products, it is essential. Consider what happens without FIFO. A delivery of butter arrives on Monday and is placed at the front of the cooler. Wednesday's delivery arrives and is placed in front of Monday's butter because it is more convenient. The baker grabs from the front, consistently using the newest butter while the older butter sits in the back. Eventually, Monday's butter passes its use-by date and must be discarded. This is pure waste, and it is entirely preventable. FIFO prevents this by enforcing a simple rule: always use the oldest stock first. Monday's butter goes to the front (or is otherwise marked as "use first"). Wednesday's butter goes behind it. The baker always pulls from the front. Beyond waste reduction, FIFO ensures product consistency. Fresher ingredients generally produce better results: butter that has been sitting in your cooler for three weeks is more likely to have absorbed off-flavors than butter received two days ago. By using older stock first (before it degrades), you maintain a higher average freshness across your production. FIFO also supports accurate cost accounting. When ingredient prices change between deliveries (flour was $0.75/kg last week but $0.82/kg this week), FIFO ensures that the cost charged to production matches the actual cost of the inventory being consumed. The oldest inventory (at last week's price) is used first, and its cost is what flows into your recipe costing. This is important for understanding your true margins and for accurate financial reporting. Finally, FIFO is often a regulatory expectation. Food safety inspectors expect to see that your stock rotation prevents the use of expired ingredients. A "first in, first out" rotation system is one of the most basic Good Manufacturing Practices (GMPs) that inspectors look for during audits.

Item-Level FIFO vs. Lot-Level FIFO

There is an important distinction between tracking FIFO at the item level and tracking it at the lot level. Item-level FIFO means you know that you have 200 kg of bread flour total and that the oldest flour should be used first, but you do not track individual deliveries as separate lots. You know the aggregate quantity and the general rule of "oldest first," but you cannot say precisely which delivery's flour went into Tuesday's bread. Lot-level FIFO means each delivery of bread flour is tracked as a separate lot with its own lot number, received date, quantity, and cost. When production consumes flour, the system automatically draws from the oldest lot first, records which lot was consumed, and reduces that lot's quantity accordingly. You know exactly which delivery's flour went into each production batch. Lot-level FIFO is significantly more powerful. It enables full traceability (which specific flour lot went into which bread batch), precise costing (each lot has its own purchase price), and targeted recall response (if lot A is recalled, you know exactly which products it touched). Item-level FIFO provides none of these benefits. For small cafes with simple operations, item-level FIFO (just rotating stock manually and using oldest first) may be sufficient. But for any cafe that sells wholesale, needs regulatory compliance, or wants accurate costing, lot-level FIFO is the standard to aim for. The overhead of lot-level FIFO has decreased dramatically with modern software. What once required barcode scanners and dedicated warehouse staff can now be managed with a tablet at the receiving dock and a few taps during production. The system handles the tracking, the sorting, and the cost allocation automatically.

How FIFO Works During Production

When a baker starts a production batch, the system needs to determine which lots of each ingredient to consume. Under FIFO, it selects the oldest available lot first and draws from it. If that lot does not have enough quantity to cover the full requirement, it draws the remainder from the next oldest lot, and so on. Here is a concrete example. You are producing a batch of sandwich bread that requires 25 kg of bread flour. Your inventory shows three lots of bread flour: Lot A (received January 10, 8 kg remaining, cost $0.75/kg), Lot B (received January 15, 30 kg remaining, cost $0.78/kg), and Lot C (received January 20, 50 kg remaining, cost $0.82/kg). Under FIFO, the system allocates 8 kg from Lot A (consuming it entirely), then 17 kg from Lot B. The total material cost for flour in this batch is (8 x $0.75) + (17 x $0.78) = $6.00 + $13.26 = $19.26, which gives a weighted average cost of $0.77/kg. After this production batch, Lot A is fully consumed and removed from inventory. Lot B has 13 kg remaining. Lot C is untouched. The next production batch will start with Lot B. This automatic lot allocation has two major benefits. First, it ensures that no lot sits in inventory longer than necessary, reducing expiration risk. Second, it creates a precise audit trail: production batch #1234 consumed 8 kg of flour from Lot A and 17 kg from Lot B. This audit trail is the foundation of traceability. If a baker needs to override the system, for example, using a specific lot because it was opened and needs to be used up, the system should allow manual lot selection while logging the exception. But the default should always be FIFO to maintain discipline.

Physical FIFO in Your Facility

Software-based FIFO is only as good as the physical practices that support it. If the system says to use Lot A but the baker grabs Lot C because it is easier to reach, your traceability and costing are compromised. Physical FIFO starts with storage organization. The simplest method is date-based placement: when a new delivery arrives, it goes to the back of the shelf or rack, and older stock stays in front. This works for dry storage, coolers, and freezers. Label each item or pallet with its received date and lot number prominently, so there is no ambiguity about which stock is older. For bulk ingredients stored in bins (flour, sugar), FIFO requires that you fully empty a bin before refilling it from a new delivery, or that you maintain separate bins for different lots. Dumping a new delivery on top of old stock in the same bin breaks FIFO and makes lot tracking impossible. Color-coded day dots are a practical tool for perishable items. Monday's items get a blue dot, Tuesday's get a red dot, and so on. Staff can see at a glance which items are oldest and should be used first. Shelving design can enforce FIFO physically. Gravity-fed (first-in, first-out) shelving uses tilted racks where items are loaded from the back and dispensed from the front. New stock slides behind old stock automatically. These racks are common in commercial kitchens and are particularly useful for high-turnover items. Walk-in cooler and freezer organization deserves special attention. These spaces tend to become cluttered, with items shoved wherever they fit. Designate specific zones for each ingredient category, maintain clear sightlines so staff can see what is in the back, and schedule a weekly cooler organization session to correct any FIFO violations before they lead to waste.

FIFO and Cost Accounting

Beyond its operational benefits, FIFO has important implications for cost accounting and financial reporting. Under FIFO cost accounting, the cost of goods sold (COGS) reflects the oldest inventory costs, while the ending inventory on your balance sheet reflects the most recent costs. In a period of rising prices (which is common for commodity ingredients like flour, sugar, and butter), FIFO results in lower COGS and higher ending inventory value compared to other methods like LIFO (Last-In, First-Out) or weighted average. This matters for your financial statements and tax reporting. Lower COGS means higher reported profit, which means higher tax liability. Some businesses prefer LIFO for this reason, but LIFO is prohibited under International Financial Reporting Standards (IFRS) and is rarely used in the food industry because it does not match the physical flow of goods (you do not actually use the newest flour first in a cafe). For internal management purposes, FIFO costing gives you the most accurate picture of your current margins because the most recent costs are what remain in inventory and will flow into future production. If flour prices have increased, your current inventory (valued at the latest cost) accurately reflects what you will pay to replace it. FIFO also simplifies inventory valuation during physical counts. Each lot has a known cost, so valuing your inventory is a straightforward sum of (lot quantity x lot cost) for all remaining lots. There is no need for complex weighted average calculations or period-end cost adjustments. For cafes that are growing toward more formal financial management, whether for investor reporting, loan applications, or simply better management decision-making, FIFO provides the most defensible, transparent, and operationally truthful inventory valuation method.

Common FIFO Mistakes and How to Avoid Them

Even cafes that understand FIFO in principle often struggle with execution. Here are the most common mistakes and their remedies. The first mistake is inconsistent receiving. If new deliveries are sometimes logged with lot numbers and sometimes not, you end up with a mix of tracked and untracked inventory. Untracked inventory cannot participate in FIFO because the system does not know when it arrived. The remedy is to make lot registration a mandatory step in the receiving process. No exceptions, no shortcuts. The second mistake is combining lots in storage. When a baker scoops flour from a new bag into a half-empty bin already containing flour from an earlier delivery, the two lots are physically mixed and can no longer be distinguished. The remedy is to finish one lot before opening the next, or to use separate containers for each lot. The third mistake is ignoring FIFO for "unimportant" ingredients. Cafes sometimes track FIFO carefully for expensive ingredients (vanilla, chocolate, nuts) but neglect it for cheap ones (flour, sugar). However, cheap ingredients are often used in the highest volumes, so even small cost discrepancies scale up. And from a traceability perspective, flour is one of the most important ingredients to track because it appears in virtually every product. The fourth mistake is not accounting for partial lot consumption. When a lot is partially used, the remaining quantity must be accurately updated. If a 25 kg bag of flour is opened and 10 kg is used, the system should show 15 kg remaining for that lot. Failure to record partial consumption leads to phantom inventory (the system thinks you have more than you do) and eventually causes stockouts. The fifth mistake is abandoning FIFO under time pressure. During a busy morning rush or a holiday production crunch, staff may grab whatever ingredient is most convenient rather than the oldest lot. Building FIFO into your physical layout (oldest stock always in the most accessible position) reduces the friction and makes FIFO the path of least resistance even under pressure.

How MasalaOS handles this

MasalaOS implements lot-level FIFO automatically. Every material delivery is registered as a lot with its received date, quantity, and purchase cost. When you create a production batch, the system allocates ingredients from the oldest available lots first, recording exactly which lots were consumed. Cost rollups use actual lot costs, not estimates, so your recipe costing reflects what you truly paid. Expiring lots are flagged on the dashboard before they become waste, and the full lot consumption history gives you instant forward and backward traceability.

Try MasalaOS Free