Live plate cost
Re-computes each dish from its recipe and today's purchase prices, compares it to the previous period, names the ingredient responsible, and proposes one action. The target is a 65% margin — a 35% food cost — and it will not recommend a rise above 10%; beyond that the answer is to move the dish off the front page, not to charge more for it.
A menu is priced once and then forgotten while supplier prices move weekly. The dish that earned 65% may be losing today, and nothing says so, because the cost is a stored number rather than a computed one.
An ingredient with no current price makes the cost a lower bound, not a final figure: the margin is returned as null and the coverage is declared. If the recipe unit and the price unit differ, the ingredient is rejected outright — no silent conversion adds kilograms to grams. Drift is measured only across ingredients priced in both periods.


