Kitchen Cost Tracker is a food-cost and operations brain for independent restaurants. Instead of guessing at margins or running spreadsheets at midnight, everything lives in one place and the math is live.
Core modules:
Reports + Analysis:
Ops Tools (your biggest margin savers):
What makes this different from competing apps:
KPIs (top row): Avg Food Cost %, Menu Items On Target (green), High (over target), Critical (over target +8%), Inventory On Hand ($), Total Menu Items, Ingredients.
AI Ops Analyst: Eight chips, each runs a different analysis. Daily Ops Check is the default 4-sentence summary. Cost Blowouts calls out worst margin losers with suggested prices. Price War Room ranks ingredient inflation. Menu Engineering classifies items into stars/plowhorses/puzzles/dogs. Inventory Health checks days-on-hand vs benchmark. Catering P&L dives into catering margins. 7-Day Forecast projects next week's COGS. BBQ Benchmark compares to industry norms. Every analysis is saved to HISTORY.
Charts: Price trend (top 5 movers), Inventory composition donut, Avg food cost % by menu category, Supplier spend last 30 days.
Menu table: Every menu item with live plate cost, food cost %, and status chip. Sorted worst-first.
Three pulse checks over a 7/30/90 day window:
Every raw item you buy. Four ways to update prices:
SKU DESCRIPTION QTY UNIT_PRICE. Matches on supplier SKU and updates cost, logs history automatically.Price history icon: Click to see a line chart of every cost change over time with total % delta.
Yield %: How much of the raw ingredient is usable. Brisket is ~62% (38% trim/render loss). The app factors yield into recipe costs automatically.
A recipe is any preparation that has ingredients and a yield (servings). Two uses:
Cost-per-serving updates live whenever any ingredient it uses changes price. Print Recipe Card gives a clean print view for the kitchen wall.
Each row is a dish you sell, with menu price + target food cost %. Add components (recipes or ingredients) and the app computes plate cost live.
Status chip: Green = at or under target. Yellow = HIGH (over target). Red = CRITICAL (over target +8%).
Prep Sheet icon — scale a dish to N plates. Shows plate cost, current menu price + current food cost %, suggested price at your target food cost, margin per plate, total food cost, total revenue. Print it for the prep station.
+ LOG PURCHASE — record a supplier delivery (Sysco, Hardies). Updates the ingredient's current cost and logs to price history. Ledger of all purchases appears below.
NEW COUNT SESSION — physical inventory count. Walk the kitchen, enter on-hand quantity for each ingredient, see live inventory value. Save as draft and return later, or close when done. Closed counts drive the Dashboard KPI.
Benchmark: healthy BBQ inventory = 2–5 days of food cost on hand. Less = risk of running out, more = cash tied up.
The AI has live read-only access to: every ingredient, every recipe, every menu item, price history, purchases, inventory counts, and daily food sales. It doesn't make up numbers — if a question can't be answered from your data, it'll say so and tell you what data it needs.
Try asking:
Every analysis is saved to HISTORY. Click HISTORY to scroll back through every question and answer, newest first, collapsed by default.
Log units sold per menu item per day. Three-minute end-of-shift task that unlocks the most valuable features in the app.
How it works:
Why it matters: the AI Ops Analyst (especially Menu Engineering and Cost Blowouts) needs real units-sold to rank items by margin dollars lost, not just food cost %. A plate at 45% FC that sells 5/day is far less important than a plate at 34% FC that sells 200/day. Without this data, the AI is guessing; with it, every recommendation is ranked by real dollar impact.
Also feeds: Variance Report, Purchase Order projection, Pricing Simulator annual impact math, Catering Quote markup calibration.
Four operational tools that sit on top of your cost + sales data. These are where most of the real margin is protected or recovered.
1. Variance Report (theft + shrink detector)
Pick a window (7 / 14 / 30 days). The app:
Positive variance (purchased more than recipe says) = shrink, waste, overportioning, theft, or accidentally serving extra. Negative variance = eating into existing inventory (watch for stockouts). The dollar value across all ingredients tells you how much is leaking every week. Typical restaurant: 3–8% variance is normal, >10% means something is wrong.
Real example: recipe says 6 oz brisket per plate, you sold 100 plates (600 oz theoretical), purchases show 780 oz actual — that's 180 oz of leak. At $0.49/oz, that's $88/week. Over a year: $4,600 of untracked loss you now SEE.
2. Auto-Generated Purchase Order
Click Generate Order. The app:
Output has a Print button that gives you a clean print view you can fax / PDF / email to Sysco. Replaces a 60–90 minute weekly chore with a 30-second generate + review.
3. Pricing Simulator
Pick a menu item, slide the price. Live readout shows:
Use it when raw costs move: brisket goes up 15%, run the simulator, see what the plate price needs to be to protect margin, apply it. Done in 30 seconds.
4. Catering Quote Builder
Click New Quote. Enter client name, event date, headcount, and markup multiplier (default 3.5× food cost — typical catering margin). Pick menu items and quantities per guest; the app calculates:
Hit Print Client Quote to generate a branded one-page PDF — restaurant name, event details, line items (name + per-guest portion + total portions), grand total, standard catering terms. Food cost is completely omitted from the printed output. Email the PDF, get the deposit, done.
Anywhere you'd be typing a lot, there's now an AI paste box. Paste one line (or dictate with Wispr Flow) — AI fills the whole form.
Invoice OCR + Persistent Mapping Memory
Scan Invoice now rasterizes PDFs page-by-page (no manual conversion). After extraction, every line is either LEARNED (mapped previously — one-click), AI % (first-time line, AI matched to your ingredient list with a confidence score), or ? NEW (pick manually). Click SAVE MAPPINGS — every future invoice from that supplier is instant. LEARNED MAPPINGS button opens the memory admin.
Ingredient Quick-Add
Paste "chicken breast 40lb case $89.50 Sysco SKU 12345" into the purple box at the top of the Ingredient modal. AI fills name, category, base unit, cost-per-unit (computes from pack if needed), yield %, pack size, SKU, supplier. Category auto-defaults yield (Protein 65%, Produce 85%, Dairy 98%, Dry 100%, Seafood 55%).
Recipe Bulk Paste
In the Recipe modal, click PASTE LIST. Paste 6 oz brisket, 2 tbsp rub, 1 cup bbq sauce, 1/2 lb russet potatoes — AI adds every row with unit, qty, and ingredient matched to your master list. Handles fractions ("1/2" → 0.5), unit aliases ("ounce"/"oz"), multi-line or comma-separated.
Menu AI Suggest From Name
Type the menu item name (e.g. "Smoked Brisket Plate") then click AI SUGGEST FROM NAME. AI reads your recipe library and suggests which recipes belong on that plate (protein + sides + sauces) with a reason for each. Check boxes, add.
Sales Daily Tally Paste (Wispr Flow)
Sales tab → PASTE TALLY. Dictate with Wispr Flow: "Brisket 25, Ribs 18, Sausage 12, Tea 40, Cornbread 22". Every quantity field fills in one shot, matched to menu items by name similarity.
Purchase Single-Line Paste
Log Purchase modal's purple box at top: paste Brisket SYS-12345 40lb case 1 $89.50. Ingredient dropdown auto-selects (with confidence %), qty, unit, price, and supplier all fill. Dropdown also autofills unit from the picked ingredient's base_unit.
Pricing Simulator — Hit Target %
New button snaps the slider to the exact price needed for a target food-cost %. Plus preset chips: 25% / 30% / 33% / 35%. No more hunting.
Master Target — Industry Preset Chips
Master Target Simulator now has restaurant-type chips: Fast Casual 30–32%, BBQ 32–36%, Fine Dining 28–32%, Steakhouse 38–42%, Pizza 25–30%, Cafe 18–25%. One click sets the bulk target.
Catering Event Type + Bulk Paste
Event Type dropdown auto-sets markup (Wedding 3.5×, Corporate 2.8×, Fundraiser 2.5×, Reunion 2.2×, Drop-off 2.2×, Full-service 3.5×, Holiday 3.0×, Graduation 2.8×). PASTE ITEMS handles Brisket 1.5, Ribs 1, Sausage 0.5, Tea 2 → all lines added with per-guest qty.
Inventory Pre-Fill From Last Count
New count session auto-pre-fills every ingredient with the on-hand qty from your last CLOSED session. Only edit what changed, save. Toast confirms the source date.
SMS Alert Preview
Settings now shows exactly what the daily alert SMS looks like. Sent 9 AM Central ONLY when an ingredient spikes >10% in 24h or overall food-cost > target. Silent days = everything's fine.
Quickstart Modal
First-visit 3-step guide (Ingredients → Recipes → Menu Items) with jump buttons. Dismisses after you add a few ingredients. Stored in localStorage.
Clickable Dashboard KPI cards
Every KPI card at the top of the Dashboard is now clickable. Click Menu Items On Target, High, or Critical → the menu table below auto-filters to just those items AND the right-side tray opens explaining what the bucket means, the exact math rule (e.g. FC% > target + 8), and a prioritized "what to do in order" list. Avg Food Cost %, Inventory On Hand, Total Menu Items, and Ingredients all open explanation trays too.
Filter pills above the menu table
When you click a KPI, filter pills appear above the menu table: All · Critical · High · On Target. Click any to re-filter without going back to the KPI card. "All" resets.
Blue ? help dots (everywhere)
Every tab, major feature, KPI, and AI tool has a small blue ? icon next to it. Click any dot → a right-side tray slides in with:
? HINTS ON / OFF toggle (top bar)
Right next to the USER MANUAL button. Shows ON by default. Click to hide every blue ? dot across the app (for screenshots, demos, or if you've mastered it). Click again to show them. Preference is remembered (localStorage kc_help_icons_visible).
SKU DESCRIPTION QTY UNIT_PRICE — tab or multiple spaces separated. Lines with matching Supplier SKUs update their ingredient's cost and log to price history.name, category, base_unit, cost_per_unit, yield_pct, pack_size, pack_unit, supplier_name, supplier_sku, notes. Only name is required. Existing ingredients (matched by supplier_sku or name) are updated, not duplicated.