Rundocs › Vendors & Purchasing
Purchase orders
Last updated 2026-06-13
A purchase order is how you restock from a vendor — draft it, send it, receive it when the truck shows up.
In the POS mode, open the Orders left tab — that's where every PO lives.
The Orders list
The top-tab strip on Orders is the PO lifecycle, left to right. Each tab is a stage a PO moves through.

-
New— the empty builder; start a fresh PO here. -
Drafts— in-progress POs saved but not yet submitted to the vendor. -
Ordered— sent to the vendor, waiting on the truck. -
Received— stock is in; invoice details still to record. -
Vouchered— invoice recorded; ready to be paid. Kicks the PO over to your accounting side. See Vendor invoices for what the invoice form is doing. -
Paid— marked paid. -
Voided— canceled before completion. -
Buyers list— products on an in-flight PO that were triggered by aSpecial orderon a sale. See Special orders.
Each tab shows a live count of POs in that state.
Step 1: Start a new order
Open the New top tab (or click Orders in the left sidebar — it lands you here by default). You'll see the PO transaction-builder: Order from on the left, product search in the middle, totals on the right, and the action cluster at the bottom.

The Order from dropdown is the only required field to get started. Pick a vendor and the builder unlocks — side-panel fields appear, product search becomes active, and the Order button on the bottom right lights up once the cart has a line.
Rundoo doesn't flag missing fields when you click Order or Save draft on an empty PO — the button just does nothing. If nothing happens when you click, double-check you've picked a vendor and added at least one product.
Step 2: Pick a vendor
Click Select vendor and type to search. The dropdown matches on vendor name. Don't see the vendor you want? They probably haven't been added yet — see Vendors to create one.

Once selected, the side panel fills in:
-
Order method— how this PO will actually get to the vendor (email, print, etc.). Defaults to the vendor's configured method. See Step 4. -
Ship to— the location the stock is coming to. Defaults to your current location; switch if you're ordering for another store. -
Requested delivery date— a target date for the vendor. Defaults toASAP. -
Generate order— a Rundoo AI button that suggests quantities based on your sales velocity, on-hand stock, and reorder points. Click it and the cart fills itself with a proposed order — review the numbers before sending. Two algorithms are available; pick on a per-vendor basis. See Generate order: predictive vs min/max below. -
Select shipment— for split shipments across vendor warehouses. Most POs only have one shipment; leave it alone unless you need to split.
If your vendor is one of Rundoo's Vendor Catalogs — Benjamin Moore, Do It Best, True Value, Orgill — the builder reads live cost and availability straight from the catalog feed. Benjamin Moore specifically has its own order flow that pulls live availability from BM's ordering system and handles their SKU structure natively. See Benjamin Moore orders.
Step 3: Add products
Click Search for a product and start typing — match on SKU, name, or vendor SKU. Use the quantity stepper to the right of the search box to set how many before clicking Add, or just type the number into the line's QUANTITY cell after it's on the cart. The product-search box also accepts barcode scans — if you've got the catalog in front of you and a scanner at the counter, scanning a UPC drops the matching product onto the cart without typing.

Each line fills the table with PRODUCT, COST, QUANTITY, and SUBTOTAL columns.
-
COSTis the unit cost Rundoo will bill the vendor at — defaults to the product's vendor cost. Click edit under the cost to override for this PO (contract pricing, one-off spiff). -
QUANTITYis how many units you're ordering. The stepper increments by one; click in and type for larger numbers. -
SUBTOTALupdates live as you change cost or quantity. -
add notelets you attach a line-level note for the vendor (e.g. "substitute OK" or a customer name for a special order). Notes appear on the emailed/printed PO.
Generate order: predictive vs min/max
The Generate order AI button has two algorithms behind it; both are available per-vendor in your tenant's purchasing settings.
-
Predictive — a year-over-year forecast that blends growth and seasonality. You set
weekson the modal — call itN, the number of weeks of cover you want. For each product, Rundoo first measures your recent growth: units sold in the lastNweeks this year divided by units sold in those sameNweeks one year ago. It then applies that growth factor to what you sold in the nextNweeks last year — the same calendar window you're about to order for, so the season is already baked in. The suggested quantity is(units sold in the next N weeks last year) x (units sold in the last N weeks this year / units sold in those same N weeks last year), rounded up to the product'sCase Quantityso you don't order partial cases. Because every term needs a full year of history, Predictive only suggests a quantity for products that sold in all three windows — newer products are skipped, andMin/Maxis the better fit for them. -
Min/Max — the simpler algorithm. For each product where on-hand has dropped below the per-location
Minthreshold (set on the product's Inventory tab), Rundoo orders enough to bring it up toMax. Faster to set up, but ignores velocity — a product moving fast and a product moving slowly with the same Min/Max get the same suggestion.
Predictive is the right default for paint and hardware where velocity matters. Min/Max is fine for slow-moving SKUs where you really do want a fixed shelf level. The choice is per-vendor in Admin > Product > Product settings (your tenant may have additional configuration) — pick once and Generate order uses that algorithm whenever you click it for that vendor.
Step 4: Choose how to send the order
The Order method dropdown on the left panel decides how the PO reaches the vendor when you click Order:
-
EDI— only appears for vendors with an active EDI integration paired (Orgill, Benjamin Moore via the BM order flow, True Value, Do It Best). Sends the PO directly through the vendor's electronic-ordering pipe, which is faster and more reliable than email for vendors that support it. -
Email— Rundoo emails the PO PDF to the vendor's configuredOrders emailaddress (shown under the vendor dropdown — e.g.orders@gurney.com). -
Mark ordered— doesn't send anything externally; the PO moves intoOrderedstate on your side so you can track it, but you're responsible for getting the order to the vendor yourself (a phone call, a print + fax, etc.).
No Orders email set on the vendor + no EDI = no Email option. When the vendor has neither an EDI integration nor an Orders email configured, the Order button shows a yellow banner reading "This vendor has no Orders email set up. Add one in Vendors > {Vendor} > Settings, or use Mark ordered instead." Only Mark ordered and Receive work in that case. Add the vendor's orders email at Vendors → the vendor's Settings tab to unlock Email.
The exact list depends on what the vendor has configured. Change the default order method at the vendor level in Vendors.
Step 5: Place the order
The action cluster at the bottom right has four terminal verbs for a PO:

-
Void— cancel the PO. Only available on drafts. See "Voiding or canceling" below for how to back out an Ordered or Received PO. -
Save draft— stash the PO in theDraftstab without sending anything. Safe to come back to later. -
Receive— skip the "send to vendor" step and mark the stock as received immediately. Useful when the truck showed up without a PO on the books and you're backfilling. -
Order— the primary action. Sends the PO to the vendor per theOrder methodabove and moves the PO into theOrderedtab.
Click Order when the cart is right. Rundoo fires the email or print job, drops a green confirmation banner at the bottom of the screen, and moves the PO into Ordered.
Receiving a PO
When the truck arrives, open the PO from the Ordered tab and click Receive to log what actually showed up. You have two paths, depending on whether the shipment was complete.

-
Receive and close. Every line got what you ordered (or you're done ordering the shortage elsewhere). The PO moves to
Received, stock counts update, and theQUANTITYcolumn shows each line as "N of N" received. -
Receive and backorder. Part of the shipment came in; you want Rundoo to keep the rest on the PO. Edit each line's received quantity to what actually arrived; Rundoo keeps the remaining units as backordered on a new shipment so you can receive them when they land.
The Received detail view is also where you log the vendor invoice — Invoice date, Due date, Invoice Number, and the Pay to vendor. Once the invoice details are complete, Voucher at the bottom right moves the PO into the Vouchered tab, which is where your accounting side picks it up. If the invoice doesn't match what you received — wrong cost, missing discount, credit owed — see Order receipts for how to record the adjustment.
Receiving also updates on-hand inventory. If you receive 24 units of a product, your count for that location jumps by 24 the moment you click Voucher (or Save on the received PO).
Default the receive form to zero (Admin setting). By default, opening an Ordered PO to receive pre-fills each line with the ordered quantity, so cashiers confirm what came in. Some stores prefer the inverse — start every line at 0 and have staff type in what actually arrived. Toggle Start all Ordered Orders at zero quantity to receive in Admin > Product under the Order product settings section. With it on, the receive view opens with every QUANTITY cell at 0 until staff fills it in.
Freight charges and PO-level discounts
Freight, surcharges, and invoice-level discounts are recorded against the PO itself — not pushed into each line's unit cost. On a received PO, use Add fee or discount in the Order details panel to layer the charge onto the PO total. The amount flows through to your accounting side as part of the PO's COGS when you voucher — it doesn't pro-rate across the line items to change what each product's unit cost becomes.
If you want the freight or discount reflected in the per-unit landed cost on a specific line, edit that line's COST cell on the receive view directly. See Order receipts for the full receive-time cost adjustment flow, and Cost method for how unit cost is tracked on each product.
Drop-shipping to a customer
Some vendors will ship directly to your customer's job site instead of to your store. That's a drop-shipment, and you set it up on the PO by changing the Ship to field.
Click the Ship to dropdown on the left side-panel and pick Use custom address, then fill in the address Rundoo should send the vendor. The Name line is a good place to put the customer or job name, or the customer's PO number — whatever helps the vendor's receiving team identify the shipment. Everything else on the PO works the same way: pick products, send the order, receive when the stock lands at the destination.
Sign in under the location where the original sale was rung. When a drop-shipment is tied to a customer sale (a Special order, for example), the PO's owning location should match the sale's location — that's how Rundoo keeps the customer's history, cost, and invoicing aligned. If you're ordering from a different store than the sale was rung at, sign out and sign back in at the right location first.
One drop-shipment per PO — if a single customer has stock coming from two vendors, that's two separate POs, each with its own custom Ship to address.
Voiding or canceling
Click Void on a draft PO to cancel it. The PO moves to the Voided tab and no stock is affected. Void is only available on drafts — once a PO is in Ordered, Received, Vouchered, or Paid, the Void button is gone.
Backing out an Ordered-state PO (the order was sent to the vendor but no truck has arrived yet): receive the PO with Set quantities to 0 at the top of the line list, then click Receive and close. Rundoo treats every line as zero-received and closes the PO out without affecting on-hand stock. Call or email the vendor separately to cancel — Rundoo doesn't notify them.
Backing out a Received-state PO (stock already landed and on-hand is updated): create an offsetting receipt with negative quantities for the lines coming back out of inventory, or duplicate the PO with the negative quantities on each line and receive that. The original PO stays where it is; the offsetting one cancels its inventory effect. See Order receipts for the receive-time mechanics.
Recommended Rundocs
-
Vendors — setting up the vendors you order from.
-
Order receipts — recording adjustments when the invoice doesn't match what arrived.
-
Benjamin Moore orders — the BM-specific order flow for paint retailers.
On mobile
The Rundoo POS mobile app's Orders bottom-tab shows the same POs that live on the web's Orders surface, scoped to the signed-in staff's location. It's read-focused — drafting a new PO and emailing/EDI-sending it still happens on the web.

The Orders tab lists every status row in the PO pipeline — Drafts, Ordered, Received, Vouchered, Paid, Voided — each with a live count. Tapping a row drills into POs in that status. The blue New order button at the bottom starts a new PO directly from mobile, no need to go back to the web.
💡 Receiving a PO on mobile is the killer feature here — stand next to the truck, scan products in, increment received quantities without going back to the desk. That subset of actions is enabled even on read-focused tabs.
