Milk and Alternative-Milk Inventory Planning for Cafés
Coffee Business Resource Center
Milk ordering gets easier when you stop treating all milk as one number. Whole milk, oat milk, and another alternative can have different demand, case sizes, storage requirements, and rates of waste.
Build the order from the drinks you expect to make and the products you actually use. Then check whether the stock will remain usable and fit in the available storage.
A café can lose sales by running short of a popular milk while simultaneously carrying too much of a slow one. The solution is a separate forecast for each product.
Turn drink sales into milk demand
Export drink sales by milk type, size, and hot-or-iced format. Check whether the register records the default milk or only substitutions. If it only records alternatives, derive default-milk demand carefully from the relevant drinks rather than treating all unmodified sales as milk drinks.
Multiply each recipe's cold milk portion by expected servings. Add separately measured preparation losses, remakes, staff drinks, and other legitimate uses. Do not count foam volume as purchased liquid milk or assume a cup's labeled capacity equals its milk requirement.
If you measure recipes by weight and buy milk by volume, use a measured conversion for the actual product or keep the ordering calculation in a consistent unit. Grams and milliliters are not universally interchangeable.
Consider a hypothetical daily forecast with portions already measured in milliliters:
| Product | Expected drinks | Average measured milk per drink | Recipe demand |
|---|---|---|---|
| Whole milk | 80 | 220 mL | 17.6 L |
| Oat milk | 35 | 210 mL | 7.35 L |
| Other alternative | 10 | 200 mL | 2.0 L |
These averages are specific to the assumed drink mix. Recalculate them when customers change sizes or shift toward iced drinks. Add your observed non-sale use and losses after this recipe calculation, so the same waste is not included twice.
Order for the delivery calendar
Write down the order cutoff, delivery days, lead time, minimum order, pack size, and supplier's shortage policy. Weekends and holidays can extend the gap between usable deliveries.
The BC food-service management text's purchasing chapter connects par stock and ordering with delivery schedules and stock on hand. For a café, extend that approach to the actual demand expected before the next replenishment and the cartons already due to arrive.
For example, suppose the target oat-milk inventory position is twenty-four liters for your planned coverage period. You have seven usable liters and six confirmed liters arriving in time. The net requirement is eleven liters. If the supplier sells six-liter cases, two cases supply twelve liters, creating one liter above the target.
Check that extra liter against storage and likely use before ordering. Also check the timing: a shipment arriving after you expect to run out cannot cover the earlier shortage just because it appears in the on-order total.
Count usable stock, including opened cartons
Use consistent count units. Record full cartons and a reasonable measured estimate of opened stock. Identify product that is reserved for an event, damaged, past its applicable limit, or otherwise unavailable.
Rotate by the earliest applicable use or discard date, taking opening dates into account. Do not assume the first carton delivered always has the earliest date. Keep product identity and opening information clear enough that the next shift can make the same decision.
Oatly distinguishes shelf-stable and chilled products, and says opened cartons belong in the refrigerator. That supports checking the actual package format; an oat-based product is not automatically shelf-stable during service. See Oatly's storage explanation. For a food business, follow the product's current instructions and your applicable food-safety procedure rather than using a smell or taste check to override a required discard decision.
Make refrigeration a purchasing limit
Check the storage needed for a full delivery, not just the amount used during service. Leave the clearance and airflow required by the refrigerator manufacturer, and verify the unit can maintain the required conditions when stocked and accessed normally.
As one jurisdictional example, Washington's cold-holding rule generally requires food needing time and temperature control to be held at 41°F or below, subject to specified exceptions. Apply your own jurisdiction's rules and accepted procedures; this example is not a universal temperature policy for every product or location.
If the order will not fit safely, arrange more frequent delivery, reduce the range, or provide suitable additional storage. Overstocking a refrigerator is not a substitute for a supply plan.
For a cart, include transport and the entire event in the cold-storage calculation. Reserve cartons still need appropriate handling. Specify where approved replenishment will come from, who retrieves it, and how it reaches the service location.
Review stockouts and waste together
Keep a short record of what was missing, when it ran out, what customers ordered instead, and what was discarded. A product that sells slowly but serves an important customer need may justify a smaller package or lower par rather than immediate removal.
Check portions before raising the order. Overfilled pitchers can make a reliable sales forecast appear too low. A recipe change or new popular drink can also explain higher use; update the forecast instead of relying on last month's case count.
Review your menu and cold-storage requirements with Dylan and the commercial equipment team when planning the bar or cart. Refrigeration deserves space in the equipment discussion from the beginning.
Sources and further reading
- BC Cook Articulation Committee: purchasing — delivery schedules, stock levels, and ordering.
- Oatly: storage explanation — unopened package formats and refrigeration after opening.
- Washington WAC 246-215-03525 — jurisdiction-specific cold-holding requirements.
Forecasts, portions, and order quantities are hypothetical. Sources reviewed September 9, 2026.