Skip to content
CostCook

The complete list

Everything CostCook does today. All 151 things.

This list is written from the code, not the roadmap. Every line is shipped and working in the app you would see on a demo call. If something is not on this list, CostCook does not do it yet.

The costing math

One engine, whole numbers, shown work.

  • One production engine. Menu times guest count becomes what to buy, cook, and pack, with the cost attached.
  • Real unit conversion. Weight, volume, and count convert only through facts you set per ingredient, never a global guess table.
  • Whole batches. Batches round up to whole ones and the plan says made and needed, so nothing pretends to be exact.
  • Two kinds of yield. Trim loss and cooking loss are separate numbers, and each recipe line says which state its quantity means.
  • Byproduct credit. Bones and trim you use elsewhere credit back against the ingredient’s usable cost.
  • Missing prices are named. Uncostable lines are listed, and partial totals say what is missing instead of showing zero.
  • Lines that reconcile. Every line’s cost contribution adds up to the total. No silent remainder.
  • Misc is its own line. Miscellaneous cost is visible and applied once, never buried in a dish.
  • Tap-to-see arithmetic. Any plate cost or food-cost percent opens the math behind it.
  • One percent vocabulary. Over target reads the same words on every screen.
  • Whole-cent money. Money is integer cents end to end. No floating-point drift.
  • Your units. Quantities print metric or US, rounded the way a cook reads them.
  • Scaling preview. Scale a recipe by target amount or by what you have on hand. The saved recipe never changes.
  • Safe nesting. Sub-recipes nest inside dishes, and cycles are refused before they can corrupt a cost.

Today, the home screen

Opens on what needs attention.

  • Attention first. Orders, guests, and deliveries up top. When nothing needs you, it says all clear.
  • Ranked tasks. Each attention item opens the exact screen that fixes it.
  • Arrived orders announced. Orders posted through the API stay flagged until someone marks them reviewed.
  • Partial failure survives. If one panel breaks, the rest of Today still loads, with a retry on just the broken one.
  • Quiet signals. Purchase pulse, price drift, staged imports, catalog blockers, inventory attention. No digging.
  • Dismissible checklist. The finish-setting-up list goes away when you say so, and stays away.
  • First-use guidance. Quick actions and an empty state that tells a new kitchen where to start.
  • Sample data. Loads with one tap, resets cleanly, and spares any rows you renamed.

Ingredients

Buying facts that stay attached to the food.

  • Catalog health. The catalog opens with what is costable and what still needs a fact.
  • Shareable filters. Search and filters mirror into the URL, so a filtered list can be bookmarked or sent.
  • Fix a price in place. Edit a pack cost right from the list without losing your filters.
  • Three doors in. Create from scratch, from the USDA reference, or from a purchase. Unit and yield are your choice, never a guess.
  • Mid-recipe creation. Add a missing ingredient from inside the recipe builder without losing what you typed.
  • Suppliers anywhere. Add a supplier from any screen that needs one. Same form, same result.
  • Purchased vs usable. Each ingredient shows both costs side by side, with its purchase history underneath.
  • Compare suppliers. Concurrent offers compare per usable unit, cheapest first, adopted with a tap.
  • Price provenance. Every current price says where it came from, from which supplier, effective when.
  • Blast radius. Before a price changes, see every recipe and menu it touches.
  • Guarded deletes. Deleting an ingredient walks its uses first. Nothing orphans quietly.
  • CSV import. Bulk ingredient import with a template whose example rows actually pass.
  • USDA reference built in. Yields, densities, and unit weights offered as chips you tap to fill.
  • Allergens. Fourteen-allergen tagging rolls up to every recipe, with chef overrides that require a written reason.
  • Shelf facts. Storage areas and par levels live on the ingredient. An unset par is unset, not zero.

Recipes

A sauce is one recipe, even in five dishes.

  • One-screen builder. Type, pick, next line. Autocomplete stays under your thumb.
  • Live pricing. Set the selling price and the food-cost percent moves as you type, with a nudge when you are over target.
  • Private drafts. A blank recipe stays out of the catalog until its first valid save.
  • Duplicate. Copy a recipe with its costing facts intact.
  • Full lifecycle. Switch dish and sub-recipe kinds, publish, rename, and change batch yield without starting over.
  • Learned yield. CostCook proposes yield corrections from your own buying evidence. You apply or reverse, and the evidence is kept.
  • Inherited defaults. New lines take the ingredient’s usual yield. Old lines never rewrite.
  • CSV export. The whole book or one recipe, in columns that round-trip through the importer.
  • Print sheets. A recipe prints clean, stamped with when it was printed.
  • Checked deletes. Removing a recipe checks what uses it first.

Menus

What each guest gets, priced.

  • Menu workspace. Dishes, portions per guest, and price, saved in one piece.
  • Self-pricing. Cost per guest against selling price, plus the price that would hit your target.
  • Equipment templates. Each menu carries its equipment counts. Chafers times three stays times three regardless of guests.
  • Used-by guards. A menu that orders still use will not delete out from under them.
  • Overridable pricing. The menu’s per-guest price is the default an order can override.

Orders, the event

Quote it, freeze it, run it.

  • Costed before commitment. A new order is a menu, a date, guests, and a price, estimated live as you set it up.
  • Three tabs, one plan. Shop, Prep, and Pack all read the same computed plan.
  • Pinned money bar. The numbers stay on screen while you work, and guest-count changes autosave quietly.
  • Confirm freezes everything. Plan, math, and money snapshot in one transaction. The quote you gave is the quote that stays.
  • Honest reopen. Reopening keeps the frozen prices and says so. Once purchasing starts, reopening is refused.
  • Clean duplication. Copy an event into one draft. A double-tap cannot make two.
  • Shelf check. On-hand steppers for ingredients and batches, scoped to the order so they cannot go stale.
  • Buy math shown. Every buy line can show need, on hand, pack size, and packs.
  • Vendor grouping. The shopping list groups by supplier and by kitchen section.
  • Durable check-offs. Checks persist on the server, and a plan change clears exactly the checks it staled.
  • Walk-in mode. On a phone, a running left-to-grab footer follows you through the list.
  • Printable lists. Shop, prep, and pack print clean: controls gone, hints kept, columns aligned for a clipboard.
  • Leftover nudges. Likely left about a quart, from your recent orders. One at a time, dismissible.
  • Quoted vs today. Confirmed orders compare the frozen quote with current prices, and say when they cannot.
  • Event cost, after. The frozen quote against actual attributed spend, with a materiality floor in dollars.
  • Shortfall evidence. Pack lines left open at close become reviewable evidence: short, packed, or not sure.
  • Aged plans flagged. An old frozen plan is marked old. It is never silently recomputed.
  • Per-order equipment. Hide a template line or add a one-off for this event. The menu template never changes.
  • Allergens at pack-out. Pack lists carry allergen badges.
  • Customer cards. API-arrived orders show who ordered, with an explicit mark-reviewed step.
  • Orders hub. Filter, search, and read food-cost and status badges across every event.
  • Frozen prep notes. Drafts read live prose. Confirmed orders read only the copy frozen at confirmation.

Purchase orders & receiving

What you send, and what actually arrives.

  • Per-vendor POs. Confirming an order offers purchase orders per supplier: email, print, or handled by you.
  • The email you saw. The PO review shows the exact body sent, and the record is written only after the send succeeds.
  • Printable POs. Signature lines and stable PO numbers.
  • Receiving follows sending. A sent PO creates its receiving checklist for you.
  • Deliveries as they are. Short, over, substituted, missing, and unexpected lines each have their own handling.
  • All-or-nothing posting. Committing a delivery writes real purchases, and current prices update from what actually arrived.
  • Automatic rebuy list. Short and missing lines become a durable follow-up list with handled and reopen states.
  • A door per PO. Receive against any sent purchase order from its own screen.
  • Retryable sends. A failed PO send can be retried, with the failure kept on record.

Purchases & month cost

What the month should have cost, and did.

  • One ledger, four doors. Manual entry, invoice import, order log, and receiving, each entry tagged with its source.
  • Batch entry. A whole invoice of lines, priced live, committed all or nothing.
  • Quick log. Or record a single purchase in seconds.
  • Corrections, not edits. A signed adjustment with a required reason joins the record. History is never restated.
  • Cost as of date. Current cost follows the purchase date, not the order you typed things in.
  • Prices that moved. Drift over your chosen window with signed percents, one tap from the summary to the full review.
  • Month verdict. Theoretical usage against actual spend, with the unaccounted gap named, never auto-blamed as waste.
  • Waste, valued. Logged waste re-labels part of the gap at frozen sticker cost. No reason taxonomy to maintain.
  • Turnover, earned. Inventory turnover computes only when two trusted counts bracket the period.
  • Working rails. Waiting-on-you and sent-order lists, and every sent PO doubles as its receiving door.
  • Filters that scale. Ledger filters by ingredient and date, with paging past 50 rows.

Inventory

The shelf, computed, never guessed.

  • Computed on-hand. Derived from dated movements. A count overrules from its date forward. No running total to drift.
  • Append-only counts. Pack cost freezes at count time, so a back-dated correction cannot restate history.
  • A trust gate. Fresh, stale, or never counted is said out loud. Estimates the math cannot back are refused, not invented.
  • Two shapes. A desktop table and a phone list, with state badges and a need breakdown naming which order wants what.
  • Gap shopping list. Need minus trusted shelf becomes one durable list, rebuilt in place, chef overrides kept separate, printable.
  • Shelf value. What the shelf was worth at any date.

Import & AI intake

Paper in, staged facts out, you confirm.

  • Any door in. Drop files, paste text, or photograph paper. The workspace queues and tracks each one.
  • Classified, timed, retryable. Six document kinds with confidence scores, OCR fallback, and reclassify, replace, or exclude.
  • AI on a leash. Extraction runs behind a strict schema. Units arrive as text for review, never trusted ids.
  • A careful auto-accept. Only when name and unit are certain and the match is exact. Everything doubtful is one human tap.
  • Staging, not writing. Imports live outside your real catalog until you confirm them.
  • Safe recipe commits. One transaction, cycle-checked first. Re-importing replaces in place so menus stay linked.
  • Invoices that check themselves. Stated totals compare against computed ones, and duplicates are fingerprinted.
  • Price sheets, row by row. Apply or skip each line. A pack-size change refuses to apply silently. A sheet is an asking price, never a purchase.
  • Bulk add with verdicts. Duplicate-match scores are shown, ambiguity is surfaced, and every row passes the same validation as the manual form.
  • Foreign CSVs. The model proposes a column mapping, a deterministic parser reads every cell, ignored columns are disclosed.
  • Recipe CSVs too. Same mapping pattern. Unreadable rows are surfaced, never dropped.
  • Word documents. DOCX parses deterministically, with no model involved at all.
  • The original stays visible. The photo or PDF sits beside the staged rows while you review. Discard really deletes it.
  • Receipts, not repeats. Committing twice by accident replays the same receipt. Never double rows.
  • Unreadable means unread. What the model could not read is quoted back verbatim, next to what it staged.
  • Semantic matching. Vector search tuned against labelled fixtures, so Roma tomatoes find tomato, Roma.
  • It learns your names. Every confirm teaches an alias per kitchen. The review pile shrinks with use.
  • Safe re-runs. Embedding backfill is idempotent. Running it again is safe, not a bill.
  • Caterer scale. Tested with 120-item order guides and 20-invoice batches that stay together.

Labels & printing

Stickers a health inspector can read.

  • Kitchen labels. A forced storage-state choice, use-by dates with their source stated, allergen lines, container counts.
  • Exact reprints. Every printed label is stored verbatim. A reprint is the same label, not a lookalike.
  • Your stock. Stock profiles include sizes you measure yourself, with a fit warning instead of a silently truncated name.
  • Sourced shelf life. Tap a sourced suggestion to write the fact. Ignoring it writes nothing.
  • Labels off the list. Print straight from prep and pack at the quantities the list computed.
  • Per-kitchen settings. Label defaults belong to your kitchen, not the install.
  • No double prints. Print jobs are idempotent. A double-tap replays, it does not reprint.

Team & settings

Five cards, not a maze.

  • A settings hub. Five category cards with live attention lines pointing at what needs a decision.
  • Knobs with consequences. Costing settings preview their impact and name which menus go over target before you save.
  • Profile is letterhead. Business name, reply-to, phone, and delivery address feed straight onto purchase orders.
  • Vendor manager. Contacts, per-vendor purchasing method, and insight into what you actually buy from each.
  • Metric or imperial. A per-kitchen choice, read on every request.
  • Magic-link invites. Invite teammates by email, with expiry and revoke.
  • Isolation by construction. Every kitchen’s data is scoped per request. Cross-kitchen reads are refused, and unscoped writes fail loudly.
  • No guessed ownership. Records from before a kitchen existed stay marked unowned rather than being assigned to one.

Setup

From empty to a costed first order.

  • Six guided stages. Resumable on any device, role-aware, and never duplicating what you already made.
  • Ends with a real order. The first-order estimate runs on the same engine as the rest of the app.
  • A checklist that cannot lie. Progress is derived from your actual catalog on every load, so it cannot go stale.
  • The real builder. The recipe step is the actual recipe builder, not a toy version.

Sign-in & reliability

Built for wet hands and thin signal.

  • No passwords. Sign-in is an invitation and a magic link. Links work once and die in eight minutes.
  • Access ends now. Remove someone and their access stops on their next request, not their next sign-in.
  • Safe return links. Sign-in destinations are checked, so a crafted link cannot bounce you off-site.
  • Works in the walk-in. Order pages keep working with no signal, marked with when they were cached.
  • Works without JavaScript. Every page renders on the server first. Scripts improve it, they do not carry it.
  • Accessibility, pinned. 44-pixel targets, AA contrast, and 200 percent text survival are held by tests, not intentions.
  • Notices that behave. Messages survive redirects, never repeat, and work without JS.
  • A cheap health check. The status endpoint answers from a short cache, so a flood cannot amplify into database traffic.

Ordering API

Your website can place orders. It cannot see your costs.

  • A keyed door. A versioned API lets your website or an agency post orders that arrive as drafts on Today.
  • Retries are safe. A retried request can never create a second event, and every invalid field comes back in one response.
  • Costs stay home. The API sees menu names, never prices, plate costs, or margins. A test asserts the absence.
  • Honest key handling. A key’s full value is shown exactly once and stored hashed. Suspend is reversible, revoke is not.
  • Nothing to probe. Every bad-key state gets the same uniform answer.

That is the whole list. If it covers your kitchen, bring one real menu and see it run.Book 15 minutes