Skip to content

Back-of-house software for independent caterers, meal-prep kitchens, and restaurants that cater

Cost it, buy it, prep it, pack it.

Use your recipes, current prices and guest count to check food cost and build the shopping, prep and pack lists. Change the count once; the lists change with it.

First dish: about fifteen minutes. Bring its recipe and ingredient prices.

15 days free, then $49/month per kitchen, unlimited crew during launch. Card up front, charged $0 today. Nothing to install.

Read the launch terms
A sample wedding, checked before you quote

180 guests × $68 = $12,240 revenue

Food per guest
$26.93
Food-cost share
39.6%
Example food-cost target
30%

$89.78 per guest to meet a 30% food-cost target.

Food only: packaging, rentals, staff and anything you cook over the guarantee sit outside it.

Inspect the pricing panelFood-cost target panel: 39.6% food cost against a 30% target. Charge at least $89.78 per guest to meet it; food-only exclusions are shown.Open full-size panel (new tab)

What you do about the gap is your call: swap a protein, drop a dish, raise the price, or take the job at that margin knowing it.

One event. One connected plan.

Price it, scale it, buy it, then bring the paid price back. Each step picks up where the last one finished, so there is no second copy of the numbers to keep in agreement with the first.

QuotePlanBuyCost again
  1. Quote

    Quote with the food cost in front of you

    Pick the menu, enter guests and price per head, and see the job against your food-cost target before you say yes.

    A price the copy never got → Cost checked before the quote

    Quote · sample kitchen record
  2. Plan

    Change the count once

    Recipes scale, shared ingredients roll together, whole packs recalculate, and Shop, Prep and Pack stay on one plan. All three work on a phone, and one you opened earlier stays readable in a walk-in with no signal.

    One number, four tabs → One guest count carried through

    Plan · sample kitchen record
  3. Buy

    Send the buying without retyping it

    The shopping list groups by supplier, and receiving records what actually arrived: short, over, substituted, or missing.

    Rows retyped into emails → Whole packs grouped by supplier

    Buy · sample kitchen record
  4. Cost again

    Bring the real price back to the next quote

    Record what you paid. Approved prices update future costing; the confirmed quote keeps its price.

    An invoice in a folder, not the sheet → The paid price in future costing

    Cost again · sample kitchen record
The next quote starts with what you paid.

The loop closes without changing the price on the event you already confirmed.

Need to check a specific feature? See everything it does, area by area.

Next section: See it run

See it run

Watch the sample 180-guest wedding move from quote to delivery, then see three events planned together. Read the same tour below if you prefer. The recording is captioned; no sound is needed.

A silent, captioned screen recording of CostCook following one catering order from quote to shelf. There is no narration; a music bed plays and every claim is written on screen, so nothing is carried by audio alone. A title card: cost it, buy it, prep it, pack it, enter the numbers once. A year of jobs on the books, with the next one named: the Alvarez-Whitman wedding, 180 guests, three days out. The order’s pricing panel: 180 guests at $68 a head is $12,240.00 of revenue against $4,847.96 of food, which is 39.6 percent food cost against a 30 percent target, and the panel names $89.78 a guest as the price that would meet it, all before the quote is sent. The same order as a shopping list grouped by vendor in the whole packs you actually buy, Baldor totalling $690.82, beside a sub-recipe panel that treats the stock and the mirepoix as batches to make rather than as things to shop for: eight batches of Mirepoix Base, six of House Beef Stock, with an on-hand entry that reduces the purchasing when you have already made some. The same order’s prep list: thirty-four items scaled to the job, 75.6 kilograms of boneless beef short rib among them, sub-recipes carried as their own tagged lines, and a check-off box on every row that keeps its state. The Wild Mushroom Polenta from the same wedding menu, opened on its Nutrition section: a calculated estimate per portion of 531 calories, 18.5 grams of protein, 77.2 grams of carbohydrate and 18.6 grams of fat, computed from the USDA FoodData Central records matched to its four ingredients, with seven label rows left blank rather than counted as zero because the matched source does not report them, each blank naming the ingredient responsible. An aside: three events in the same week, 280 guests between them, planned as one production run and submitted together as three orders, opening on a combined Shop, Prep and Pack workspace that totals the shopping and the prep across all three while the pack list keeps a by-event column so each event’s trays stay separate. Each order still gets its own confirmation and its own purchase orders; the combined run does not confirm or buy. Back on the wedding: an inbox showing the purchase orders the confirmation actually emailed, one per vendor, each with its own number, and the one addressed to Green Valley Produce opened as the vendor receives it, five items in whole packs with a $516.08 subtotal. Receiving: arugula received three of four three-pound clamshells, the missing clamshell saved for purchasing follow-up; baby spinach ordered as fifteen three-pound clamshells and delivered as sixteen, $477.16 of received value against the $410.40 ordered. The ingredient’s cost panel showing the price actually paid as the current cost, $21.91 a kilogram, with the receiving it came from on record. Sage, the in-app assistant, asked in plain words what needs attention for the Alvarez-Whitman Wedding, answering from the records: the food cost is 39.6 percent against the 30 percent target, the same figure the pricing panel worked out at the start of the film, and 22 ingredients are still unreviewed for dietary checks. Under the answer, a “Where this came from” list of the order records it read, the wedding among them. Finally the order’s comparison band: quoted at $26.93 a guest, $27.13 at today’s prices, a 0.7 percent rise with the quote still holding. An end card: one job, quote to shelf, the same numbers the whole way.

Follow the order in writing8 handoffs

Follow the order without pressing play.

Read the same 180-guest wedding in 8 handoffs. Each line shows what goes in and what the next part of the job receives.

  1. Quote

    Check the food cost before you quote

    The pricing panel puts the guest count, quoted price, food cost, target and the price needed to meet it in one decision.

    Menu + 180 guestsFood cost before send
  2. Shop

    Turn the wedding into whole packs

    The same order becomes a shopping list grouped by supplier, with sub-recipes kept out of the buy list as batches to make.

    Same weddingSupplier-grouped packs
  3. Prep

    Scale the kitchen work to the count

    The prep list carries the same guest count into every ingredient and sub-recipe, with a check-off box on each line.

    Same guest countScaled prep list
  4. Nutrition

    Answer the nutrition question off the same recipe

    Calories and protein per portion sit on the dish you already costed, computed from the sources you matched. Rows the source will not report stay blank, with the ingredient named.

    Same costed recipePanel, blanks named
  5. Buy

    Send each supplier its purchase order

    Confirmation creates one purchase order per supplier. The film then opens an inbox so you can read the email exactly as a supplier receives it.

    Shopping needPurchase orders sent
  6. Receive

    Record the delivery you actually got

    A short arugula line and extra spinach stay beside what was ordered. The difference is recorded instead of smoothed over.

    Expected deliveryReceived quantity + value
  7. Update

    Carry the paid price back to costing

    The received price becomes the current ingredient cost. The confirmed quote stays held while today’s comparison moves.

    What actually arrivedCurrent cost for next time
  8. Ask

    Ask about the job and check the answer

    Sage reads the records this order has built and answers in plain words. The film asks what needs attention, and the answer carries the same 39.6 percent food cost the pricing panel worked out, with the orders it read listed under it.

    The records so farAnswer with its sources

Then, the scale test

Three events. One production run.

Combined production totals Shop and Prep across all three. Pack keeps a by-event column, and confirmation and purchase orders still stay with each order.

That was a sample wedding in the working product. Yours will have different numbers.

Start free trial

15 days free. Card up front, charged $0 today.

Next section: Trust the numbers

A missing price should stop the total.

An ingredient with no price must not look free. CostCook holds the costing when a price or conversion is missing and names the line that needs attention.

Why a copied spreadsheet can miss the changeOld prices, changed guest counts and the facts a total needs

What goes wrong

The spreadsheet works until the job changes.

Most kitchens cost on a spreadsheet, and it holds until something moves. A supplier price changes. The client adds forty guests. A case arrives short. Each one is a number somebody has to find and change by hand.

So every job starts as the last job’s sheet, saved under a new name. That is the right move with the tools most kitchens have. It is also how the price you quote and the price you pay drift apart without anybody getting anything wrong.

Those four are my own week, not a survey, and the last one is the one I built this for.

  1. 01

    You quote from an old price

    The vendor moved the case price and you changed it where you saw it. The sheet you quoted this job from is a copy of last month’s, and it still holds the old one.

  2. 02

    You rebuild the same order four times

    Forty more guests, and the same number has to change in the recipe math, the shopping list, the prep plan and the pack check. Four edits, and the one you miss turns up at the dock.

  3. 03

    You retype the list to buy it

    You copy the rows out by hand: one message per supplier, then a checklist at the dock, then whatever the truck was short, typed back in.

  4. 04

    You learn the margin after service

    The invoices arrive after the event and go in a folder, not in the sheet you quoted from. Weeks later, if you go and check, they decide whether the price worked.

And the quiet one

Those four are the slow ones. The one that costs money is quieter. A sheet totals what is in it, so a missing fact does not stop the number. It shrinks it.

  • A price you have not got yet

    The beef is blank while you wait on the invoice. The plate cost still prints, short by the beef and looking just as confident as a right answer.

  • A conversion nobody checked

    The recipe is in grams, the pack is in pounds, and whoever typed the number between them is not in the kitchen today.

Neither is slower. They are wrong, and the screen does not say so. CostCook stops instead. A missing price or a missing conversion holds the costing and names the line it is waiting on.

Next section: Trim and yield

Trim and yield

The case has the skins on it. Your recipe does not.

The recipe uses 60 grams of cored tomato. The case price still has to pay for the part trimmed away. Follow that one line from the quantity in the dish to the cost on the recipe.

Recorded purchase25 lb case · $29.14 · $2.57/kg as purchased

Sixty grams used in the recipe, divided by a trim yield of zero point nine one, equals sixty-six grams required to buy. Sixty-six grams at two dollars and fifty-seven cents per kilogram equals a seventeen-cent line cost.

Set yield on the recipe line once. The amount to buy and the line cost move together; every ingredient stays at 100% until you change it.
Inspect the recipe lineThe same quantity, yield and purchase cost in the app

The same working, open on the recipe line

One recipe line on a phone, with its calculation open. Roma tomato, prep cored and wedged, $0.17. Used in recipe 60 grams. Trim yield 91 percent. Required to buy 66 grams. Share of plate cost 12 percent. View line calculation: used in recipe 60 grams usable quantity; trim yield 91 percent; required as purchased 60 grams divided by 0.91 equals 66 grams; current purchase cost, 25 pound case at $29.14 per 25 pounds, $2.57 a kilogram; line cost $0.17, 12 percent of the recipe-line subtotal. Recorded purchase, supplier Green Valley Produce, effective 2026-07-28.
No waste percentage is added at the end. The yield stays on the ingredient line, beside the quantity, preparation and cost it changes.

Next section: Who made it

Rayan Ramirez, chef and founder of CostCook

Rayan RamirezChef and founder

Who made it

I cooked professionally for twelve years before I built CostCook.

I wanted one menu to become the quote, shopping list, prep plan and pack list without losing the cost on the way.

Contact Rayan

What that changed in the product

  • Missing facts stop the total

    It never quietly becomes zero.

  • One event keeps one guest count

    All four stay connected as the order changes.

  • Built for event production

    For catering, meal-prep, and restaurant kitchens that plan work from menus and guest counts. Not a POS and not an online-ordering system.

Next section: Who this is for

Who this is for

Built for the kitchen where the person who quotes the job also cooks it.

Catering, meal prep, special dinners, and changing menus, whether you run a catering-only kitchen or a restaurant too. You price work that changes, buy for dates and guest counts, and need the plan to move when the event moves.

And plainly, where it stops.

Three requirements need a different setup. See the fullproduct comparison before you decide.

LIMITS · THREE REQUIREMENTS

  • You need several locations to see their own shelves

    One subscription covers one kitchen. There is no per-site inventory and no roll-up across sites.

  • You need lot tracking for FSMA 204

    CostCook does not provide the lot tracking a facility under a traceability rule needs.

  • You need a permission grid for a big team

    Owner and manager roles gate setup. Beyond that there is no per-screen control, so you cannot hand over the prep list and keep someone out of the costs.

Next section: What else is in it

What else is in it

Four more areas, and where each one stops.

The label numbers, the paperwork coming in, Sage, and who on your crew can do what. All four are in the app today, and each one says what it does not do.

Nutrition estimates and printed sheetsCalculated from your recipes; not a retail-label compliance claim

Nutrition facts

The numbers on the label, from the recipe you already costed.

A meal-prep kitchen is asked for calories and protein before it is asked for a price. CostCook computes the fifteen numbers an FDA panel carries, per portion, from the lines that already cost the dish.

How the fifteen numbers are arrived atFive steps, from the supplier record to the printed sheet
  1. Calories and protein, per portion.

    The four a customer asks for sit at the top of every recipe. The other eleven sit under them.

    • 339 calories
    • 22 g protein
    • 48.1 g carbs
    • 7 g fat
  2. From USDA profiles, matched by you.

    Each ingredient is matched once to a USDA FoodData Central record, and sub-recipes roll up to the dish.

    • USDA profile
    • Matched by you
    • Used everywhere
  3. Partial is said out loud.

    A profile missing a value leaves the row blank instead of counting it as zero. An incomplete dish is never totalled as a complete one.

    • Missing stays blank
    • Partial stays partial
  4. Print it from the recipe.

    Print nutrition label opens a sheet your browser puts on label stock, with your kitchen name at the top.

    • Panel
    • Ingredients
    • Allergens
    • Printed time
  5. Allergens ride along, with evidence.

    Fourteen-allergen tagging per ingredient, recorded only from evidence. A recipe with unreviewed ingredients says so, and no screen ever claims allergen-free.

    • Supplier record
    • Package label
    • Kitchen review
The printed label, from this recipeOne 297 g Chicken Burrito Bowl, captured from the live demo

RECIPE NUTRITION

The printable nutrition label sheet for Chicken Burrito Bowl from Maple and Main Catering. The complete per-portion Nutrition Facts panel shows 339 calories, 7 grams total fat, 3.5 grams saturated fat, 0 grams trans fat, 50.5 milligrams cholesterol, 561 milligrams sodium, 48.1 grams carbohydrate, 3.9 grams fiber, 6 grams total sugars, 0 grams added sugars, 22 grams protein, 0 micrograms vitamin D, 199 milligrams calcium, 2.6 milligrams iron, and 680 milligrams potassium. The sheet also lists the ingredient, Contains: Milk, Soy, USDA FoodData Central 2704502, and the calculated-estimate disclaimer.
Captured from the live CostCook demo on 2026-08-29. A 297 g Chicken Burrito Bowl, on USDA FoodData Central branded record 2704502, with milk and soy confirmed.

What it is not.

  • The estimate is not a retail-label compliance claim, and the printed sheet says so.
  • CostCook detects, it never certifies. Halal and kosher can only ever come back as a check. Slaughter and certification are facts the app cannot see.
  • The ingredient statement is in recipe order, not a regulatory weight order.
  • A label printer integration is being built and carries no date. Today the sheet prints from the browser.

Every line of it is on the feature list, with the one Coming thing marked. Nutrition facts, area by area.

Bring in invoices and recipesUpload, review and approve; correct anything missing

Invoices and price lists

Upload invoices. Check the prices before they change.

All of this runs on what your food costs this week, so something has to get the price board, the order guide and the invoices in. Review what was read before approving changes.

See how uploads are reviewedPhotograph, PDF or doc, spreadsheet, pasted text
A photograph, document, spreadsheet or pasted text enters one review queue. The queue lists differences, quotes unclear text and waits for your confirmation.

Four ways in

  • Photograph it
  • Drop the PDF or the doc in
  • Upload the spreadsheet
  • Paste the text

One review queue

Nothing written yet
  • Differences listedWhat changed stays visible.
  • Unclear text quotedThe source is shown, not guessed.
Your gateYou confirm

What comes back is a list to look at, not a catalog that changed behind you.

The awkward invoice you would rather key in by hand is still a supported way to do it. Reading the paper is the fast part. Saying yes to it is yours.

Ask Sage about your kitchenAnswers show their sources; changes wait for approval
SageAvailable now

Ask your kitchen a question. See where the answer came from.

Sage reads the records you already keep in CostCook and answers in plain lines that carry their source.

SAGE ANSWER · SOURCE LINKED

A Sage answer. You asked: which ingredient prices went up recently? Sage: Calculated, cucumber from Coastline Produce rose by 37.5 percent. Confirmed, the price went from $24.00 to $33.00. Confirmed, this change was found across 2 purchases, last seen on 2026-08-26. Where this came from: ingredient, cucumber, $24.00 to $33.00, with a link to the record.
A different kitchen from the wedding in the tour: cucumber rose from $24.00 to $33.00 across two linked purchases.
Your recordsRead recordsAnswers keep their source.
A proposalPrepares a proposalNothing changes yet.
YouApprove or discardThe final say stays human.
Questions you can ask, including during setupSee examples and how to return to setup

Ask about the work ahead.

Each answer stays within the records your role can read.

  • Run the shiftAttention, orders, prep and receiving follow-ups for a date.
  • Check a recipeSearch, cost, nutrition and reviewed allergen facts.
  • Check stock and buyingBelow-par ingredients and recent price moves.
  • Finish setupProgress and the unfinished stage, for managers and owners.
  • Prepare one changeA shopping-list proposal, for a manager or owner.

ASK DURING SETUP

CostCook setup on the Ingredients stage. Progress saves after each stage, and Ask Sage is available in the setup header beside Support and Save and exit.
Sage starts from the stage and records you have. Back to setup returns you to the unfinished work.

Useful because the boundaries are visible.

What Sage can read and changeThree boundaries: evidence, access, action
Evidence

Every number has a source.

Links are built by the app, so an answer cannot cite a record it did not read.

It says when evidence is missing.

Each line is marked as from your records, calculated, Sage’s read, or missing evidence. A check that did not complete is named as one.

Access

It cannot reach another kitchen.

Sage can only use records in the kitchen account you are signed into.

It reads what your role can read.

Price moves are for managers and owners. An answer built on them is redacted for staff in a shared thread.

Action

It never changes a record on its own.

Nothing sends, buys, reprices or adjusts. The one proposal waits for a person.

It has limits, and a stop.

Sage has answer time limits and a daily usage cap. If it stops, you can continue working in the rest of CostCook.

Available now. Available while you are still setting the records up. Watch Sage at work.

Your crew and what they can seeOwner, Manager and Staff; kitchen costs stay visible to the crew

Team & access

Three roles. A short list of real boundaries.

Teammates are unlimited during launch. Post-launch teammate limits have not been announced. Everyone in the kitchen can open the costs. Owner, Manager and Staff protect specific changes; they do not hide individual screens.

OwnerBilling and protected recipe changes.
ManagerSetup, team invitations and protected price checks.
StaffRecipes, plans and costs; no owner or manager actions.

The limit: there is no custom role or per-screen permission grid. See every access boundary.

The access check, as one ticketSee who can change records and invite teammates

ACCESS CHECK · ONE KITCHEN

Actions depend on role
Yes
Hide costs from teammates
No
New invitations
Staff
Everyone can see kitchen costs. Higher roles can make protected changes.

Next section: What is still coming

What is still coming

Compare regular service and event workWhy CostCook plans by menu, date and guest count

The other tools

Your regular week and your special events are two different plans.

A restaurant can run both. Regular service may come back each week; event work moves by date, menu and guest count. CostCook is built for that changing side of the kitchen.

Two calendars drawn at the same scale. A regular service week is seven identical marks, Monday to Sunday. A special-event calendar has twelve dates, only six with a job, each a different height for a different guest count.

For event work, the unit is the job.

So the question to take to any of them is not whether it costs a recipe. They all do. It is whether forty guests added on Thursday move the shopping list, the prep sheet and the pack list, or whether that part is still yours.

Coming soon

Three additions to the plan.

None is in the CostCook you would start today, and no release date is promised. Kitchen labels, par replenishment and Spanish are not available in the launch plan.

  • Kitchen label printing

    Date and allergen stickers from the prep list are built behind a release flag and not in the launch plan, so they remain marked Coming. Nutrition sheets print from the recipe today.

    Coming soon
  • Buying that tops you back up to par

    Build the buy from the par level you set, not only from the jobs already on the books.

    Coming soon
  • Spanish

    Use CostCook in Spanish as well as English.

    Coming soon

Every shipped, Coming and No row is on the comparison page, which names them and prints the date it was checked.

Next section: Start here

Start here

Put one real order through it.

Bring the menu and guest count already on your calendar. Check the food cost, buy, prep and pack plan it gives back before you move the rest of the kitchen. Your numbers, not a sales demo’s.

What it takes first: every dish on that menu goes in once. Upload its recipe card and the invoice its ingredients came on, confirm what CostCook read, and type any line it could not. The first dish takes about fifteen minutes; the rest come in the same way.See every setup screen

What one order gives youThe inputs you bring and the four plans you inspect

One order in. Four working plans out.

You bring

  • One menuEach dish on it, from the recipe card you already use.
  • Guest countThe number on the order.
  • Current pricesOff your latest invoices, as a photo or PDF.

You inspect

  • Food costPer dish, per guest, and for the order.
  • ShoppingBy supplier, in whole packs.
  • PrepScaled batches and checks for the crew.
  • PackDishes, quantities, and equipment.

Before you hand over a card.

Three answers that should not be hidden behind the button.

How do I cancel?
The owner cancels from Settings → Billing through Stripe. No email, notice period, or retention call.
Can I take my work with me?
The whole recipe book exports as a spreadsheet. Ingredient prices do not export yet.
What happens on day 16?
Billing starts at $49/month if you did nothing, and at $0 if you cancelled first.