Inventory
Food cost

Average Cost Accuracy in Restaurant Inventory: How Inactive and Zero-Priced Items Distort It

Weighted-average recipe cost check showing a plate understated by a zero-cost ingredient

What a Distorted Average Cost Looks Like on Your Recipe Margins

Weighted-average cost is the running unit cost your system holds for an ingredient: every receipt blends into one number, and your recipes read that number when they calculate a plate cost. When it drifts below what you actually pay, every recipe built on the item understates its cost, and the margin you report is better than the margin you earn.

The tell is a recipe cost that looks too good. A Braised Short Rib that should cost $6.80 a plate reads as $5.40, a 21% understatement, and at a $24.00 menu price your reported food cost drops from a true 28.3% to a comfortable-looking 22.5%. Nothing on the plate changed. A cost input went to zero somewhere upstream, and that 5.8 point gap is now baked into every margin report, menu-engineering call, and pricing review that trusts it. Two item conditions cause almost all of this: items that have gone inactive and lost their stored cost, and items priced at zero that still get pulled into the average. The rest of this guide shows how to tell which one you are looking at, and how to fix each.

Reported food cost understated by 5.8 points when one ingredient reads zero


Why Inactive Items Lose Their Cost and Drag the Average Down

An item with no stock movement for six months or more is commonly auto-marked inactive, and inactivity often strips its stored pricing. The unit cost it carried, the real price you last paid, reads as zero. If that item is still an ingredient in a live recipe, or gets received again later, the zero flows straight into the weighted-average calculation and pulls it down.

Dormant ingredients that lost their stored cost and now read zero


The common workaround makes it worse. To re-establish a cost quickly, operators raise a dummy invoice: a fake receipt at a guessed price, just to get a number back into the field. It restores a value, but it is not the real cost, it has no supplier or document behind it, and it leaves a hygiene problem in your purchase records that someone untangles at month end. A guessed cost is still a wrong cost. The clean move is to recover the actual last price, which the fix section below covers. If duplicate or badly structured items are also in play, the wider discipline is item master-data hygiene.

How Zero-Priced Items Quietly Enter the Average-Cost Calculation

The second cause does not need six months of inactivity. A zero-priced item, a free supplier sample, an uncosted inter-branch transfer, or a promotional case received but never invoiced, enters your records at $0.00 and, in many setups, is pulled into the global average-cost calculation the moment it lands. One zero receipt among a handful of real ones drags the blended cost down immediately.

How far a zero-priced line drags each item's average cost, by item


Because these receipts look legitimate, they are real goods that really arrived, they rarely get flagged. Finance teams running multi-location groups have asked for account-level control to stop zero-priced items from counting toward average cost at all, which tells you how routine the distortion is. Until an item's receipts all carry real prices, its average cost is only as trustworthy as its worst line.

How to Trace a Wrong Average Cost Back to the Item Causing It

When a recipe cost looks wrong, you do not have to audit the whole catalogue. Work back from the recipe to its ingredients and check each item's current unit cost against what you last paid. The item that reads zero, or far below its real price, is your culprit, and one question tells you which fix it needs.

Decision tree: was the item received recently, inactive item versus zero-priced receipt


Ask: was the item received in the last few weeks? If it has had no recent receipts and reads zero, it is an inactive item whose stored cost was stripped, so restore its last real cost. If it was received recently but at $0.00, a zero-priced receipt is sitting in its average, so correct that receipt line and stop the free or uncosted arrival from counting. In a catalogue of 1,200 items, the handful that matter, say 45 inactive and 18 zero-priced, are easy to isolate once you know both signatures, and a cost-change or weighted-average audit report that lists items whose cost recently dropped points you straight at them.

The Clean Fix: Rebuild Real Costs and Lean on the Audit Trail

Fixing the number properly takes four steps, and none of them is a dummy invoice.

Four-step fix: detect, restore the real cost, recalculate, log it in the audit trail


First, detect: run the cost report or audit log and find every item whose unit cost reads zero, or dropped sharply without a matching real receipt. Second, restore the real cost. When you keep one base item per ingredient with full version history, you restore the last valid cost the item actually carried instead of guessing at one, so the number you put back is the number you really paid. Third, recalculate: because recipe and weighted costs recompute as prices change, correcting the item cost flows through to every recipe that uses it, and your plate costs and food-cost percentages snap back to the truth. Fourth, log it: an audit log that records every cost change with before and after values, tied to a named user and timestamp, and that no one can edit or delete, means the correction is documented rather than buried, so the next person who sees the item does not undo it or reach for another dummy invoice.

So name the branch you are in. If your recipe cost looks too low and the suspect item has not been received in months, you are in the inactive-item branch: restore its last real cost from version history and let the recipe cost recompute. If the item was received recently at zero, you are in the zero-priced branch: fix that receipt line so the free or uncosted arrival stops dragging the average. Either way, the one move that keeps it fixed is documenting the correction in an audit trail instead of papering over it with a guessed invoice, because a cost you can trace is a cost the whole team can trust.

Book a Demo with Supy for accurate weighted-average recipe costs

Ready to optimize your restaurant operations?

Blog

Our operational insights

No items found.

Your questions 
answered

Everything you need to know about Supy — from setup to integrations, pricing, and daily use. If it’s not covered here, just ask.

Qu'est-ce que le coût moyen pondéré, et comment les articles inactifs ou à prix zéro le faussent-ils ?
+

Le coût moyen pondéré est le coût unitaire courant unique que votre système conserve pour un ingrédient, en intégrant chaque réception dans un seul chiffre que les recettes utilisent pour calculer le coût d'un plat. Il se fausse lorsqu'une valeur nulle entre dans le calcul. Un article marqué comme inactif peut perdre son prix enregistré après des mois sans mouvement et être affiché à zéro, et une réception réellement à prix zéro, comme un échantillon gratuit, peut être intégrée directement. Dans les deux cas, un zéro mélangé à des prix réels tire la moyenne en dessous de ce que vous payez réellement, de sorte que les coûts de recettes et les marges basés sur cet article sont sous-estimés en silence.

Pourquoi un article marqué comme inactif perd-il son coût ?
+

La raison tient à la façon dont de nombreux systèmes traitent les articles dormants. Lorsqu'un article n'a aucun mouvement de stock depuis six mois ou plus, il est souvent marqué automatiquement comme inactif pour garder les référentiels actifs en ordre, et cette inactivité peut supprimer les prix enregistrés de l'article. L'intention est de faire le ménage, mais l'effet secondaire est un coût de zéro. Si l'article est encore utilisé dans une recette active, ou est de nouveau reçu plus tard, ce zéro s'intègre au calcul du coût moyen pondéré. L'article semble inoffensif parce qu'il est dormant, mais son coût nul pèse quand même sur chaque recette qui l'utilise.

Comment distinguer un article inactif d’un article à prix zéro qui fausse votre coût moyen ?
+

La clé pour les distinguer est une question simple : l’article a-t-il été reçu ces dernières semaines ? Remontez du coût de recette incorrect jusqu’à ses ingrédients et trouvez celui qui affiche zéro ou bien en dessous de son prix réel. Si cet article n’a pas eu de réceptions récentes, c’est un article inactif dont le coût enregistré a été supprimé, et la correction consiste à restaurer son dernier coût réel. S’il a été reçu récemment mais à zéro, une réception à prix zéro se trouve dans sa moyenne, et la correction consiste à rectifier cette ligne de réception. Les deux profils sont faciles à repérer dès lors que l’on sait quoi chercher.

Pourquoi les factures fictives sont-elles une mauvaise façon de corriger un article à coût nul ?
+

Les factures fictives ne résolvent pas le problème, elles en créent un autre. Créer un bon de réception fictif à un prix estimé remet bien un chiffre dans le champ de coût, de sorte que la recette n’affiche plus zéro, mais ce chiffre est inventé et non réel. Il n’a ni fournisseur ni document derrière lui, il fausse vos données d’achats et de dépenses, et quelqu’un devra démêler tout cela en fin de mois. Un coût estimé reste un coût erroné, ce qui rend vos marges inexactes de manière moins visible. La démarche plus propre consiste à récupérer le dernier prix réel que l’article portait plutôt que d’en inventer un nouveau.

Comment les articles à prix zéro, comme les échantillons gratuits ou les transferts, entrent-ils dans le coût moyen ?
+

Ils entrent parce qu’ils ont l’air parfaitement légitimes. Un échantillon gratuit d’un fournisseur, un transfert inter-sites non valorisé ou une livraison promotionnelle reçue mais jamais facturée est un bien réel qui est effectivement arrivé, et il entre donc dans vos registres comme une réception normale au prix de zéro. Dans de nombreux systèmes, il est ensuite intégré au calcul du coût moyen global dès son arrivée. Comme rien dans la réception ne semble anormal, elle est rarement signalée, et une seule ligne à zéro parmi plusieurs lignes réelles suffit à faire baisser le coût moyen pondéré. La moyenne n’est fiable qu’à hauteur de sa réception la moins bien valorisée.

Quelle est la méthode fiable pour rétablir un coût réel sans estimation ?
+

La solution consiste à récupérer le prix que l’article portait réellement, plutôt que d’en inventer un. Lorsque vous conservez un article de base par ingrédient avec un historique de versions complet, vous pouvez restaurer le dernier coût valide que cet article a réellement détenu, de sorte que le chiffre que vous renseignez est un vrai prix historique et non une estimation. La correction de l’article de base recalcule ensuite les coûts de recettes et les coûts pondérés qui en dépendent, de sorte que les coûts par assiette et les ratios coût matière se mettent à jour automatiquement. L’enregistrement de la modification dans un journal d’audit avec les valeurs avant et après rend la correction visible et traçable, ce qui empêche la personne suivante de l’annuler ou de recourir à une facture fictive.

Comment un coût moyen faussé affecte-t-il mon ratio coût matière déclaré ?
+

L'effet se manifeste sous la forme d'un ratio coût matière qui semble meilleur que la réalité. Si un intrant à coût zéro sous-évalue un plat dont le coût devrait être de 6,80 $ à 5,40 $, cette recette affiche un coût inférieur de 21 % à ce qu'il est réellement. Pour un prix de menu de 24,00 $, le coût matière déclaré passe d'un vrai 28,3 % à un flatteur 22,5 %, soit un écart de 5,8 points sur un seul plat. Réparti sur toutes les recettes partageant l'article faussé, cet effet déplace silencieusement l'ensemble de votre image de coût matière dans la mauvaise direction, de sorte que les décisions de tarification et d'ingénierie de menu reposent sur des marges que vous ne gagnez pas réellement.

Êtes-vous prêt à transformer vos opérations ?

Comme plus de 3 500 restaurateurs utilisez Supy pour réduire vos coûts, rationaliser les opérations et prendre des décisions plus intelligentes.