Rundocs › Vendors & Purchasing
Purchase orders
Last updated 2026-11-11
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 Dooey button that proposes an order for you. Click it and a modal opens where you pick one of three algorithms (Replenishment,Min & Max, orPredictive), set a few windows and filters, then click Generate order. The suggested products drop onto the draft order, where you review and adjust each line before you save. See Generate order: Replenishment, Min & Max, and Predictive 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.
Scanning the same item twice stacks it. Scanning a product that's already on the order bumps its QUANTITY by one (one line, not a duplicate), the same way it works in a sale and an inventory count. Scan five times and the line reads 5. If repeat scans aren't adding up (you keep having to type the number into the box), the scanner isn't wrapping barcodes in pipes, so Rundoo is treating the scan as plain typing instead of a scan. The same config fixes it everywhere. See Scanner troubleshooting.

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: Replenishment, Min & Max, and Predictive
The Generate order Dooey button opens a modal where you pick an algorithm at the top (Replenishment, Min & Max, or Predictive), set its windows, optionally filter which products to consider, then click Generate order at the bottom. Rundoo drops the suggested products onto the draft order, where you review and adjust each line's quantity before saving.

-
Replenishment reorders what you sold. Set
Order for(the weeks of stock to cover) andHistorical lookback(the recent weeks of sales to read), and Rundoo proposes, per product, enough to cover the weeks ahead based on what moved over the lookback window. Simple and fast, with no growth or seasonal math. -
Min & Max tops your shelf back up. Every product at or below its per-location
Minthreshold (set on the product's Inventory tab) is included and ordered up to itsMax, in multiples of itsCase Quantity. Faster to set up, but ignores velocity: a fast mover and a slow mover with the same Min/Max get the same suggestion. There are no week windows for this one. -
Predictive is a year-over-year forecast that blends growth and seasonality. You set three windows:
Order for(the weeks of cover you want),Historical lookback(how far back to measure your recent growth against last year), andSeasonal window(the matching weeks last year to read the season from). Rundoo forecasts what you'll sell in the weeks ahead from that growth-and-season blend, rounded up to the product'sCase Quantityso you don't order partial cases. Because it needs a full year of history, Predictive only suggests for products with enough sales in those windows; newer products are skipped, andMin & Maxis the better fit for them.
Two more controls sit on every algorithm:
-
Predict from bases the suggestion on your
Sales data(the default) or onTransfer data. -
Include products where this vendor is an additional vendor(on by default) also considers products where this vendor is a backup, not the primary, supplier.Account for current and on-order inventorynets the suggestion against what you already have on hand and on order, so you don't double up on stock that's already coming.
Replenishment is quickest when you just want to rebuy what moved. Predictive suits paint and hardware where velocity matters. Min & Max fits slow-moving SKUs where you want a fixed shelf level. You choose per order in the modal; the default selection is Replenishment. The Generate orders when below min stock toggle in Product settings controls the exact point at which Min & Max flags a product (at its min vs strictly below its min).
Filter and adjust before the order is final
The modal carries its own product filters so you can aim the suggestion before you generate it: narrow by Departments, Classes, Finelines, Product tags, or Last sale date to build an order for just one part of your catalog at a time instead of the whole thing at once. Leave them blank to consider everything the algorithm turns up.
Clicking Generate order doesn't lock anything in. The proposed products land on the draft order as ordinary lines, and nothing is ordered until you save the PO. Review the suggestion and adjust each line's quantity (type into the QUANTITY cell or use the stepper), delete lines you don't want, or add more products by hand, then Save draft or Order when it looks right.
Warehouse stock on an integrated PO: the RDC column
When you build or generate a PO from an integrated vendor (Orgill, and other EDI vendors that send live warehouse balances), the order grid adds an RDC column. RDC stands for Regional Distribution Center, your distributor's warehouse. The number on each line is how much of that product the distributor has on hand to ship you, read live from the vendor feed at the moment you're ordering. It answers "does my distributor actually have this to send me?" before you place the order. You have to pick the integrated vendor (your Orgill catalog, say) for the column to fill in.
Which distribution center it reads isn't something you set in Rundoo. It comes from your account with the vendor, through the integration, so the RDC shows the warehouse your account already orders from.
-
A number is the quantity on hand at the distributor's warehouse, ready to ship.
-
A
0means the distributor is out of that product. On an EDI vendor like Orgill, an out-of-stock line gets cancelled or back-ordered off the order, so Rundoo drops the ordered quantity to zero and flags the discrepancy when the order comes back. -
A dash means the vendor returned no availability for that line, usually a product that isn't linked to the vendor's catalog yet (no vendor SKU).
-
The whole column empty means no integrated vendor is selected, so there's no live feed to read.
Don't mix up the RDC number with the small warehouse icon under each line's Quantity. They're two different numbers that both say "warehouse":
| RDC column | Warehouse icon (under Quantity) | |
|---|---|---|
| What the number is | Your distributor's stock (e.g. Orgill's) | Your own stock, summed across your other store locations |
| Where it comes from | The vendor's live EDI feed, at order time | Rundoo, from the locations you turn on under Admin > Locations |
| When it shows | An integrated EDI vendor is selected | You run multiple locations and enable their inventory |
| Answers | "Can my distributor ship it?" | "Can I pull it from my own shelf instead of ordering?" |

The warehouse icon's number is your own stock totalled across your other enabled locations; hover it for a per-location breakdown. It has nothing to do with any vendor, it's meant for deciding when to transfer from another store instead of placing a new order. Choose which locations feed it under Admin > Locations.
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). Available on drafts andOrderedPOs. Once a PO isReceived,Vouchered, orPaid, the button is gone. See "Voiding, canceling, or undoing an order" below for how to back out a 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 (landed cost)
Freight, surcharges, and invoice-level discounts go on the PO as a whole, not on a single line. On a received PO, use Add fee or discount in the Order details panel to add the charge (pick Fee or Discount, name it, enter the amount, and the order total rolls up).
The Distribute landed cost control in that same modal decides whether the charge also works into each product's per-unit cost (its landed cost), or just sits at the order level:
- No distribution. The charge stays on the order total only; each line's unit cost is untouched. Use it for a charge you don't want baked into product cost.
- By quantity. Rundoo spreads the charge evenly across every received unit, so $10.50 of freight on 4 units adds $2.625 to each unit's cost.
- By subtotal. Rundoo spreads the charge in proportion to each line's dollar value, so a bigger-ticket line absorbs more of the freight.
With By quantity or By subtotal, the distributed amount shows as a + $X under each line's COST, and that landed cost flows through to the GL and to the product's cost. The full step-by-step is in Order receipts → Landed cost; see Cost method for how unit cost is tracked on each product.
Not every order-level charge should be distributed. A distributor's program and service charges (Orgill's Program Services, Stop Charge, Price Stickers, and the Advantage rebate, for instance) are entered as a Fee with No distribution so they hit the account you choose without touching item cost. See Order receipts → Matching an Orgill invoice for the worked example.
If you'd rather correct one line's cost directly (a vendor billed a different unit price on a single item), edit that line's COST cell on the receive view instead.
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, canceling, or undoing an order
To undo a purchase order (void it, cancel it, or back out an order you've already received), the path depends on what state the PO is in. Click Void on a draft or Ordered PO to cancel it. The PO moves to the Voided tab and no stock is affected (an Ordered PO hasn't taken in any stock yet, so voiding it just cancels the order). Once a PO is Received, Vouchered, or Paid, the Void button is gone, because stock or accounting has already moved. After that you undo it by backing it out (below), not by voiding.
A one-click way to void a received order is a popular feature request. Want this? Vote for it on the Idea board at rundoo.nolt.io/265.
Backing out an Ordered-state PO (the order was sent to the vendor but no truck has arrived yet): the simplest path is to click Void on the PO. It moves to the Voided tab and no on-hand stock is affected. If you'd rather keep the PO on the books as a zero receipt instead of voiding it, receive it 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. Either way, call or email the vendor separately to cancel, Rundoo doesn't notify them.
Backing out (undoing) a Received-state PO (stock already landed and on-hand is updated): to undo a received order, say you received it against the wrong vendor or received it by mistake, 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.
Ordered and Received POs are editable. Open the PO and click edit to correct a line's quantity or cost, fix the vendor invoice details, or add a fee or discount, then click Save. Use this to fix a mistake on the order itself. Voiding (drafts and Ordered POs) and the offsetting-receipt path above are for canceling or reversing an order, not for a small correction.
Vendor credits, returns, and price corrections
When a vendor is crediting you back (a return going to them, damaged goods they're writing off, or a price correction on something you already bought), you record it as a negative-quantity PO, the same offsetting mechanic described above and under Order receipts. Put the credited lines on a PO at a negative quantity (for example -24 on a line the vendor is taking back or re-pricing), then receive it. The negative quantities pull that stock and cost back out of your inventory, which is exactly what a vendor credit should do. For a price correction where the vendor re-bills the same items at the right price, make a matching positive PO for the + side, receive both, and the net lands on your on-hand and cost.
A credit (negative) PO won't let you Receive and close? Negative-quantity POs receive like any other, but once in a while a specific one throws an error when you click Receive and close. When that happens, Void the PO and recreate it, especially if it's a single line, which usually clears the hitch. If the error sticks around, contact Rundoo Support, it's an order-level snag they can clear for you, not something wrong with your setup.
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.
