Put both suppliers' price lists in one sheet with pack sizes split into numbers, convert every line to a cost per kilo, litre or each, and have an AI flag the cheaper supplier, plus any cheaper line that is a different product. Then give it par levels and counts to draft each weekly order, which you check and send yourself.
Unit price is only the start. Minimum orders, delivery fees and pack sizes can reverse a winner, and "cheaper" means nothing if the product is a different spec. Square's Order Guide, which Square's releases page labels beta, does the price comparison inside Square for eligible plans, and its help page says building purchase orders is still to come. The sheet method below works with any POS and covers drafting the order too. I use kilos and litres; swap in pounds and gallons if that is how your suppliers quote, as the method is identical.
Build one sheet both price lists can feed
The sheet has one row per item per supplier, and the columns are the whole trick. Pack sizes arrive as text ("6 x 2.5 kg") that a spreadsheet cannot calculate with, so split every size into numbers: how many units in the pack, how big each is, and the unit. Add the price, the date you got it, and the supplier's description exactly as written, because the description is where the spec lives.
| Column | Holds | Example |
|---|---|---|
| Item | Your own plain name, identical for both suppliers | Butter, unsalted |
| Supplier | A or B | B |
| Description | As the supplier writes it; grade, cut, state | BTR UNSLTD 20X250G |
| Pack count and size each | Two number columns | 20 and 0.25 |
| Unit | kg, L or each | kg |
| Pack price and price date | What you pay for one pack, and when you were quoted | $52.00; the quote date |
| Total per pack, cost per unit | Formulas | 5 kg; $10.40 per kg |
Four formulas do all the arithmetic, and putting them in the sheet instead of asking an AI for numbers each time means the results are visible and repeatable. With pack count in column D, size in E, pack price in G, need in K, and the other columns filled in your own way:
Total per pack (I2) = D2*E2
Cost per unit (J2) = G2/I2
Packs to order (L2) = ROUNDUP(K2/I2,0)
Order cost (M2) = L2*G2
Keep the suppliers' terms in a small separate table: delivery days, order cut-off, minimum order, delivery fee and the order value above which delivery is free. You will need all of them in a minute. Ask an AI to write the formulas if you prefer, but check one row by hand, as in the next sections.
Turning a messy price list into rows
Price lists come as PDFs, spreadsheets and emailed pictures, usually in supplier shorthand. This is where an AI saves the most time, because it reads "CHKN THGH B/I S/ON 10KG CS" as chicken thigh, bone-in, skin-on, one 10 kg case.
| As the supplier writes it | Count | Size each | Unit | Pack price | Per unit |
|---|---|---|---|---|---|
| CHKN THGH B/I S/ON 10KG CS | 1 | 10 | kg | $62.00 | $6.20 |
| BTR UNSLTD 20X250G | 20 | 0.25 | kg | $52.00 | $10.40 |
| CRM DBL 6X1LT | 6 | 1 | L | $22.80 | $3.80 |
| TOM PLUM TIN 6/2.5KG | 6 | 2.5 | kg | $27.00 | $1.80 |
Convert the supplier price list below into rows with these columns: item (plain English), description as written,
pack count, size each, unit (kg, L or each), pack price. Rules: split patterns like "20X250G", "6/2.5KG" and "CS" into count and size;
convert g to kg and ml to L; if a line is ambiguous write CHECK in the item column and say why; never guess a price.
At the end, tell me how many lines you read and how many rows you produced.
Check the output in three ways. The line counts must match. Three prices picked at random must match the list. And one multi-pack must multiply out: 20 packs of 250 g is 5 kg, not 20 kg and not 250 g. If the list is a scanned image rather than a text PDF, expect more mistakes and check more lines by hand; a clean spreadsheet or a text PDF is much safer. For general tidying of awkward supplier files, cleaning messy data with AI has the broader moves. Square's help page says its Order Guide accepts PDF, CSV and XLSX price sheets, and that invoices should not be included, which is a useful rule here too: use price lists, not invoices.
Fourteen lines, two suppliers, one weekly basket
The example restaurant buys 14 staples from two suppliers. Supplier A is a broadline distributor delivering Monday, Wednesday and Friday, with a $150 minimum, and free delivery over $300 (otherwise $25). Supplier B is a specialist wholesaler delivering Tuesday, Thursday and Saturday, with a $40 minimum, and free delivery over $200 (otherwise $18). The weekly need for each line is the par level minus today's count. All prices and terms here are illustrative.
| Item | Need | Supplier A pack and price | A per unit | Supplier B pack and price | B per unit | Order cost A / B | This week |
|---|---|---|---|---|---|---|---|
| Chicken thighs, bone-in | 28 kg | 10 kg, $62.00 | $6.20 | 5 kg, $34.50 | $6.90 | $186.00 / $207.00 | A |
| Beef mince, 80/20 | 12 kg | 5 x 1 kg, $41.00 | $8.20 | 2 x 2.5 kg, $43.50 | $8.70 | $123.00 / $130.50 | A |
| Butter, unsalted | 8 kg | 5 kg block, $47.50 | $9.50 | 20 x 250 g, $52.00 | $10.40 | $95.00 / $104.00 | A |
| Double cream | 12 L | 6 x 1 L, $22.80 | $3.80 | 12 x 500 ml, $25.20 | $4.20 | $45.60 / $50.40 | A |
| Eggs, large | 150 | Free-range, 180, $50.40 | $0.28 | Barn, 90, $23.40 | $0.26 | $50.40 / $46.80 | Check spec |
| Potatoes, maincrop | 60 kg | 25 kg, $17.50 | $0.70 | 20 kg, $13.00 | $0.65 | $52.50 / $39.00 | B |
| Onions, brown | 20 kg | 20 kg, $14.00 | $0.70 | 10 kg, $6.50 | $0.65 | $14.00 / $13.00 | B |
| Plum tomatoes, tinned | 30 kg | 6 x 2.5 kg, $27.00 | $1.80 | 6 x 2.5 kg, $25.50 | $1.70 | $54.00 / $51.00 | B |
| Olive oil, extra virgin | 10 L | 5 L, $38.00 | $7.60 | 2 x 5 L, $72.00 | $7.20 | $76.00 / $72.00 | B |
| Frying oil | 40 L | 20 L, $29.00 | $1.45 | Not stocked | n/a | $58.00 / n/a | A |
| Chestnut mushrooms | 8 kg | 4 kg tray, $17.20 | $4.30 | 2 kg tray, $8.20 | $4.10 | $34.40 / $32.80 | B |
| Mature cheddar | 6 kg | 5 kg block, $41.00 | $8.20 | 2.5 kg block, $21.50 | $8.60 | $82.00 / $64.50 | B |
| Lemons | 5 kg | 4 kg box, $10.40 | $2.60 | 5 kg box, $11.00 | $2.20 | $20.80 / $11.00 | B |
| Hake fillet | 10 kg | Skinless, 5 kg, $52.50 | $10.50 | Skin-on, 5 kg, $44.00 | $8.80 | $105.00 / $88.00 | Check spec |
The last column is the AI's call with two lines held back for a human, which the next section explains. The numbers that matter:
- Everything from A: $996.70.
- Cheapest by order cost, ignoring spec: $925.70, a saving of $71.00. Two of those savings, $3.60 on the eggs and $17.00 on the hake, come from different products.
- Cheapest with the two spec questions kept at A: $946.30 ($663.00 from A, $283.30 from B). That saves $50.40, or 5.1%, against buying everything from A. Both orders clear their free-delivery lines, so there are no fees.
Look at the cheddar, which shows why a per-unit view is not enough. A is cheaper per kilo ($8.20 against $8.60). But the weekly need is 6 kg, A's blocks are 5 kg, so A forces a 10 kg buy ($82.00), while B's 2.5 kg blocks let you buy 7.5 kg ($64.50). If the cheese keeps well and you will use the extra 4 kg next week, A's unit price is the better guide; if cash is tight or space is limited, B wins this week. Either answer is fine; the point is to see both numbers. For the same reason the AI must price the whole packs you would actually buy, not just the per-kilo figure.
Flagging substitutes: when the cheaper line is not the same product
An AI left to compare "eggs, large" will happily say the barn eggs are cheaper than the free-range ones. They are, because they are a different product. The same goes for skinless against skin-on hake, fresh against frozen, or two cuts of beef sold under one name. If your menu says free-range or line-caught, a cheaper line that does not meet the claim is not a substitute; it is a menu error waiting to happen. So write the equivalence rule into the prompt, paste it into ChatGPT, Claude or Gemini along with your two tables, and make the AI separate what it knows from what it is guessing.
I'm pasting my supplier price table (one row per item per supplier) and a second table with this week's need per item.
1. For each item at both suppliers, compare cost per unit AND the cost of the whole packs needed to cover my need.
2. Treat two lines as the same product only if brand or grade, cut, state (fresh or frozen) and any claim (free-range, skinless)
match in the descriptions. Otherwise list them under POSSIBLE SUBSTITUTE with the difference named, and leave them out of totals.
3. Show the cheaper supplier per line, then totals per supplier. Terms: A minimum $150, free delivery over $300 else $25;
B minimum $40, free delivery over $200 else $18. If a supplier total is under its minimum, say which lines to move.
4. List anything odd: a price that looks ten times out, a missing price date, a unit I should double-check.
Show your arithmetic for the totals.
A good answer (illustrative) separates the groups:
SAME PRODUCT, cheaper at A (4): chicken thighs, beef mince, butter, double cream
SAME PRODUCT, cheaper at B (7): potatoes, onions, tinned tomatoes, olive oil, mushrooms, lemons, cheddar (by order cost; A is cheaper per kg)
A ONLY (1): frying oil
POSSIBLE SUBSTITUTE, not in totals:
- Eggs: A free-range 180 at $50.40 vs B barn 90 at $23.40. Saves $3.60 for 180 eggs. Different standard.
- Hake: A skinless 5 kg at $52.50 vs B skin-on 5 kg at $44.00. Saves $17.00 for 10 kg. Different cut.
TOTALS: A $663.00 (over $300: free delivery) + B $283.30 (over $200: free delivery) = $946.30
All from A for comparison: $996.70. Saving $50.40 (5.1%).
CHECK: confirm B beef mince is 2 x 2.5 kg = 5 kg a pack.
The two flagged lines then go to the chef with the money attached. A $17 saving on hake sounds worth a conversation, but skin-on fillets mean prep time and a different plate yield, and the chef is the person to say whether that nets out. In this example the chef declines. A first draft from an AI can fold both lines into the totals, which is how the $925.70 figure appears, and can rank the cheddar by unit price alone. Both are fixed by rules 1 and 2. When a model does fold a flagged line into a total, treat that as a sign the rule was not strong enough, and re-run rather than patch by hand.
When a second drop costs more than it saves
Delivery terms can turn a saving into a loss, and they are easy for an AI to ignore unless you state them. Suppose a quiet week where only the potatoes and the lemons are cheaper at B. The potatoes save $13.50 (A $52.50, B $39.00) and the lemons $9.80 (A $20.80, B $11.00), a total of $23.30. B's order would come to $50.00, above its $40 minimum but well below the $200 free-delivery level, so it charges $18. The net saving is $5.30, and you now have a second delivery to receive, check and book in. Leave both lines with A.
The reverse also happens. If B's lines add up to just under its free-delivery level, adding one more B line, even one that is a few dollars dearer than A, can save the whole fee. That is why the prompt tells the AI to apply each supplier's terms and to say which lines to move if a supplier total falls below its minimum. Expect it to get this right when the terms are in the prompt and wrong when they are not.
Price creep: log each week's prices and let the AI flag the drift
Because every row carries a price date, the sheet doubles as a price history. Add one column per week for the key lines and ask the AI to flag any line more than 3% above the average of the previous four weeks, or up for three weeks running. These are illustrative figures for five lines at their current suppliers:
| Line | Week 1 | Week 2 | Week 3 | Week 4 | This week | This week against the average of weeks 1 to 4 |
|---|---|---|---|---|---|---|
| Beef mince (A), per kg | $7.60 | $7.70 | $7.90 | $8.00 | $8.20 | +5.1% |
| Butter (A), per kg | $9.10 | $9.10 | $9.10 | $9.30 | $9.50 | +3.8% |
| Potatoes (B), per kg | $0.62 | $0.62 | $0.65 | $0.65 | $0.65 | +2.4% |
| Olive oil (B), per L | $7.00 | $7.00 | $7.20 | $7.20 | $7.20 | +1.4% |
| Double cream (A), per L | $3.70 | $3.70 | $3.80 | $3.80 | $3.80 | +1.3% |
The beef and the butter are flagged. The beef is the more important one, because it has risen every week, from $7.60 to $8.20, which is 7.9% in four weeks. No single jump looks dramatic, which is exactly why you miss it. A flagged line is a prompt to ask the supplier why, check the other supplier's price, and re-run the plate cost of any dish that uses it. If the burger's plate cost has moved by as much as the mince, you have the start of a price decision; testing menu price changes dish by dish shows what to do with it.
From par levels and counts to a draft order
Once the comparison says who supplies what, the order is arithmetic: need equals par minus count, rounded up to whole packs, split by supplier. A stock count done the same way every week and a par sheet that matches your covers matter more than any prompt; restaurant inventory with AI covers building them. Here is Supplier A's order for Wednesday delivery:
| Item | Par | On hand | Need | Pack | Packs | Cost |
|---|---|---|---|---|---|---|
| Chicken thighs, bone-in | 40 kg | 12 | 28 | 10 kg case | 3 | $186.00 |
| Beef mince, 80/20 | 18 kg | 6 | 12 | 5 kg | 3 | $123.00 |
| Butter, unsalted | 12 kg | 4 | 8 | 5 kg block | 2 | $95.00 |
| Double cream | 18 L | 6 | 12 | 6 L case | 2 | $45.60 |
| Eggs, large, free-range | 240 | 90 | 150 | 180 tray | 1 | $50.40 |
| Frying oil | 60 L | 20 | 40 | 20 L | 2 | $58.00 |
| Hake fillet, skinless | 15 kg | 5 | 10 | 5 kg | 2 | $105.00 |
| Total | $663.00 |
Round up to whole packs, but ask the AI to flag rounding that would leave you with more than half a pack surplus on a perishable. B's cheddar is the example: the need is 6 kg, three 2.5 kg blocks give 7.5 kg and leave 1.5 kg over, while two blocks leave you 1 kg under par. The chef decides which. The AI then writes the order as a message you can paste into the supplier's usual channel. Fill the placeholders yourself; never let a tool send it.
Subject: Order for Thursday delivery, [restaurant], account [number]
Hi [first name],
Please deliver on Thursday before 10 am:
- Potatoes, maincrop, 20 kg bag: 3
- Onions, brown, 10 kg bag: 2
- Plum tomatoes, tinned, 6 x 2.5 kg case: 2
- Olive oil, extra virgin, 2 x 5 L case: 1
- Chestnut mushrooms, 2 kg tray: 4
- Mature cheddar, 2.5 kg block: 3
- Lemons, 5 kg box: 1
Please confirm by reply, with any shortages, before dispatch. No substitutions without a call.
Thanks,
[your name]
Checks before an order goes out
- The counts are today's. An order built on Monday's stock check and sent on Wednesday buys duplicates.
- The substitute list is empty. Every POSSIBLE SUBSTITUTE line has a decision from the chef, in writing in the sheet.
- Each supplier's total clears its minimum and you know whether it clears the free-delivery level.
- The week's total sits near the usual one. Compare with the last four weeks; a 30% jump is a mistake or a reason, and you want to know which before you send.
- Delivery day and cut-off are right. Put the cut-off in the sheet. If the order must be in by 2 pm for Wednesday, the AI's message should say so at the top.
- A copy is saved with the date. It is the document you compare with the delivery note and invoice, which matching supplier invoices to purchase orders picks up.
Never give an AI tool the login to a supplier's ordering portal. Drafting stays with the AI; sending stays with you, as automating purchase orders and supplier emails explains in more detail for those who do want to automate later.
Square's Order Guide or a spreadsheet: where each fits
As of October 2026, Square's help page describes Order Guide as a way to compare ingredient prices across your food and beverage vendors. You upload vendor price sheets or vendor-portal exports, Square AI groups prices by the ingredients in your Square menu, and each group shows the best price, quantities and delivery dates. Square's releases page labels it beta. Square's Order Guide help page has the setup steps. The comparison with the sheet looks like this:
| Point | Square Order Guide | Spreadsheet and chat assistant |
|---|---|---|
| Who can use it | Restaurants Plus and Premium subscribers, or Square Plus and Premium with advanced restaurant capabilities added | Any POS, or none |
| Files accepted | PDF, CSV or XLSX price sheets; no invoices | Whatever the assistant can read |
| Size limit | 750 items across all menus | The size of your sheet |
| Ingredient list | Square AI builds it from your menu | You maintain the item list |
| Purchase orders | Help page says planned for the future | You draft them now and send them yourself |
| Substitution rules | Review each ingredient group's matches | Your rules, written in the prompt |
If you already run Square at the eligible level, try Order Guide for the price comparison, because it saves the list conversion, and check its matches the way you would check an AI's: pick three groups and confirm the pack sizes. If you do not, or you want an order draft today, the sheet gives you both halves. Many restaurants will end up using each for what it does best, with the sheet as the weekly routine and the supplier lists refreshed monthly.
Supplier ordering questions from restaurant owners
How many suppliers should a small restaurant compare?
Two or three is plenty: a main supplier plus one or two specialists. Every extra supplier adds a delivery to receive, an account to reconcile and minimum orders to meet. Compare more only for the few lines that drive your costs, such as meat, fish and dairy, and keep the rest with the supplier that delivers most reliably.
Can ChatGPT place orders with my suppliers?
Not safely. Do not give any AI tool your supplier portal login or card details. Use it to draft the order text or the spreadsheet, then send the order yourself by the supplier's usual route. A human check also catches substitutions and shortages before a delivery arrives that you did not mean to order.
How often should I refresh supplier prices?
Weekly for produce, dairy, meat and fish, where prices move fast, and monthly for dry goods and oils unless a supplier warns of a change. Always put the price date in the sheet. A comparison built on last quarter's list is worse than none, because it looks authoritative and quietly points you to the wrong supplier.
Does Square's Order Guide replace this spreadsheet?
It covers the price comparison inside Square for eligible plans, and Square's own releases page labels it beta. Its help page says building purchase orders is planned for the future. If you use another POS, or want order drafts today, the sheet method still does the job and works with any supplier list.
Further reads
- Can AI Fill In Forms and Supplier Portals for You? — Why you should not hand an AI your supplier portal login.
- Recipe Costing Spreadsheet for Restaurants: Build It With ChatGPT — Carry this week's supplier prices into each dish's plate cost.
- Can AI Read Delivery Notes and Update Stock Automatically? — Update stock from delivery notes once the order arrives.
- Can AI Do a Restaurant's Bookkeeping? What a Person Still Checks — What a person still checks when supplier invoices reach the books.
- ChatGPT Prompts for Restaurants: 10 for Menus, Rotas and Replies — More ready prompts for the weekly restaurant routine.
- How to Track Competitors' Prices and Offers With AI — Track prices on the outside too, with the same sheet habits.
- AI in Hospitality Management: Catch Supplier Price Creep on Invoices — Photograph or export supplier invoices, log every line in a price-history sheet and flag items up past your threshold before the next order goes in.
- Catering Menu Planning: Scale Recipes and Shopping Lists With AI — One 120-guest menu taken from recipe sheets to a supplier-ready produce order, with yield factors, pack-size rounding and the checks to run before ordering.
- How to Use ChatGPT for Restaurants: Five Jobs to Hand It Each Week — A Monday-to-Sunday routine: ordering, prep and specials, rota, weekend promotion and the weekly review, with allergen answers kept human-checked.
- AI Automation for Restaurants: Back-of-House Jobs to Start With — Prep lists first, supplier order drafts second, kitchen rotas last: a ten-week rollout with the checks that keep each AI draft honest.
- How Can a Coffee Shop Use AI? Start With Supplier Prices — Supplier invoices into a sheet, rises flagged by ChatGPT, then recosted drinks and calm price moves, with worked numbers and Square's Order Guide beta.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Square's help article on comparing ingredient prices with Order Guide, Square's food and beverage releases page and Square's Order Guide page. The suppliers, prices, terms and orders in the worked example are illustrative.