What a purchase order is (and what it isn't)
A purchase order is the document your store sends to a vendor to say what you want to buy: which items, how many, at what cost, when you need them, and where to ship them. It commits the order on your side, and everything that follows, from the shipment to the bill to the payment, gets checked against it. The process runs in eight steps: decide what to order, build the purchase order, send it, read the vendor's confirmation, receive against it, update stock and cost, voucher the bill, and pay.
One heads-up before we go further, because it trips people up when they search this topic: in a supply store, the letters "PO" usually mean something else. A PO is the job reference a contractor asks your counter to put on a sale so the purchase bills to the right job on their end. That's a different thing entirely, so in this article "purchase order" always means the document you send to a vendor, and we'll write it out in full.
A purchase order is also not an invoice. You write the purchase order; the vendor writes the invoice. We'll dig into that difference below, because confusing the two is how stores pay for product that never showed up.
What goes on a purchase order
A purchase order that a distributor or manufacturer can fill without a phone call carries a standard set of fields. Miss one and you'll spend Tuesday afternoon on the phone sorting it out.
| Field | What it does |
|---|---|
| Purchase order number | Your reference for the whole life of the order, from sending to receiving to vouchering |
| Vendor | Who you're buying from (a purchase order goes to a single vendor) |
| Ship-to location | Which store or yard receives the load |
| Order date | When you placed it |
| Requested ship or delivery date | When you need it, usually your next truck day |
| Line items | Vendor item number, your SKU, description, quantity, unit of measure, unit cost, extended cost |
| Freight terms | Who pays freight and how it gets billed |
| Payment terms | When the bill is due, and any early-pay discount |
| Totals | Merchandise total, plus freight or fees if they're known |
The line that causes the most grief is the unit of measure. Vendors sell in packs and cases, and your order quantity rounds to whatever pack the vendor ships. If your system treats a box of 100 deck screws as "1 each" at receiving, your on hand count is wrong by 99 and every reorder decision after that is built on sand. Getting buy units and sell units straight is its own discipline, and we've written a full guide on units of measure for supply stores if that fight sounds familiar.
The purchase order process, step by step
1. Decide what to order
Everything starts with knowing what you need before the truck is booked. Most independents work from some mix of minimum and maximum stock levels, sales history, and walking the aisles to shoot the outs. If you want the math behind it, our guide to the reorder point and safety stock formula covers it, and if you're budgeting the season's buying in dollars rather than units, an open-to-buy plan is the tool for that.
2. Build the purchase order
Fill in the fields from the table above, one line per item, with the vendor's item numbers and your own SKUs side by side. The extended cost (quantity times unit cost) matters here because it's the number the invoice will be checked against later.
3. Send it
Purchase orders go out by EDI, email, a vendor portal, or, in stores that have been around a while, phone and fax. EDI is the cleanest path because the purchase order (an EDI 850) lands directly in the vendor's system with no re-keying on either side, and the documents that come back, the ship notification and the invoice, arrive the same way. If EDI is new territory, our guide to EDI for retailers: 850, 810, 856 decodes the alphabet soup.
4. The vendor confirms
The vendor confirms the order, and this is where you learn what's coming. Lines can be shorted, substituted, or backordered, and a cost can come back different from what you sent. Read the confirmation; it's the first chance to catch a problem while it's still cheap to fix.
5. Receive against the purchase order
When the truck arrives, count the cartons, compare them to the packing slip, and check for damage. Record shorts, overs, substitutions, and backorders right there on the dock, not from memory at 5:30. More on doing this well below.
6. Update stock and cost
Receiving should update your on hand quantities and your item cost at the same moment. If the cost moved, that's when your margins move, so this step is where landed cost gets real: the item's true cost once freight and fees are counted in.
7. Voucher the bill
Vouchering means matching the vendor's invoice to the purchase order and the receiving record, then entering the bill with its invoice number, invoice date, and due date. Keep "received" and "vouchered" as separate states so your bookkeeper isn't guessing which deliveries have bills entered and which don't.
8. Pay by the due date
Pay on time, and take the early-pay discount when the terms offer one. A 2/10 net 30 discount (2% off for paying within 10 days) adds up across a year of weekly trucks. Our guide to vendor payment terms runs the math on whether the discount beats your cash position.
The three-way match
The three-way match is the control that keeps your payables honest. Before you pay a vendor's bill, you compare three documents: the purchase order (what you ordered and at what cost), the receiving record (what showed up), and the vendor invoice (what you're being billed for). You pay only when all three agree on item, quantity, and cost, within whatever tolerance you set.
There's a lighter version called a two-way match, which checks the invoice against the purchase order only, with no receiving check. It's faster, and it's also how stores pay for product that never came off the truck. For anything beyond office supplies, the three-way match earns its keep.
Here's a worked example with small, realistic numbers. Say you send a purchase order for:
| Item | Qty | Unit cost | Extended |
|---|---|---|---|
| Deck screws, box of 100 | 10 | $12.40 | $124.00 |
| Concrete mix, 80 lb bag | 6 | $6.85 | $41.10 |
| Exterior stain, gallon | 4 | $31.50 | $126.00 |
| Total | $291.10 |
Truck day comes. Two bags of the concrete arrived torn and you refused them at the dock, so you received 4, not 6. The stain didn't ship at all; it's backordered. Then the invoice lands and bills every line in full: $291.10.
The three-way match catches all of it. You pay for what you received and were billed for: $124.00 in screws plus 4 bags of concrete at $6.85, or $27.40, for $151.40 now. The stain ($126.00) gets paid when it arrives and is invoiced against its own receipt, not a day earlier. A two-way match would have paid the whole $291.10 and hoped the stain showed up. Think of the three-way match as keeping a loose screw out of your payables.
The mismatches you'll see most often: being billed for a backordered line, a cost increase that never appeared on your purchase order, freight tacked onto the invoice, a substitution billed at a different price, and the classic quantity in the wrong unit of measure.
Purchase order vs invoice
People search "PO vs invoice" because the two documents travel together and look alike, but they come from opposite sides of the counter and do opposite jobs.
| Purchase order | Invoice | |
|---|---|---|
| Written by | You, the buyer | The vendor |
| Sent when | Before anything ships | With or after the shipment |
| Says | What you want, how many, at what cost, when, shipped where | What they shipped and what you owe |
| Commits | The order | The request for payment |
| Lives in your books as | An open order | A bill to pay |
The practical rule: your purchase order is your side of the story, and the invoice is theirs. The three-way match is where the two get reconciled, with the receiving record as the referee.
Receiving inventory well
Receiving is where the purchase order process either holds together or falls apart, and a few habits do most of the work.
Receive the same day the truck arrives. A pallet that sits on the dock uncounted is inventory you can't sell and can't trust, and by Friday nobody remembers what was on it. Count against the purchase order, and try blind receiving on at least some loads: have the receiver count what's there without seeing the expected quantities, then compare. Counting against a printed expectation has a way of making people see what they expect to see, and blind counts catch the shorts that a quick glance waves through.
Check for damage before the driver leaves, because refusing two torn bags of concrete at the dock is easy and claiming them a week later is a phone call nobody wins. Put backordered lines on a watch list rather than letting them fade; a backorder is product the vendor owes you on a future truck, and it's worth distinguishing from a special order, which is something you never stock and bring in for one customer. Finally, keep freight visible at receiving so it lands in your item costs instead of disappearing into a general expense line.
Receiving a truck by scan
Scanning beats a clipboard because the scanner does the comparison for you. Open the purchase order, scan each item as it comes off the pallet, and the receiving screen counts up against the quantity you ordered, so the lines that come up short, over, or missing show themselves before the driver pulls away. A phone or a handheld does the job equally well, and the only setup that matters is that every barcode a vendor might print, the case code as well as the each, points to the right product and the right unit of measure.
That last part is where scan receiving goes wrong. Say a hardware carton arrives with 6 boxes of 100 deck screws inside it, and the carton carries its own case barcode. If the case code is mapped to the box, one scan receives 1 box when you got 6, and if it is mapped to the screw, one scan receives a single screw. Neither number is anywhere near true, and the mistake repeats on every truck until a count catches it. Map case codes once, as a conversion on the product, and scan receiving gets faster and more accurate at the same time. Our guide to SKUs and UPCs covers how one product carries several barcodes.
Receiving without a purchase order: vouchers and bills
Plenty of stores don't write a purchase order for everything. The paint rep takes an order on the floor, the owner phones in a fill-in to a regional vendor, and the first document the store sees is the packing slip, followed a week later by the bill. Some older systems call the record they use for this a receiving voucher: you receive the goods and enter the bill in one step, with no purchase order behind it.
That works, but it skips the check that makes a purchase order worth writing, because there is nothing to compare the bill against except the packing slip that came in the same box. If your store receives this way, two habits close most of the gap. First, write the purchase order after the fact from the packing slip on the day the goods arrive, so the receipt and the bill each have something to be matched against. Second, have a different person enter the bill than the one who received the goods, so the comparison is a second set of eyes rather than one person agreeing with themselves. Some accounting tools will read a scanned invoice for you, which saves typing, but a tool that reads the bill still can't tell you whether those 12 gallons came off the truck. Only the receiving record can, which is why the three-way match above still matters.
Short and damaged freight: when 10 of 40 bags are torn
Damaged freight is the receiving problem every feed store knows by sight. Here's an illustrative one. Your purchase order calls for 40 bags of layer feed at $18.60 a bag, $744.00 for the line, and the pallet comes off the truck with 10 bags torn and leaking.
| Bags | Cost per bag | Extended | |
|---|---|---|---|
| Ordered | 40 | $18.60 | $744.00 |
| Damaged, refused or claimed | 10 | $18.60 | $186.00 |
| Received and payable | 30 | $18.60 | $558.00 |
The first decision is whether to refuse the damaged bags at the dock or accept them and claim a credit afterward, and the right answer depends on your vendor and carrier, so learn their rules before the next truck rather than during it. Either way, the same steps protect you. Write the damage on the delivery receipt before you sign it ("10 bags torn, refused" or "10 bags torn, accepted pending credit"), because, as our guide to packing slips and bills of lading explains, a clean signature tells the carrier everything arrived fine. Take a photo of the pallet while the driver is still standing there. Then receive 30 bags against the line, not 40, so your on hand count matches the shelf, and either leave the other 10 open on the purchase order as short until the vendor reships them or close them out once the credit is agreed.
When the invoice arrives billing all 40 bags at $744.00, the three-way match does its job: you pay $558.00 for the 30 you received and hold the $186.00 until the replacement bags or the credit memo show up. If you kept some of the torn bags to use in the store or sell at a markdown, record them as they leave inventory, because damaged goods that go unrecorded turn into shrink at the next count, and by then nobody will remember the torn pallet from June. That's a feed problem nobody wants to chew on twice.
How Rundoo handles it
Rundoo, the AI-first POS for independent supply stores, runs this whole flow in one system. The purchase order builder's Generate order button drafts a proposed order using Replenishment, Min & Max, or Predictive methods, and you review quantities in a grid before sending by EDI, email, or print, with EDI ordering live with distributors including Orgill. Because a purchase order goes to a single vendor, Rundoo also compares the same item's cost across your vendors so you can order each item from wherever it lands cheapest. If you'd rather not start from a blank screen, Dooey can draft a purchase order for you to review.
When the delivery comes in, staff can scan the items and receive the order right in the Staff app on an iPhone or Android, and receiving updates stock and cost at once, and freight can be added at receiving or vouchering so your landed costs include it. Purchase orders move through ordered, received, and vouchered states, the order details panel carries the invoice number, invoice date, and due date, and backorders stay tracked on the purchase order until the load arrives. In the app, staff can also ask Dooey questions such as "Which purchase orders are arriving this week?" or "Did the cost change on the last delivery?" Rundoo has no dedicated write-off transaction or shrink reason codes today, so damaged units you keep are recorded through a store-use account or an inventory count with the reason in the notes. Vouchered purchase orders post as vendor bills (Inventory and Accounts Payable) to QuickBooks in a nightly purchase journal, and Rundoo can push ACH payments to vendors when it's time to pay. You can see the full picture on the purchasing and pricing page.
