Restaurant Purchasing

Restaurant Purchase Order Template: What to Include (With an Example)

A field by field restaurant purchase order template: what goes in the header and on each line, how to write cases, packs, and eaches so the vendor can't misread them, and a worked example PO with the math shown.

Proteus Kitchen21 min read
Cook in a white hat writing in a notebook at a counter in a catering kitchen

A restaurant purchase order needs two parts. The header says who, when, and where: a PO number, the vendor and your account number, the date and time you sent it, who sent it, and the delivery date you're asking for. The lines say what: one row per item with the vendor's item number and description, the pack size, the order unit, the quantity, the price you expect, and the extended total. Add a notes field for substitutions and delivery instructions, and an estimated total at the bottom.

The vendor doesn't need all of that. Send them the PO number, the delivery date, and each item with its quantity in their unit. Keep the prices and totals on your copy, because that's what you'll check the invoice against.

Below is every field explained, a blank template you can copy, and one full purchase order worked out with real arithmetic, including a catch weight item whose total can't be known until the invoice shows up.

In this guide

Purchase order, order guide, or invoice?

These three get mixed up, and the template only makes sense once they're separate:

  • Order guide: the standing list of what you buy from each vendor, with pack sizes, order units, and targets. It changes when the menu or a product changes. Our guide to building a restaurant order guide covers it.
  • Purchase order (PO): one order, to one vendor, for one delivery. It's built from the order guide and today's count.
  • Invoice: what the vendor says it delivered and is billing you for.

A PO doesn't have to be a formal document. A text to your produce guy can be a PO, as long as it has a number, it's saved somewhere you can find it, and the quantities are clear. The template below works the same whether you send it through a portal, by email, by text, or read it over the phone.

The template, field by field

Header fields

FieldExampleSend to vendor?Why it's there
PO numberPO-1108YesLets you match the invoice to the order later. Write it on the invoice when the truck comes.
VendorBroadline distributorYesObvious, until two people send the same order to two vendors.
Your account name and numberAccount #48213YesReps juggle a lot of accounts. This saves a callback.
Date and time sentTue 10/27, 10:15 AMOptionalProves you beat the cutoff if the order goes missing.
Placed byKitchen managerNoWho to ask if a line looks wrong.
Sent byText, email, portal, phoneNoTells you where to find the original message.
Requested delivery dateWed 10/28YesThe vendor needs it. You need it to know when the order is late.
Delivery notesBack door, before 10 AMYes, if neededSaves the driver a phone call.

Line item fields

FieldExampleSend to vendor?Why it's there
Vendor item numberCopied from the last invoiceYes, if they use themGets you the exact product, not a lookalike.
DescriptionMozzarella, shredded, whole milkYesA human check on the item number.
Pack size4 × 5 lbYesCatches the case that quietly changed from 4 bags to 3.
Order unitCase, jug, box, lbYesThe single most important field. See the quantities section.
Quantity1YesAlways in the order unit.
Expected price$62.00NoFrom the last invoice or the vendor's price list.
Price basisPer case, or per lbNoMatters for catch weight items, where the case is priced by the pound.
Extended totalQuantity × expected priceNoAdds up to the estimated total.
Line noteNo subsYes, if it appliesThe place for "OK to sub any brand" or "call if out."

Footer fields

  • Estimated total. The sum of the extended totals. Mark it as an estimate if any line is priced by weight.
  • Vendor minimum check. Compare the estimated total with the vendor's minimum before you send. Our guide to vendor order minimums and delivery fees covers what to do when you're under.
  • Order notes. Anything that applies to the whole order: "Please confirm," "Holiday week, delivering Thursday instead," or "Added 2 cases of chicken after rep confirmed, 2:30 PM."
  • Vendor confirmation. A confirmation number, or just "rep replied OK at 11:02." Fill this in after you hear back.

A blank template to copy

There's no download for this one. It's simple enough to set up in a few minutes on paper or in a spreadsheet. If you work in a spreadsheet, use these columns:

PO #VendorItem #DescriptionPack sizeOrder unitQtyExpected pricePrice basisExtended totalNote

Put the header fields in a few rows above the table: PO number, vendor, account number, date and time sent, placed by, sent by, requested delivery date, and delivery notes. Put the estimated total, minimum check, and order notes below it.

The version you send to the vendor is shorter. Here's a format that works as a text or an email body:

[Restaurant name], account #[number]
PO-[number] · Delivery [day and date]

[Qty] [order unit]  [description], [pack size]  (#[item number])
[Qty] [order unit]  [description], [pack size]  (#[item number])

Notes: [subs, delivery instructions]
Please confirm. Thanks, [name]

If you place the order through a vendor's portal, the portal has its own form. Fill it in from your PO, then save your copy with the PO number. Portals often have a field for your own PO number or a note. If yours does, put the number there so it may show up on the invoice. Check with your rep whether it prints.

Writing quantities: cases, packs, and eaches

A common cause of a wrong delivery is a quantity that made sense to the person who wrote it and meant something else to the person who read it. A few rules prevent most of that.

Write the quantity in the unit the vendor sells

Your team might count mozzarella in bags, but if the vendor sells it by the case, the PO says cases. Do the conversion before you write the PO, not in the vendor's head. Our guide to restaurant inventory units walks through count units, order units, and the conversion between them.

Round to whole order units

If you're 3 bags short and a case holds 4, you order 1 case, not 0.75. Decide your rounding rule ahead of time and write it in the order guide, so it doesn't change depending on who's ordering. Your targets come from your par levels.

Spell out split cases and eaches

Some vendors sell certain items by the each or as a split case, sometimes for a fee. If you're ordering 4 boxes of salt instead of a case of 9, write "4 boxes (split case)" so nobody "fixes" it to 4 cases. Ask your rep which items they'll split and what it costs, then note it in the order guide.

Mark catch weight items

Some items, usually proteins and some cheeses, are ordered by the case but billed by the actual weight packed. The case of short rib you order might weigh a bit more or less than the nominal weight. On your copy of the PO, write the price per pound, the nominal case weight, and an estimated total, and mark it as an estimate. Then a slightly different number on the invoice won't look like a mistake.

Worked example: one broadline PO

This is an illustrative example. The restaurant, vendor, items, pack sizes, prices, and weights are made up to show the method. They aren't typical figures for any distributor.

Setup:

  • A neighborhood restaurant orders proteins, dairy, and dry goods from a broadline distributor.
  • The broadline's cutoff is 2:00 PM for next day delivery. The kitchen manager counts Tuesday morning and orders by late morning for Wednesday's truck.
  • Short rib is billed by catch weight at an expected $9.40 per lb, in cases of about 30 lb (6 packages).
  • The vendor will sell kosher salt by the box. For this example, assume there's no split case fee.

Step 1: from the count to order quantities

The count is in the units the team actually counts. The order is in the units the vendor sells.

ItemTargetOn handShortPer order unitShort ÷ per unitOrder
Chicken thighs12 bags5 bags7 bags4 bags/case1.752 cases
Short rib24 packages11 packages13 packages6 packages/case2.173 cases
Heavy cream16 qt6 qt10 qt12 qt/case0.831 case
Mozzarella6 bags3 bags3 bags4 bags/case0.751 case
Fryer oil4 jugs1 jug3 jugsSold by the jug33 jugs
Kosher salt6 boxes2 boxes4 boxesSold by the box44 boxes

Rounding up means some items land above target after delivery. Chicken goes to 5 + 8 = 13 bags, short rib to 11 + 18 = 29 packages, cream to 6 + 12 = 18 quarts. That's normal when the vendor won't split a case. If the salt had to come as a full case of 9, the shelf would hold 11 boxes against a target of 6, which is why it's worth asking which items the vendor will split.

Step 2: your copy of the PO

Header: PO-1108 · Broadline distributor · Account #48213 · Sent Tue 10/27, 10:15 AM by the kitchen manager, by text to the rep · Requested delivery Wed 10/28, back door before 10 AM.

Item (vendor description)Pack sizeOrder unitQtyExpected pricePrice basisExtended total
Chicken thighs, boneless skinless4 × 10 lbCase2$72.00per case$144.00
Short rib, boneless (catch weight)about 30 lb, 6 packagesCase3$9.40per lb~$846.00 (est.)
Heavy cream, 36%12 × 1 qtCase1$46.00per case$46.00
Mozzarella, shredded, whole milk4 × 5 lbCase1$62.00per case$62.00
Fryer oil35 lb jugJug3$48.50per jug$145.50
Kosher salt3 lb box (case of 9)Box4$5.25per box$21.00
Estimated total~$1,264.50

In the real PO, each line would also carry the vendor's item number. It's left out here so the table fits on screen.

Here's the arithmetic:

Chicken thighs:  2 cases × $72.00             = $144.00
Short rib:       3 cases × ~30 lb = ~90 lb
                 ~90 lb × $9.40/lb            = ~$846.00  (estimate)
Heavy cream:     1 case × $46.00              =  $46.00
Mozzarella:      1 case × $62.00              =  $62.00
Fryer oil:       3 jugs × $48.50              = $145.50
Kosher salt:     4 boxes × $5.25              =  $21.00

Fixed price lines: $144.00 + $46.00 + $62.00 + $145.50 + $21.00 = $418.50
Estimated total:   $418.50 + ~$846.00                          = ~$1,264.50

Step 3: what actually gets sent

The rep doesn't need your prices or who placed the order. This is the text that goes out:

Corner Kitchen, account #48213
PO-1108 · Delivery Wed 10/28, back door before 10 AM

2 cs     Chicken thighs, boneless skinless, 4 × 10 lb
3 cs     Short rib, boneless (catch weight, ~30 lb cs)
1 cs     Heavy cream 36%, 12 × 1 qt
1 cs     Mozzarella, shredded whole milk, 4 × 5 lb
3 jugs   Fryer oil, 35 lb
4 boxes  Kosher salt, 3 lb (split case)

No subs on short rib. Please confirm. Thanks, Dana

When the rep replies, write "confirmed 10:42 AM" in the vendor confirmation field on your copy.

Step 4: why the invoice won't match to the penny

On Wednesday, the three cases of short rib weigh 29.2 lb, 31.0 lb, and 30.4 lb. Everything else arrives as ordered at the expected prices.

Short rib actual weight:  29.2 + 31.0 + 30.4 = 90.6 lb
Short rib billed:         90.6 lb × $9.40    = $851.64
Difference from estimate: $851.64 − $846.00  = $5.64

Invoice total:            $418.50 + $851.64  = $1,270.14

The invoice is $5.64 higher than the PO, and that's correct, because the PO said the short rib line was an estimate and the price per pound matches. If the invoice had shown $9.90 per lb, that would be a real price change worth a call to the rep. Checking each line against the PO, and following up on shorts, subs, and credits, is covered in our guide to tracking restaurant purchase orders.

PO numbers that don't collide

The PO number is for you, not the vendor. Its only job is to be unique and easy to write on an invoice. A few schemes that work:

SchemeExampleGood forWatch out for
Simple sequencePO-1108Most single locationsTwo people grabbing the next number at the same time
Date plus sequence1027-02Seeing at a glance when it was sentYear rollover, if you ever look back more than a year
Location prefixMAIN-1108, WEST-0412Small groups with more than one kitchenKeeping each location's sequence separate

Whatever you pick:

  • One PO per vendor per delivery. If you order from three vendors on Tuesday, that's three POs.
  • Never reuse a number. Cancelled orders keep their number and get marked cancelled.
  • Keep the next number in one place. The top of the log, a cell in the spreadsheet, or software that numbers them for you. If two managers both order, a shared log is what stops them both from using 1108.
  • Decide how add-ons work. If you add items to an order the vendor already has, for the same truck, add the lines to the same PO with a note of when and who confirmed. If it's a separate delivery, it gets a new PO.

Statuses: where a PO goes after you send it

A PO template is only half the system. The other half is knowing where each one stands. A short list of statuses is enough:

StatusMeaning
DraftBeing built, not sent
SentWith the vendor, waiting on the truck
ReceivedDelivered and checked, but something still needs settling
ClosedDelivery, invoice, and any credits all match
CancelledNot coming, on purpose

The important split is between Received and Closed: an order with a missing case or a price question isn't done just because the truck left. Our guide to tracking purchase orders covers setting up a log for this and reviewing open orders each week. If the delivery came in short or with substitutions, see what to do about shorts, subs, and partial fills.

What line cooks and chefs can do

Most POs are written by a manager, but the line has a lot to do with whether they're right:

  • Write needs in the order unit, or say which unit you mean. "Need cream" is a start. "Down to 6 quarts" is better, because the person ordering can do the math.
  • Flag pack size changes. If the mozzarella bags look smaller or a case had 3 bags instead of 4, tell whoever orders. That changes the conversion on every future PO.
  • Say when a sub won't work. If the broadline's backup fryer oil smokes early or a different cheese doesn't melt right, that's a "no subs" note for the PO.
  • Check the delivery against the PO, not just the invoice. If you're the one checking in the truck, the PO tells you what was actually asked for.

Common purchase order mistakes

  • No order unit. The most common source of "why are there 8 bags of cheese in the cooler?"
  • Quantities in count units. You count packages, they sell cases. Convert before you send.
  • No PO number. Without it, matching a week of invoices to orders is guesswork.
  • Prices on the vendor copy that don't match theirs. If you include prices in what you send, an old number can cause confusion. Keep expected prices on your copy.
  • Treating catch weight lines as exact. Mark them as estimates, then check the price per pound on the invoice instead of the line total.
  • Stale expected prices. If the prices on your PO are months old, every invoice looks wrong and the real problems get lost. Update them from each new invoice.
  • Editing a sent order without telling anyone. If you add to an order, note the time and who confirmed it, so the person checking in the truck isn't surprised.
  • One PO for two deliveries. Keep one PO per vendor per delivery, so each invoice has exactly one order to match.

When a spreadsheet PO stops being enough

A paper or spreadsheet PO works well for a lot of kitchens, especially with a short vendor list and one person ordering. It tends to get harder when:

  • You retype the same items every order. If building a PO means copying descriptions, pack sizes, and prices from the order guide by hand, the typing is where mistakes creep in.
  • More than one person orders. Two people, one spreadsheet, and a "next PO number" cell is how numbers get used twice.
  • You can't tell what's already on order. If finding out whether cream went in on Monday means checking a portal, scrolling through texts, and digging through email, your POs aren't in one place.
  • Prices go stale. If nobody updates the expected prices, the PO can't help you catch a price change.
  • The math lives in one person's head. If only the chef knows that "1 case" of short rib means about 30 lb and 6 packages, the PO breaks on their day off.

If several of those sound familiar, our comparison of spreadsheet vs software for restaurant ordering walks through the tradeoffs. If you're staying with a spreadsheet, our guide to setting up a restaurant purchasing spreadsheet shows how to calculate order quantities from the count so you're not doing the conversion by hand.

FAQ

What should a restaurant purchase order include?

At minimum: a PO number, the vendor, the requested delivery date, and each item with its description, pack size, order unit, and quantity. On your own copy, add the expected price per unit and the extended total for each line, plus who placed it and when.

Do I need to send prices to the vendor?

Usually not. The vendor bills at their own price, and an old price on your order can cause confusion. Keep expected prices on your copy so you can check the invoice. If you've negotiated a specific price, it's reasonable to reference it in a note.

What's the difference between a purchase order and an order guide?

The order guide is the standing list of everything you buy from each vendor, with pack sizes and targets. A purchase order is one specific order to one vendor for one delivery, built from the order guide and today's count.

How do I handle items priced by the pound but ordered by the case?

Write the price per pound and the nominal case weight on your copy of the PO, and mark the extended total as an estimate. When the invoice comes, check the price per pound and the weights, not just the line total.

How should I number purchase orders?

A simple sequence like PO-1108 works for most restaurants. Use one PO per vendor per delivery, never reuse a number, and keep the "next number" in one shared place. A location prefix helps if you have more than one kitchen.

Can a text message be a purchase order?

Yes, for your purposes. What makes it a PO is that it has a number, clear quantities in the vendor's units, and a saved copy you can find later. Copy texted orders into your log so they don't live only on someone's phone.

Building purchase orders in Proteus Kitchen

Proteus Kitchen keeps the pieces of a PO in one place so you're not retyping them. Each inventory item has its vendor, the unit you order it in, the unit you count it in and how many are in each order unit, a target quantity, and the last vendor price. Each vendor has its ordering method, delivery days, order deadlines, and contact information.

When you build a purchase order for a vendor, Proteus shows each item's current amount, its target, and a suggested quantity, along with an estimated total based on the last vendor price. You can set a delivery date, add notes, and save it as a draft. Proteus then generates the order as text, listing each item with its quantity and unit, that you can copy into the vendor's portal, a text message, or an email, or print. On a phone, it can open a prefilled text to the vendor's number. Once it's sent, you mark it submitted. Past orders stay in one list you can search and filter by vendor, status, and date range, and you can duplicate a previous order as the starting point for the next one.

Proteus doesn't place orders with vendors for you, and it doesn't need a POS integration. If your order guide or vendor list already lives in a spreadsheet, Free Restaurant Setup covers bringing it in, and there's a 30 day free trial below. For how POs fit with counts, pars, vendors, and receiving, see our restaurant purchasing and inventory guide.

Next step: write your next PO with the template

  1. Pick your biggest vendor and set up the header and line columns above, on paper or in a spreadsheet.
  2. Fill in item numbers, pack sizes, and order units from that vendor's last invoice.
  3. On your next order, convert every count to the vendor's order unit before you write the quantity.
  4. Send the short version, keep the full version with expected prices, and write the PO number on the invoice when the truck arrives.
  5. If your vendor cutoffs and delivery days aren't written down yet, start with our guide to building a vendor ordering schedule. It tells you the requested delivery date for every PO.