Weighted average costing is the default in most accounting software. For food brands with lot-level cost variance, it can hide serious margin problems for months before you notice. Here is when it works, when it fails, and how to know which situation you are in.
A natural food brand has been running QuickBooks for two years. Their accountant is satisfied. Gross margin has held steady at around 42 percent, and the monthly COGS report has never raised a flag. Then, in January, they onboard a new co-packer because their original facility cannot keep up with volume. The new co-packer charges 22 percent more per unit due to higher labor costs and a smaller minimum run size. The brand's ops team knows this, but the accounting team is not tracking it at the lot level.
Six months later, the COGS report still looks fine. Gross margin shows 40 percent, which is a small dip but nothing alarming. Then the CFO pulls a channel-level P&L for their largest retail account and the number does not make sense. The contribution margin on that channel is nearly zero. The weighted average cost in their system has been blending the old cheap production runs with the new expensive ones, smoothing out the variance until it became invisible. By the time they find it, they have shipped six months of product at a price that does not cover their actual cost of production.
This is not a rare scenario. It is one of the most common margin problems in scaling food brands, and it is almost always enabled by weighted average costing applied to a business that has outgrown it. Understanding when weighted average works and when it actively misleads you is one of the most important operational finance decisions you will make as a food brand operator.
Before getting into when each method fails, it helps to be precise about what each one actually calculates. Most food brand operators have heard these terms but have not had to think carefully about the mechanics.
Weighted average costing calculates a single blended cost per unit by dividing the total cost of all inventory currently on hand by the total number of units on hand. Every time you receive a new purchase order or complete a new production run, the average resets. If you had 1,000 units at $4.00 each and you receive 500 more units at $5.00 each, your new weighted average cost is $4.33 per unit. Every unit you sell from that point forward carries a $4.33 cost, regardless of whether it physically came from the cheap batch or the expensive one.
FIFO (First In, First Out) assumes you sell your oldest inventory first. When you record a sale, the system assigns the cost of the oldest units in your inventory to that sale. If you received 1,000 units at $4.00 in March and 500 units at $5.00 in April, and you sell 800 units in May, FIFO assigns $4.00 to all 800 of those units because the March inventory is consumed first. FIFO tends to produce a cost of goods sold that reflects older, often lower, input costs during inflationary periods, and it leaves the more recent, often higher, costs sitting in ending inventory on your balance sheet.
Specific identification tracks the actual cost of each individual lot and assigns that exact cost when units from that lot are sold. If you know that the 800 units you sold in May came from the March production run, you assign the March cost. If they came from the April run, you assign the April cost. This is the most accurate method and the most operationally demanding. It requires lot-level tracking from receiving through production through shipping, which is infrastructure most spreadsheet-based operations cannot support without significant manual effort.
For most food brands, the practical choice is between weighted average and some form of lot-level tracking, whether that is FIFO or specific identification. The right answer depends on the variability of your costs and the complexity of your supply chain.
Weighted average costing is not wrong in principle. It is a legitimate accounting method. The problem is that it was designed for businesses with stable, homogeneous inventory. Food brands with multiple suppliers, co-packers, or seasonal ingredient swings are not that business. The method hides variance by design, and variance is exactly what you need to see.
Weighted average costing is the default in QuickBooks, Xero, and most entry-level ERP systems because it is computationally simple and requires no lot-level tracking infrastructure. You do not need to know which specific units you sold. You just need to know how many. For a retailer selling identical widgets from a single manufacturer, this is perfectly adequate. For a food brand, it creates three structural problems.
First, it hides lot-level cost variance. When your co-packer changes their pricing, when a commodity ingredient spikes, or when you switch suppliers, the new cost does not show up immediately in your COGS. It gets blended with every prior run still in inventory. If you are carrying three months of inventory and your costs just went up 20 percent, your reported COGS will not reflect that 20 percent increase until the old inventory is fully consumed. During that period, your margin reports are telling you a story that is not true.
Second, it makes it impossible to identify which production runs are profitable. If every unit carries the same blended cost, you cannot answer the question: was the batch we ran with the new co-packer in Q1 profitable at our current retail price? You cannot compare co-packer A to co-packer B on a cost basis. You cannot identify whether a specific ingredient lot drove a margin problem. The information is permanently destroyed by the averaging process.
Third, it gives you a false sense of margin stability. Because the average changes slowly, your gross margin percentage tends to move in small increments even when your actual production costs are moving sharply. This is the most dangerous failure mode. It does not trigger an alarm. It just quietly erodes your margin over months while your reports show a business that looks fine.
There is a narrow set of circumstances where weighted average costing is genuinely adequate for a food brand, and it is worth being honest about them rather than dismissing the method entirely.
Weighted average works when your ingredient costs are highly stable, meaning you are buying on annual fixed-price contracts with no spot market exposure. It works when you have a single supplier for each key ingredient and that supplier's pricing does not change more than a few percent year over year. It works when you have no co-packer variability, meaning you either manufacture yourself with consistent overhead, or you use a single co-packer on a fixed per-unit contract that has not changed. And it works best when you carry a small SKU count with short, predictable production cycles, so the inventory on hand at any given time represents a narrow window of cost history.
If you are a single-SKU brand buying one commodity ingredient from one supplier on a fixed contract and running production once a quarter at the same facility, weighted average costing will not mislead you in any meaningful way. The blended average will be very close to your actual cost because there is almost no variance to blend away.
The problem is that most food brands do not stay in this scenario. As you scale, you add SKUs, add suppliers, add co-packers, and start buying ingredients on the spot market when your primary supplier cannot fill an order. Each of those changes increases the variance that weighted average is hiding from you.
Weighted average costing is a reasonable starting point for a very simple food business. The moment you add a second co-packer, a spot market ingredient purchase, or a seasonal supplier, you have outgrown it. The transition point is earlier than most operators think.
There are four situations where lot-level costing is not optional. If any of these apply to your business, weighted average costing is actively working against you.
Multiple suppliers with different pricing. If you buy the same ingredient from two or more suppliers at different prices, and those lots flow into the same production runs, you need to know the cost basis of each lot to calculate true production cost. Weighted average will blend the cheap supplier and the expensive supplier into a single number that accurately represents neither.
Co-packer production with variable conversion costs. Co-packers charge different rates based on run size, complexity, and their own cost structure. If you use more than one co-packer, or if your single co-packer has changed their pricing, you need to track which units were produced at which cost. This is the scenario from the opening of this article, and it is the most common way weighted average costing destroys margin visibility at scaling food brands.
Seasonal ingredient cost swings. Many food brands buy ingredients that have significant seasonal price variation. Berries, nuts, grains, and specialty produce can swing 30 to 60 percent in cost between peak season and off-season. If you are buying at different prices across the year and carrying inventory across seasons, weighted average will smooth out those swings in a way that makes your margin look more stable than it is. When you are pricing for the next season, you need to know what the seasonal cost actually was, not what the annual average was.
Organic certification requiring mass balance. If you sell certified organic products, your certifier requires you to maintain mass balance records that demonstrate the volume of certified organic inputs matches the volume of certified organic product sold or in inventory. This is a lot-level tracking requirement by definition. You cannot produce a compliant mass balance audit trail from weighted average costing records. For a deeper look at how mass balance works in practice, see our guide on organic mass balance calculation for food brands.
Abstract explanations of costing methods are less useful than seeing exactly how the numbers diverge. Here are three scenarios that show what weighted average hides and what lot-level costing reveals.
Setup: A granola brand produces 10,000 units per month. For the first 8 months of the year, their co-packer charges $2.10 per unit in conversion costs. In September, they add a second co-packer who charges $2.56 per unit. They split production 50/50 between the two facilities starting in September.
Weighted average result: By October, the blended cost in their system is approximately $2.21 per unit, because the 80,000 units produced at $2.10 are still diluting the average. Their COGS report shows a 5 percent cost increase, which feels manageable.
Lot-level result: Half of their current production is costing $2.56 per unit, which is a 22 percent increase on those units. At their current retail price, the units produced at the new co-packer are generating 8 percentage points less gross margin than the units from the original facility. They need to either renegotiate the new co-packer rate, raise prices, or stop splitting production.
What weighted average hid: The decision about whether the new co-packer relationship is viable at current pricing. That decision cannot be made from a blended average.
Setup: A jam brand buys strawberries. In June, they buy 5,000 lbs at $1.20/lb during peak season. In November, they buy 3,000 lbs at $2.10/lb from a cold storage supplier to maintain production through the off-season.
Weighted average result: Their blended cost per pound is approximately $1.56. Every jar produced in November carries a $1.56 ingredient cost, which understates the true cost of the November production run by $0.54/lb. If their recipe uses 0.8 lbs of strawberries per jar, they are understating ingredient cost by $0.43 per jar on every unit produced in November.
Lot-level result: November production is flagged as a high-cost run. The brand can decide whether to reduce November production volume, raise prices on the next purchase order cycle, or absorb the seasonal cost as a known margin hit with a plan to recover it in Q2.
What weighted average hid: The true cost of off-season production and the decision about whether year-round production at current pricing is actually profitable.
Setup: A nut butter brand switches their primary almond supplier in August because their original supplier cannot fill their growing volume. The new supplier charges $4.80/lb versus the original $3.95/lb, a 21.5 percent increase. They have 6,000 lbs of old inventory on hand when the switch happens.
Weighted average result: The system blends the 6,000 lbs at $3.95 with the new purchases at $4.80. For the next two months, as the old inventory is consumed, the blended cost per pound rises gradually from $3.95 toward $4.80. The COGS report shows a slow, steady cost increase that looks like normal inflation. No alarm is triggered.
Lot-level result: The system flags the new supplier lot immediately at $4.80/lb. The ops team sees that at current pricing, the new supplier cost structure reduces gross margin by 4.2 percentage points. They immediately begin renegotiating with the new supplier and exploring alternatives, rather than discovering the problem two months later when the old inventory is gone.
What weighted average hid: The urgency of the supplier cost problem. Two months of delay in addressing a 21.5 percent ingredient cost increase is a material financial event for most food brands.
In every one of these scenarios, weighted average costing did not produce a wrong number in the accounting sense. The financial statements were technically accurate. What it destroyed was the operational signal: the ability to see which specific decision, supplier, or production run was causing the margin problem and act on it before it compounded.
Guidance tracks cost at the lot level automatically, so you can see exactly which production runs, suppliers, and co-packers are driving your margin, without rebuilding your spreadsheets every month.
Get Early AccessYour new co-packer starts production in September at a 22 percent higher conversion rate. QuickBooks records the higher per-unit cost on those purchase orders, but the inventory valuation blends it with all prior inventory on hand.
Your COGS report for September shows a modest increase in cost per unit. You attribute it to normal fluctuation. No action is taken.
In October and November, the blended average continues to drift upward slowly. Your gross margin percentage drops from 42 percent to 39 percent over three months. The change is gradual enough that it does not trigger a review.
In December, your CFO pulls a channel P&L for your largest retail account and notices the contribution margin is near zero. You spend two weeks in spreadsheets trying to reconstruct which production runs went to which channel and what they actually cost. You eventually identify the co-packer cost shift as the cause, but you have already shipped three months of underpriced product.
Time to identify the problem: 90 to 120 days. Cost: three months of compressed margin on your highest-volume channel.
Your new co-packer's first production run is entered in Guidance with the actual conversion cost per unit. Guidance assigns that cost to the specific lot produced in that run.
When the first units from that lot are sold, Guidance records the actual cost of those specific units against the revenue from those sales. The margin on that lot is immediately visible in your production run report.
Within the first week of selling product from the new co-packer, your ops dashboard flags that the gross margin on those units is 8 percentage points below your target. You see the co-packer conversion cost as the driver.
You have a conversation with the new co-packer about volume commitments and pricing within two weeks of the first production run. You also review your retail pricing for the next purchase order cycle.
Time to identify the problem: 7 to 14 days. Cost: one production run at compressed margin while you gather data to act on.
The transition from weighted average to lot-level costing is an accounting policy change, and it needs to be handled carefully. The good news is that the operational transition is usually more straightforward than operators expect, as long as you start from a clean inventory position.
Step 1: Choose a transition date and take a physical inventory count. The cleanest way to make this transition is to start from a verified physical count. Pick a date, count everything, and establish the opening inventory value under your new costing method. This gives you a clean baseline. Do not try to retroactively restate historical inventory values unless your accountant specifically advises it for financial statement purposes.
Step 2: Assign lot numbers to all existing inventory. Every pallet, case, or unit in your warehouse on the transition date needs a lot number. If you have been receiving product without lot-level records, you will need to assign retroactive lot numbers based on whatever documentation you have, such as purchase orders, production records, or supplier certificates of analysis. For inventory where you cannot determine the original cost, use your best estimate and document your methodology.
Step 3: Update your receiving workflow. From the transition date forward, every purchase order receipt and every production run completion needs to generate a lot record with a cost attached. This is the operational change that makes lot-level costing work. If your receiving team is not capturing lot numbers and costs at the time of receipt, the system will not have the data it needs. This is a training and process change, not just a software change.
Step 4: Update your shipping and fulfillment workflow. When you ship product, you need to record which lots you are shipping. This is what allows the system to match actual costs to actual sales. If you are picking from multiple lots to fulfill a single order, you need a clear rule for which lot gets consumed first. FIFO is the most common rule and the easiest to defend to auditors.
Step 5: Disclose the change to your accountant and update your financial statement footnotes. A change in inventory costing method is a change in accounting policy. Your accountant needs to know about it, and your financial statements should note the change and the reason for it. In most cases, you apply the new method prospectively from the transition date rather than restating prior periods. The disclosure is straightforward. The key is not to make the change silently.
For a deeper look at how COGS flows through a food brand's financials and where lot-level tracking connects to your income statement, see our guide on CPG COGS optimization for food brands.
The transition to lot-level costing is primarily an operational change, not an accounting one. The hardest part is not the software setup. It is building the discipline to capture lot numbers and costs at every receiving and shipping event, every time, without exception. Once that discipline is in place, the financial visibility follows automatically.
The table below summarizes when each costing method is appropriate for food brands at different stages of complexity.
| Business Situation | Weighted Average | FIFO / Lot-Level |
|---|---|---|
| Single SKU, single supplier, fixed pricing | Acceptable | Optional but better |
| Multiple suppliers for same ingredient | Not recommended | Required |
| Two or more co-packers | Not recommended | Required |
| Seasonal ingredient cost swings (>10%) | Not recommended | Required |
| Organic certification / mass balance | Non-compliant | Required |
| 5+ SKUs with different ingredient profiles | Not recommended | Required |
| Single co-packer, stable fixed contract | Acceptable with monitoring | Preferred |
Weighted average costing calculates a blended cost per unit by dividing the total cost of all inventory on hand by the total number of units. Every time you receive new inventory, the average resets. For food brands, this means that a production run made with cheap ingredients from six months ago gets blended with an expensive run made last week, and every unit you sell carries the same blended cost regardless of which actual lot it came from.
Weighted average costing is acceptable when your ingredient costs are highly stable, you buy from a single supplier on a fixed contract, you have no co-packer variability, and you carry a small SKU count with predictable production cycles. In that narrow scenario, the blended average is close enough to actual cost that the distortion is not material. Most scaling food brands do not stay in that scenario for long.
FIFO assumes you sell your oldest inventory first and assigns the cost of the oldest units to cost of goods sold. Specific identification tracks the actual cost of each individual lot and assigns that exact cost when units from that lot are sold. For food brands, specific identification is the most accurate method because it ties actual production costs to actual sales, but it requires lot-level tracking infrastructure that most spreadsheet-based operations cannot support.
A change in inventory costing method is an accounting policy change and typically requires disclosure in your financial statements. In most cases, you apply the new method prospectively from a clean inventory count date rather than restating historical periods. Work with your accountant to document the change, establish a clean opening inventory value under the new method, and note the change in your financial statement footnotes. The operational transition is usually more complex than the accounting one.
Organic certification requires mass balance recordkeeping, meaning you must be able to demonstrate that the volume of certified organic inputs you purchased matches the volume of certified organic product you sold or have in inventory. This is a lot-level tracking requirement by definition. If you are running weighted average costing without lot-level records, you cannot produce a compliant mass balance audit trail. You need lot-level costing infrastructure to satisfy organic certification requirements.
Guidance gives food brands lot-level cost tracking from receiving through production through shipment, so you see exactly where your margin is going before it becomes a crisis.
Get Early Access