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.
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?
- The template, field by field
- A blank template to copy
- Writing quantities: cases, packs, and eaches
- Worked example: one broadline PO
- PO numbers that don't collide
- Statuses: where a PO goes after you send it
- What line cooks and chefs can do
- Common purchase order mistakes
- When a spreadsheet PO stops being enough
- FAQ
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
| Field | Example | Send to vendor? | Why it's there |
|---|---|---|---|
| PO number | PO-1108 | Yes | Lets you match the invoice to the order later. Write it on the invoice when the truck comes. |
| Vendor | Broadline distributor | Yes | Obvious, until two people send the same order to two vendors. |
| Your account name and number | Account #48213 | Yes | Reps juggle a lot of accounts. This saves a callback. |
| Date and time sent | Tue 10/27, 10:15 AM | Optional | Proves you beat the cutoff if the order goes missing. |
| Placed by | Kitchen manager | No | Who to ask if a line looks wrong. |
| Sent by | Text, email, portal, phone | No | Tells you where to find the original message. |
| Requested delivery date | Wed 10/28 | Yes | The vendor needs it. You need it to know when the order is late. |
| Delivery notes | Back door, before 10 AM | Yes, if needed | Saves the driver a phone call. |
Line item fields
| Field | Example | Send to vendor? | Why it's there |
|---|---|---|---|
| Vendor item number | Copied from the last invoice | Yes, if they use them | Gets you the exact product, not a lookalike. |
| Description | Mozzarella, shredded, whole milk | Yes | A human check on the item number. |
| Pack size | 4 × 5 lb | Yes | Catches the case that quietly changed from 4 bags to 3. |
| Order unit | Case, jug, box, lb | Yes | The single most important field. See the quantities section. |
| Quantity | 1 | Yes | Always in the order unit. |
| Expected price | $62.00 | No | From the last invoice or the vendor's price list. |
| Price basis | Per case, or per lb | No | Matters for catch weight items, where the case is priced by the pound. |
| Extended total | Quantity × expected price | No | Adds up to the estimated total. |
| Line note | No subs | Yes, if it applies | The 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 # | Vendor | Item # | Description | Pack size | Order unit | Qty | Expected price | Price basis | Extended total | Note |
|---|---|---|---|---|---|---|---|---|---|---|
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.
| Item | Target | On hand | Short | Per order unit | Short ÷ per unit | Order |
|---|---|---|---|---|---|---|
| Chicken thighs | 12 bags | 5 bags | 7 bags | 4 bags/case | 1.75 | 2 cases |
| Short rib | 24 packages | 11 packages | 13 packages | 6 packages/case | 2.17 | 3 cases |
| Heavy cream | 16 qt | 6 qt | 10 qt | 12 qt/case | 0.83 | 1 case |
| Mozzarella | 6 bags | 3 bags | 3 bags | 4 bags/case | 0.75 | 1 case |
| Fryer oil | 4 jugs | 1 jug | 3 jugs | Sold by the jug | 3 | 3 jugs |
| Kosher salt | 6 boxes | 2 boxes | 4 boxes | Sold by the box | 4 | 4 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 size | Order unit | Qty | Expected price | Price basis | Extended total |
|---|---|---|---|---|---|---|
| Chicken thighs, boneless skinless | 4 × 10 lb | Case | 2 | $72.00 | per case | $144.00 |
| Short rib, boneless (catch weight) | about 30 lb, 6 packages | Case | 3 | $9.40 | per lb | ~$846.00 (est.) |
| Heavy cream, 36% | 12 × 1 qt | Case | 1 | $46.00 | per case | $46.00 |
| Mozzarella, shredded, whole milk | 4 × 5 lb | Case | 1 | $62.00 | per case | $62.00 |
| Fryer oil | 35 lb jug | Jug | 3 | $48.50 | per jug | $145.50 |
| Kosher salt | 3 lb box (case of 9) | Box | 4 | $5.25 | per 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:
| Scheme | Example | Good for | Watch out for |
|---|---|---|---|
| Simple sequence | PO-1108 | Most single locations | Two people grabbing the next number at the same time |
| Date plus sequence | 1027-02 | Seeing at a glance when it was sent | Year rollover, if you ever look back more than a year |
| Location prefix | MAIN-1108, WEST-0412 | Small groups with more than one kitchen | Keeping 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:
| Status | Meaning |
|---|---|
| Draft | Being built, not sent |
| Sent | With the vendor, waiting on the truck |
| Received | Delivered and checked, but something still needs settling |
| Closed | Delivery, invoice, and any credits all match |
| Cancelled | Not 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
- Pick your biggest vendor and set up the header and line columns above, on paper or in a spreadsheet.
- Fill in item numbers, pack sizes, and order units from that vendor's last invoice.
- On your next order, convert every count to the vendor's order unit before you write the quantity.
- Send the short version, keep the full version with expected prices, and write the PO number on the invoice when the truck arrives.
- 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.
Related articles
Restaurant Purchasing & Inventory Management: The Complete 2026 Guide
How restaurant purchasing works from count to closed order: units, counts, par levels, order guides, vendor cutoffs, POs, receiving, and order history.
How to Track Restaurant Purchase Orders and Keep a Useful Order History
A simple way to track every restaurant order from sent to closed: what to record, how to check it against the delivery and invoice, and how to use past orders to order better.
Restaurant Holiday Ordering: Adjusting Orders, Pars, and Vendor Schedules for Holiday Weeks
Holiday weeks move cutoffs, cancel trucks, and change what you sell. Here's how to rebuild the week's order calendar, set temporary pars, decide what to stock up on before a closure, and plan Thanksgiving and Christmas 2026 orders.