List every ingredient with its pack price and pack size, convert each to a cost per usable gram or piece, multiply by what goes into one portion, add packaging, then divide by your target food cost percentage to get the menu price. ChatGPT can set up the sheet and the conversions; the spreadsheet should do every sum.
A truck with eight to twelve menu items rarely needs costing software on day one. A feature list can't show you your own numbers, and your own numbers are where costing goes wrong: an ingredient's true cost can run a third or more above its pack price once trim and drained weight are counted. Build the sheet first. It tells you what to ask a paid tool to do better, and it keeps working if you never buy one.
The ingredient sheet: one row for everything you buy
Open a spreadsheet and name the first tab Ingredients. Each row is something you buy, with columns for the pack, the pack price, the usable yield and the cost per usable unit. Only the pack price and the yield are typed. The last column is a formula: pack price divided by the usable quantity, which is the pack quantity times the yield. The 14 rows below are illustrative prices for a burger-and-wraps truck, and the burger in the next section is built from them.
| Ingredient | Pack bought | Pack price | Usable yield | Cost per usable unit |
|---|---|---|---|---|
| Brioche bun | 24 buns | $14.88 | 100% | $0.62 each |
| Beef patty, 150 g | case of 40 (6 kg) | $66.00 | 100% | $1.65 each |
| Cheese slice | 120 slices | $26.40 | 100% | $0.22 each |
| Lettuce | 5 kg case | $18.00 | 75% | $4.80 per kg |
| Tomato | 6 kg case | $19.20 | 90% | $3.56 per kg |
| Pickle slices | 3 kg tub | $16.50 | 70% | $7.86 per kg |
| Red onion | 10 kg bag | $13.00 | 88% | $1.48 per kg |
| Burger sauce | 1 kg batch, made in-house | $4.10 | 100% | $4.10 per kg |
| Butter | 1 kg block | $8.00 | 100% | $8.00 per kg |
| Frozen fries | 10 kg case | $23.00 | 100% | $2.30 per kg |
| Tortilla wrap | pack of 12 | $6.60 | 100% | $0.55 each |
| Chicken thigh | 10 kg case | $95.00 | 90% | $10.56 per kg |
| Slaw mix | 5 kg bag | $9.50 | 90% | $2.11 per kg |
| Canned drink | case of 24 | $10.08 | 100% | $0.42 each |
Typing these from supplier invoices is the dull part, and it is where ChatGPT saves time. Paste the invoice lines (or upload a photo or PDF of the invoice) and ask for a table, with an instruction to flag anything unclear instead of guessing.
Below are lines from a supplier invoice, copied as text. Return a table with one row per ingredient: ingredient, pack description, pack quantity in grams or pieces, pack price, and cost per kilogram or per piece to three decimal places.
If a pack size or a price is unclear, write "check" in that cell instead of guessing, and add a short note saying why.
Lines:
BUN BRIOCHE 24CT 1 x 14.88
PATTY BEEF 150G 40/CS 1 x 66.00
LETT ICEBERG 5KG 1 x 18.00
PICKLE SLC 3KG TUB 2 x 16.50
CHICKEN THIGH BL 10KG 1 x 95.00
A reply (illustrative) looks like this. The useful part is the row it refused to guess.
| Ingredient | Pack | Pack price | Cost per kg or piece | Flag |
|---|---|---|---|---|
| Brioche bun | 24 pieces | $14.88 | $0.620 each | |
| Beef patty, 150 g | 40 pieces (6 kg) | $66.00 | $1.650 each, $11.000 per kg | |
| Iceberg lettuce | 5 kg | $18.00 | $3.600 per kg | Trim loss isn’t on the invoice |
| Pickle slices | 3 kg tub | check | check | The line says “2 x 16.50”: is $16.50 the price of each tub or of both? |
| Chicken thigh, boneless | 10 kg | $95.00 | $9.500 per kg | Trim loss isn’t on the invoice |
The pickle line is the kind of trap a human typing quickly walks straight into: "2 x 16.50" could mean two tubs at $16.50 each or $16.50 for both. Look at the invoice total, settle it, and only then let the number into the sheet. The two yield flags matter too, because no invoice tells you how much of a case of lettuce ends up on a plate.
One burger, costed ingredient by ingredient
The Recipes tab has one block per menu item: the ingredient, how much goes in one portion, its cost per usable unit pulled from the Ingredients tab, and the cost. For a cheeseburger with a 150 g patty, one slice of cheese and a handful of salad, the block looks like this.
| Ingredient | In one burger | Cost per usable unit | Cost |
|---|---|---|---|
| Brioche bun | 1 | $0.62 each | $0.620 |
| Beef patty, 150 g | 1 | $1.65 each | $1.650 |
| Cheese slice | 1 | $0.22 each | $0.220 |
| Lettuce | 20 g | $4.80 per kg | $0.096 |
| Tomato | 30 g | $3.56 per kg | $0.107 |
| Pickle slices | 15 g | $7.86 per kg | $0.118 |
| Red onion | 20 g | $1.48 per kg | $0.030 |
| Burger sauce | 25 g | $4.10 per kg | $0.102 |
| Butter | 5 g | $8.00 per kg | $0.040 |
| Food cost | $2.983 | ||
| Burger box and napkin | $0.18 + $0.02 | $0.200 | |
| Cost of one burger | $3.183 | ||
| Menu price at a 30% target | $3.183 ÷ 0.30 | $10.61 | |
| Price you set | Next price point up | $10.75 | |
| Food cost at $10.75 | $3.183 ÷ $10.75 | 29.6% |
Three formulas do all the work, and none needs ChatGPT once they are in place.
Cost per usable unit: =PackPrice/(PackQuantity*Yield)
Line cost: =Amount*CostPerUnit (divide grams by 1000 if the unit cost is per kg)
Menu price at target: =CostOfPortion/TargetPercentage
The burger costs $3.18 to make, of which 20 cents is the box and napkin. Packaging is easy to forget, because it comes from a different supplier and never appears on the food invoices. At a 30% target the formula gives $10.61, and the next price point up is $10.75, which lands the real food cost at 29.6%. If you wonder where 30% came from: Dummies' food truck pricing guide says most food service businesses target between 20 and 40%, and gives the same divide-by-the-target formula. Treat 30% as a starting assumption you test, not a law.
For a fuller walk-through of building the sheet itself in a restaurant kitchen, a recipe costing spreadsheet built with ChatGPT covers the layout in more detail. The truck version differs in three ways: the menu is short, many ingredients are shared between items, and packaging is a real share of the cost. If the formulas themselves are the sticking point, how to use ChatGPT to write Excel formulas has worked examples.
Trim, drained weight and why the pack price misleads
The unit costs above divide by yield, which is the share of what you buy that reaches a plate. A case of lettuce loses its outer leaves and cores, a tub of pickles is part brine, and a case of chicken thighs loses fat and gristle. Pricing from the pack weight alone understates the real cost, as these three rows show.
| Ingredient | Usable yield | Pack price per kg | Per usable kg | Portion | Naive cost | True cost | True cost is higher by |
|---|---|---|---|---|---|---|---|
| Lettuce | 75% | $3.60 per kg | $4.80 per kg | 20 g | $0.072 | $0.096 | +33% |
| Pickle slices | 70% | $5.50 per kg | $7.86 per kg | 15 g | $0.082 | $0.118 | +43% |
| Chicken thigh | 90% | $9.50 per kg | $10.56 per kg | 140 g | $1.330 | $1.478 | +11% |
Lettuce and pickles are tiny amounts, so the effect on the burger is small: leaving yield out of its four fresh ingredients understates the burger by about 7 cents, or 2.3%. Chicken is the one that bites, because the portion is large and the yield loss is real: the wrap would be about 15 cents cheaper on paper than in the bin. Multiply that by every wrap sold in a month and it is the difference between a menu that looks healthy and one that is.
Measure yield instead of copying it from a chart. Weigh a case, prep it exactly as you would for service, then weigh what you would put on plates. Divide the second weight by the first. Do it once per ingredient and again when you change supplier or cut. Keep a short note on the row about when you measured it, because yield drifts with a new knife or a new cook.
From cost to menu price: the target is a ceiling, not the price
Run the same block for every item and the menu tab fills itself. The column that matters is the last one: what is left from each portion after the food and packaging are paid for.
| Item | Cost per portion | Price at a 30% target | Price you set | Food cost at that price | Left per portion |
|---|---|---|---|---|---|
| Cheeseburger | $3.18 | $10.61 | $10.75 | 29.6% | $7.57 |
| Chicken wrap | $2.56 | $8.52 | $9.50 | 26.9% | $6.94 |
| Fries | $0.63 | $2.11 | $4.50 | 14.1% | $3.87 |
| Loaded fries | $1.26 | $4.21 | $7.50 | 16.8% | $6.24 |
| Can of drink | $0.42 | $1.40 | $2.50 | 16.8% | $2.08 |
Read the price columns as a floor and a decision. The "price at a 30% target" column is the lowest price that keeps that item at or under your ceiling. The burger and the wrap sit close to it, so their prices are doing real work. Fries, loaded fries and drinks are priced far above their floor. Pricing a $0.63 portion of fries at $2.11 because a formula says so would be a mistake when customers will pay $4.50, and that extra margin helps to pay for the burger's thin one. So set each price by what the customer will pay, check it clears the floor, and then check the blended percentage across everything you sell, which is what the weekly figures below do.
The price also has to survive card fees, fuel and the cost of the pitch, none of which are in a food cost sheet. Those belong in pricing a food truck menu after fees, fuel and pitch costs. Once prices are set, menu engineering with AI shows which dishes to promote, reprice or drop using the margin per portion from this table.
Let ChatGPT hunt for what the sheet forgot
Having built the sheet, hand it to ChatGPT with a different job: find holes. Paste the Recipes tab as text and ask for omissions, not rewrites.
Here is my food cost sheet for a food truck selling cheeseburgers, chicken wraps, fries, loaded fries and canned drinks, as tab-separated text. List only problems, in this order: (1) costs a truck normally has that are missing, (2) places where one unit is used for two things (grams in one row, kilograms in another), (3) numbers that look implausible for the item, (4) any ingredient used in a recipe but absent from the Ingredients tab.
Do not change any figure and do not suggest prices.
A useful reply (illustrative) has four items. Frying oil, topped up between services, has no ingredient row, only 8 cents per portion typed in by hand, so note where that number came from. The burger sauce is priced at $4.10 a kilogram but has no recipe of its own, so a change in mayonnaise cost would never reach the burger. The drinks have no ice line for the days they are served from a cooler. And the loaded fries recipe uses 220 g of fries while the side uses 180 g, which is intended but deserves a note so nobody "corrects" it. Each takes a minute to fix. The sauce one is the most valuable: give it its own mini-recipe, so the burger and the wrap both inherit its price.
Beef up 12%: what one invoice does to the menu
The payoff of a sheet is how fast it answers "what if". Suppose the next invoice shows beef up 12%. Change one cell, the pack price of the patties, and everything downstream moves: a patty that cost $1.65 now costs $1.85, which is $0.20 more. The burger rises from $3.18 to $3.38. At the current $10.75 price its food cost climbs from 29.6% to 31.4%, above the 30% ceiling. Holding 30% would need $11.27, so the next price point up, $11.50, brings it back to 29.4%.
Two more numbers make the decision concrete. At 310 burgers a week the beef rise costs about $61 a week if you change nothing. And a 75 cent price rise only pays if the volume holds; the sheet can't tell you that, so watch the burger count for two weeks after the change. If it falls sharply, the better answer may be a smaller patty or a cheaper cut, and that is a conversation with your customers' appetite, not a spreadsheet.
A fifteen-minute Monday routine for keeping prices current
A costed menu that isn't refreshed goes stale within weeks, which is why the routine matters more than the template. On the day your main invoices arrive, paste the lines into ChatGPT with last week's Ingredients tab and ask only for changes.
Compare this week's invoice lines with last week's Ingredients table (both pasted below). List every ingredient whose cost per kilogram or per piece changed by more than 5%, with the old cost, the new cost and the percentage change. Then list which menu items use each flagged ingredient. Do not change any prices or recipes, and write "check" for any line you can't match.
A reply (illustrative) flags chicken thigh at $95.00 to $104.50 a case, up 10%, and names the wrap. You type the new price, and the wrap's cost moves by $0.15 to $2.70, so its food cost goes from 26.9% to 28.5%. Nothing else changed by more than 5%, so everything else stays. The whole exercise is ten to fifteen minutes: paste, read the flags, retype two or three numbers, glance at the menu tab. Reprice only if the blended food cost sits above your target for a couple of weeks; chasing every small move trains regulars to expect a changing menu board.
Theoretical against actual: the gap a recipe sheet can't see
The sheet tells you what food should cost. Your invoices and your stock counts tell you what it did cost, and the difference between the two is where money leaks. Theoretical food cost is each item's recipe cost multiplied by the number sold, added up. Actual food cost is opening stock plus purchases minus closing stock. MarketMan's own guide to the gap (August 2026) puts a variance under 2 to 3 points as healthy and 5 or more as worth investigating. The two figures will never match exactly, and a stock count is only trustworthy when it is taken with the truck closed, before prep starts or after the last service.
Here is an illustrative week for the menu above. The sales mix comes from your point-of-sale report, and the recipe costs come from the Recipes tab.
| Item | Sold | Recipe cost each | Theoretical cost | Sales |
|---|---|---|---|---|
| Cheeseburger | 310 | $3.183 | $986.73 | $3,332.50 |
| Chicken wrap | 140 | $2.556 | $357.84 | $1,330.00 |
| Fries | 380 | $0.634 | $240.92 | $1,710.00 |
| Loaded fries | 120 | $1.263 | $151.56 | $900.00 |
| Can of drink | 290 | $0.420 | $121.80 | $725.00 |
| Total | $1,858.85 | $7,997.50 |
Theoretical food cost is $1,858.85 on sales of $7,997.50, or 23.2%. It is lower than the 30% ceiling because fries and drinks carry so little cost. Now count stock: $1,240 at the start of the week, $2,205 of purchases, $1,190 left at the end. Actual food cost is $1,240 + $2,205 − $1,190 = $2,255, which is 28.2% of sales. The gap is $396, or 5.0 points, which is just under MarketMan's investigate line.
The recipe sheet can't tell you why. Weighing and logging for one week can, and it rarely closes the gap completely, as this illustrative breakdown shows.
| Where the gap came from (illustrative) | Evidence | Amount |
|---|---|---|
| Fries scoops 25 g over the recipe | 500 portions × 25 g × $2.30 a kg, after weighing 20 scoops | $29 |
| Chicken portions 18 g over | 140 wraps × 18 g × $10.56 a kg, after weighing 20 portions | $27 |
| Waste nobody logged on a wet Thursday | Buns, slaw and cooked chicken in the bin | $120 |
| Staff meals rung up as nothing | About 15 meals at roughly $3.50 of food each | $52 |
| Still unexplained | Counting error, theft or another leak; keep watching | $168 |
| Total gap | $396 |
Two of those rows are portion control, fixed with a scoop that holds 180 g instead of "about a scoop". One is waste, fixed by writing it down at close. One is staff meals, fixed by ringing them up at cost. The $168 left over is the honest part: some of it will always be counting error, and the aim is to watch the trend, not to reach zero. If you want a quicker way to count, building tomorrow's prep list from yesterday's sales uses the same recipe sheet to turn sales into ingredient quantities.
What costing software adds, and the sum that decides
Everything above works in a spreadsheet. Costing software earns its fee by doing three jobs for you: reading invoices into ingredient prices, repricing every recipe when a price changes, and producing the actual-versus-theoretical report from your sales and counts. Two of the better-known vendors publish USD prices. At the time of writing, meez's pricing page lists Starter at $19 a month billed annually (unlimited recipes and basic costing on two devices), Pro at $89 (adds inventory management) and Premium at $179 (adds invoice processing and a costing feed), with a 14-day trial. MarketMan's pricing page lists Starter at $249 a month with real-time recipe costing, actual-versus-theoretical reporting, waste logging and 50 AI-read invoice scans a month. Prices change, so confirm both.
The sum that decides is what one percentage point of food cost is worth to you. A truck selling about $8,000 a week sells about $34,667 a month, so one point of food cost is about $347 a month. A tool has to move your food cost by at least its price divided by that figure, or save you that much time, to pay for itself.
| Option | Monthly price | Food cost must fall by | What it includes |
|---|---|---|---|
| A sheet plus ChatGPT | $0 | – | Free to about $20 a month if you want a paid ChatGPT plan; about 15 minutes a week of your time |
| meez Starter | $19 | 0.05 points | Billed annually; unlimited recipes, basic costing, 2 devices |
| meez Pro | $89 | 0.26 points | Billed annually; adds inventory management |
| meez Premium | $179 | 0.52 points | Billed annually; adds invoice processing and a costing feed |
| MarketMan Starter | $249 | 0.72 points | Real-time costing, actual-versus-theoretical reporting, waste logging, 50 AI invoice scans a month |
The cheap tools clear the bar easily on paper, which is why the real question is whether you will use the features. MarketMan Starter needs your food cost to fall by about 0.7 of a point, which is realistic if its actual-versus-theoretical report finds a leak like the one above, and unlikely if you never open the report. A tool also can't fix portioning for you.
Here is a rule I'd use. Stay on the sheet while you have a short menu, one supplier invoice a week and no more than about fifteen minutes of weekly upkeep. Start a free trial when prices move faster than you can retype them, when invoices arrive in volume, or when you want the weekly gap report without building it. During the trial, load the same burger and compare its cost with your sheet's $3.18; if the tool disagrees, find out why before you trust it. For a wider look at which point-of-sale features are worth paying for, see food truck POS features that pay off.
Food truck costing: what owners ask next
What food cost percentage should a food truck aim for?
Published guides commonly describe 20 to 40% as the range most food businesses target, with the middle of that band the usual starting point. Your own figure depends on labour, pitch fees and card fees, so set a target, cost every item, and check the blended percentage across what you actually sell rather than pricing each item to the same number.
Can ChatGPT read supplier invoices for me?
It can turn pasted invoice text, or a photo or PDF you upload, into a table of pack sizes and prices. Treat the result as a draft: abbreviations and lines such as 2 x 16.50 are easy to misread, and trim loss isn't on any invoice. Check each row against the paper before the numbers enter your sheet.
How often should I update ingredient prices?
Weekly is enough for most trucks, done on the day your main invoices arrive. Flag any ingredient that moved by more than about 5%, see which menu items it touches, and reprice only when the blended food cost drifts above your target for more than a couple of weeks.
Do I need costing software if I only have eight menu items?
Probably not at first. A short menu with a weekly sheet update takes minutes. Software starts to earn its fee when prices change faster than you can retype them, when invoices arrive in volume, or when you want actual-versus-theoretical reports without building them by hand.
Further reads
- AI in Hospitality Management: Catch Supplier Price Creep on Invoices — Catch supplier price creep before it reaches your menu.
- Street Food Stall Business Plan: Pitch Fees, Margins and Stock With AI — Fold your costed menu into a street food plan.
- Restaurant Menu Price Increase: Test Each Change by Dish With AI — Test a price rise one dish at a time.
- How Can a Coffee Shop Use AI? Start With Supplier Prices — Supplier prices feeding menu costs, from the café side.
- How Food Trucks Can Use AI to Plan Stock, Pitches and Posts — More ways a truck can use AI across a week.
- How to Price Catering: A Cost-per-Person Sheet With AI — Costing per head for private events and catering jobs.
- Can AI Write a Business Plan for a Food Truck? A Worked Example — A worked food truck plan: AI drafts the text and formulas, you verify menu costs, pitch fees, loan terms and break-even before a lender or organiser sees it.
- Food Truck Booking Software: Screen Private-Event Requests With AI — Seven answers to collect from every private-event enquiry, three AI prompts to screen and quote them, and when booking software earns its fee.
- Food Truck Ordering App: Pre-Orders, Pitches and Where AI Helps — Compare Square, Toast and food-truck platforms on pre-order slots, location sharing and fees, then see where AI helps and what an app will never do.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Dummies' 'Menu Pricing Methods for Your Food Truck Business' (target range and price formula); MarketMan's 'Actual vs. Theoretical Food Cost: How to Find the Variance' (26 August 2026); the meez and MarketMan pricing pages, read in October 2026. All ingredient prices, portions and weekly figures are invented for illustration.