AI Food Menu Generator: Build a Seasonal Menu From Your Supplier List

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Food Menu Generator: Build a Seasonal Menu From Your Supplier List.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Food Menu Generator: Build a Seasonal Menu From Your Supplier List.

Paste your supplier sheet (item, pack size, price, availability dates) into ChatGPT and ask for dish ideas using only those items. Then cost each dish on a plate-cost card in a spreadsheet, not in the chat, using edible yield and a sundries allowance. Run an allergen check against supplier specifications before printing.

Most menu generators start from a cuisine and a mood, and produce dishes your suppliers cannot deliver at a price you can charge. Reversing the order fixes that: start from what you can buy this month, at what cost, and ask for dishes that fit. The AI is good at combining ingredients into plausible plates. It is unreliable at sums and at allergens, so this tutorial gives those two jobs to a spreadsheet and to you. Wording the finished dishes is a separate step, covered in writing menu descriptions with AI.

Follow me on Instagram@sagnikteaches

Prepare the supplier sheet the AI will read

The quality of the dishes depends on the sheet. A photo of a delivery note will not do; you need a clean table with the facts that drive both creativity and cost. Gather one row per item from your suppliers' price lists and your last invoices.

Connect on LinkedInSagnik Bhattacharya
ItemPack and unitPrice per kg or litreEdible yieldAvailableSupplier
Butternut squash10 kg box$1.6080%Oct to FebVeg supplier
Lamb rump2 kg vac pack$34.0085%All year, price peaks springButcher
Hake fillet5 kg box$16.5090%Subject to catch, confirm TuesdayFishmonger
Arborio rice5 kg bag$3.20100%All yearDry goods
Kale2 kg bag$4.8075%Oct to MarVeg supplier
Hard cheese1 kg wedge$22.00100%All yearDairy

Two columns are easy to skip and costly to omit. Edible yield is the share of what you buy that ends up on the plate after trimming, peeling and cooking loss. Skipping it makes every vegetable and cut of meat look cheaper than it is. Availability tells the AI which dishes belong in which weeks and prevents it designing a plate around an item that disappears in two weeks. Add a "last updated" date to the sheet, because prices drift.

Subscribe on YouTube@sagnikteaches

If your suppliers send prices as PDFs or emails, you can ask ChatGPT to turn them into this table. Check the result against the original for the three or four items that matter most, because a misread decimal point will carry into every dish that uses the item.

Step 1: ask for dishes from what you can actually buy

Now the prompt. Give the AI the sheet, the kitchen's limits and the menu's shape. The constraints do the work, because "creative freedom" is what produces dishes you cannot cook on a Friday night.

You are helping a head chef plan a seasonal menu for a 40-cover
restaurant. Use ONLY the ingredients on the supplier sheet below, plus
pantry basics (salt, pepper, oil, butter, flour, stock, wine, herbs
I already grow). Do not use anything else.

Menu shape: 4 starters, 5 mains, 3 desserts. At least 2 mains
vegetarian, 1 vegan, 1 dairy-free. One protein per main.
Kitchen: 2 chefs on service, 1 oven, 4-burner hob, no deep fryer.
Prep limit: no dish with more than 20 minutes of a la minute work.

For each dish give: name, 1-line description, ingredients per portion
in grams or millilitres (mark all as ESTIMATES), which sheet items it
uses, and the weeks it can run based on availability.
Flag any dish that depends on an item marked "confirm".

SUPPLIER SHEET: [paste table]
EXISTING DISHES I KEEP: [list, or none]

The "ESTIMATES" label matters. The AI will give you per-portion quantities that sound precise but are guesses. You will replace them with your own tested portions, so treat them as a starting point. The prep limit and equipment lines stop it proposing a deep-fried dish to a kitchen without a fryer.

A typical return, trimmed (illustrative):

MAIN 2 - Roast squash and sage risotto (vegetarian)
Uses: butternut squash, arborio, hard cheese, kale
Per portion (estimates): rice 90 g, squash 150 g purchased, stock 250 ml,
cheese 25 g, butter 15 g, sage 2 g, wine 40 ml
Weeks: Oct to Feb
Prep: 15 min a la minute (finish risotto to order)

MAIN 4 - Lamb rump, potato, greens, jus
Uses: lamb rump, potatoes, kale
Per portion (estimates): lamb 180 g trimmed, potato 150 g, kale 80 g
Weeks: all year; watch the lamb price in spring

Expect some dishes to be unusable. Cross out any that need an extra stock item, need two chefs on one dish or break a dietary rule. A first run usually gives two or three keepers out of the twelve. Ask for a second round with those removed and a note on why, which tunes the output to your kitchen.

Step 2: build the plate-cost card in a spreadsheet

A plate-cost card is a one-page costing for one dish: every ingredient, its quantity per portion, its cost per unit, the edible yield, and the resulting cost per plate. Build it in a spreadsheet, one tab per dish or one table with a dish column, so the sums are done by formulas and update when a price changes.

Ask ChatGPT for the layout and the formulas, not for the numbers:

Design a plate-cost card spreadsheet. Columns: dish, ingredient,
purchase price per kg or litre, edible yield %, quantity per portion
(g or ml, edible), purchase quantity needed, cost per portion.
Give me the formulas for the last two columns, a subtotal per dish,
a 5% sundries line, total plate cost, target food cost %, suggested
menu price, and actual food cost % at the chosen price.
Show cell references for Google Sheets.

The key formulas are short. Purchase quantity needed equals the edible quantity divided by the yield. Cost per portion equals the purchase quantity times the price per gram. The sundries line covers oil, salt, garnish and small items you do not weigh each time; 3 to 5 per cent is a common allowance, but use what your own waste data supports. If you need help setting up the spreadsheet itself, building a recipe costing spreadsheet with ChatGPT goes deeper on the build.

Worked example: two dishes, two different pricing problems

Say the 40-cover restaurant costs its two candidate mains. All figures are illustrative.

Roast squash and sage risotto. Edible quantities per portion: rice 90 g at $3.20/kg is $0.29; squash 120 g edible, bought as 150 g at 80% yield, at $1.60/kg is $0.24; onion $0.05; stock 250 ml at $1.80/L is $0.45; hard cheese 25 g at $22/kg is $0.55; butter $0.14; sage $0.08; oil $0.08; wine 40 ml at $9/L is $0.36. Subtotal $2.24 plus 5% sundries gives about $2.35. To hit a 30% food cost the sum says $7.83, which no guest would expect to pay in a restaurant. The market, not the formula, sets this price: at $15, food cost is about 16%, and the dish carries other lines on the menu. That is the useful lesson. A cheap vegetarian main earns margin; do not price it by cost alone.

Lamb rump. The portion is 180 g trimmed; bought at 85% yield that is about 212 g at $34/kg, or $7.20. Potato $0.21, greens $0.40, jus $0.60 and butter and oil $0.25 take the plate to $8.66, and 5% sundries brings it to about $9.09. At a 32% target the price would be $28.40. If the room will not pay more than $26, food cost is 35%. You now have a real decision with real numbers: raise the price, cut the portion to 160 g (saving about $0.80), swap to a cheaper cut, or accept a thinner margin on a dish that sells the rest of the menu. The AI can model each choice quickly if you give it the card.

Ask for that comparison as a table of options, then check each figure against the spreadsheet. You will find that most pricing problems on a menu sit in two or three proteins, which is where a supplier conversation pays most.

Step 3: check the allergens before anything is printed

AI is helpful as a second pair of eyes here and dangerous as the first. Use it to list the allergens each dish probably contains from the ingredients, and use your own records to confirm them. The assistant does not know that a stock cube contains celery, that a brand of sausage has wheat rusk or that your fryer oil is shared.

A workable routine:

  1. For each dish, list every ingredient including stock, sauces, spice mixes, bread and garnish, using the supplier's specification sheet.
  2. Ask the AI to flag the allergens it expects, from the allergen list that applies to your business, and to say what it could not judge.
  3. Compare with the supplier sheets yourself. Any disagreement goes to the chef, not to a second AI query.
  4. Record the confirmed allergens against the dish, with the date and the supplier product code.
  5. Re-check whenever a supplier or brand changes, and before every reprint.

A realistic miss: the AI marks the risotto as containing dairy and sulphites but not celery because stock was listed as "stock". The chef's own spec sheet says the bouillon contains celery. The AI cannot know that, which is why the supplier sheet, not the chat, is the source of record. For printing the labels once confirmed, see AI menu allergen icons and dietary labels before you print, and for why a chatbot should not answer customers' allergen questions at all, read should an AI chatbot answer allergen questions. Legal duties on allergen information differ by place, so check the rules that apply to you.

More examples of the supplier-first method

A fish price jumps. The fishmonger's hake goes from $16.50 to $21 a kilo. Update the sheet, and the plate-cost card shows the dish moving from 29% to about 33%, because the fish is roughly half of that plate's cost. Ask the AI for two alternative dishes using the cheaper white fish on the list with the same sides. The kitchen keeps its structure and changes one ingredient, instead of relaunching the menu.

A glut deal. The vegetable supplier offers kale at half price for two weeks. Paste the offer into the sheet with an end date and ask for three dishes or specials that use kale in volume, within the kitchen limits. The result becomes a two-week special rather than a permanent line.

A small bakery-café. It has a short supplier list: flour, butter, eggs, seasonal fruit. Feed the sheet in and ask for a four-week rotation of fruit-led bakes with a plate cost for each slice and a note of which weeks the fruit is in season. The same approach works for a deli board.

A caterer quoting for 120 guests. The sheet shows what can be delivered on the event date; the AI drafts a three-course menu, and the plate-cost card, multiplied by guest numbers and a waste allowance, produces a food cost line for the quote. For a longer rotation with costs and allergens in a food-service setting, this four-week menu cycle tutorial works through it.

A coffee shop adding a seasonal drink. Syrups, milk, a garnish and cup cost make a cost per cup. Starting a coffee shop's AI work from supplier prices covers the drinks side.

A filled-in plate-cost card

Here is the risotto from the worked example as it would sit on the card, so you can see the columns working together. The figures are illustrative.

IngredientPrice per kg or litreYieldEdible per portionBought per portionCost
Arborio rice$3.20100%90 g90 g$0.29
Butternut squash$1.6080%120 g150 g$0.24
Stock$1.80100%250 ml250 ml$0.45
Hard cheese$22.00100%25 g25 g$0.55
Wine$9.00100%40 ml40 ml$0.36
Other (onion, butter, sage, oil)varies---$0.35
Sundries at 5%$0.11
Plate cost$2.35

Notice that every number on it is something you can verify: a price from an invoice, a yield from a test, a portion from a scale. The AI helped create the layout and the dish; it does not own any of the figures. When a price changes on the supplier sheet, the card updates and the food cost percentage at your chosen price moves with it. That is the real benefit of building the card in a spreadsheet instead of a chat window.

Use the AI to prepare the supplier conversation

Once the cards are built you will see which three or four ingredients drive most of the plate cost. Those are the ones worth a conversation. Paste the card summary into the assistant and ask for a short list of questions to put to each supplier: can they hold the price for four weeks, is there a cheaper grade that works for this dish, are there a regular surplus or end-of-season deals, and what is the lead time for a substitute if an item fails to arrive. Ask it to draft a brief, polite email to each supplier, then edit the email in your own voice and send it yourself.

Do not paste confidential contract terms or another supplier's quote into a public tool. Share only what you are comfortable sharing, and check your plan's data settings. The email is a draft; negotiating is a human job, and suppliers deal with owners, not with assistants.

A weekly rhythm that keeps the menu honest

Seasonal menus drift because prices and availability do. A twenty-minute weekly routine keeps costs honest. On a set day, update the supplier sheet with any price that has moved and any item that has gone off the list. Look at the cards for the dishes that use those items and note any plate that has crossed your upper limit. Ask the assistant for substitutions or a special that uses what is cheap, within the same prompt limits. Decide whether to absorb the change, reprice or swap. Then record what you did and the date. After six weeks you will have a picture of which items move most and which dishes are fragile, which is the evidence for choosing the next seasonal menu.

Where it goes wrong, and how to catch it

The invented ingredient. The AI adds "truffle oil" or "pomegranate molasses" because they suit the dish, though they are not on the sheet. Catch it by running a check prompt: "List any ingredient in these dishes that is not on the supplier sheet or the pantry list."

On the twelve-dish draft from Step 1, a typical answer (illustrative) reads: "Starter 3 uses pomegranate molasses; Main 4 jus assumes red wine and veal stock; Dessert 2 uses double cream, which is not on the dairy list." Each line needs a different decision. The molasses goes, because nobody supplies it and the dish works with a squash-and-sage glaze instead. The jus stays, but wine and stock join the sheet with real prices so the lamb card counts them. The cream is a genuine gap: either add it to the dairy order and re-cost the dessert, or swap to a fruit compote from the produce list. Ten minutes of this check stops a missing ingredient surfacing on the first Friday of service.

The silent yield. If you do not give edible yields, the AI assumes 100%, and every dish looks cheaper. Catch it by checking that each fresh item on the card has a yield, and by weighing a real prep batch once to confirm.

The out-of-season week. A dish runs after the squash stops arriving. Catch it by keeping the availability column and giving each dish an end date on the menu plan.

The stale price. A card built from last month's prices makes a loss on this month's plate. Catch it by dating the sheet and re-pricing the five costliest items before each reprint.

The unrepeatable dish. The AI writes a plate that tastes right on paper but cannot be made consistently by two cooks. Catch it by cooking each new dish twice, weighing portions, and adjusting the card with what you actually plated.

Test cooking, tasting and final price sign-off

Before printing, cook every new dish at least twice, with different cooks if possible. Weigh the portions as plated and correct the card. Taste against your own standard, because the AI has no palate and its "pairings" are pattern-matching. Then set prices with three numbers side by side: the cost-based price from the card, what comparable dishes sell for in your market, and what your regulars will bear. Decide each price yourself. The plate-cost card tells you what a dish costs and what a price earns; the menu price is a business judgement.

Keep the cards. A year of dated plate-cost cards shows which suppliers drift, which dishes carry the menu and which should go. And if you would rather talk the supplier-sheet setup through with someone, that is what my AI implementation consultation covers, at the contact page.

Questions chefs and owners ask about AI-built menus

Should I trust ChatGPT's arithmetic for plate costs?

Not for figures you will price from. Language models can slip on multi-step sums. Ask it to lay out the costing table and the formulas, put the numbers into a spreadsheet, and let the spreadsheet calculate. Spot-check two dishes by hand with a calculator.

Can the AI tell me which allergens a dish contains?

It can list likely allergens from the ingredients you give it, which is useful as a prompt for your own check. It cannot see the supplier's product spec, the sauce base or cross-contact in your kitchen. Confirm every ingredient against supplier allergen data before the menu is printed.

How often should I update the supplier sheet?

Update prices and availability before each menu change, and spot-check weekly for any item that moves a lot, such as fish, dairy and fresh produce. Add the date to the sheet so you know how old a cost is when you reprint.

What food cost percentage should I aim for?

There is no single right figure; it depends on your style, labour and location. Many kitchens work from a target somewhere around 28 to 35 per cent for the menu as a whole, with some dishes below it and some above. Set your own from your costs and what guests will pay.

Further reads

Sources: general kitchen costing practice (plate cost, edible yield, food cost percentage); allergen duties vary by place, so check your local rules and supplier specification sheets. No vendor prices are quoted.

Want your menu costing to run from your supplier sheet?

On a 1:1 call we can look at how you receive supplier prices today and set up a sheet and prompts that draft dishes and update plate costs each time the list changes.

Book a 1:1 call with me