← All postsPoint of sale

How to manage will-call orders without overselling the stock behind them

iotoms team · October 3, 2026 · 5 min read

A plumbing supply distributor took phone orders all morning from contractors who'd swing by the counter that afternoon to load up and go. The process was simple and had worked for years: a counter rep took the call, wrote the order up as "will call," and set the parts aside in a staging area behind the register. The contractor would show up, give a name, and walk out with a pallet.

Nothing about that process touched the inventory count until the moment someone actually rang up the sale at the register.

The gap between "set aside" and "sold"

Between the phone call and the pickup, those parts were physically gone from the shelf — pulled, boxed, labeled with a name, sitting in a cage by the loading dock. But as far as the inventory system was concerned, they hadn't moved. The on-hand count at the register still showed full stock, because nothing had actually been invoiced yet. Nobody had rung anything up. A will-call order was a promise written on a ticket, not a transaction the system knew about.

So when a second contractor walked in an hour later and asked for the same fittings — the exact run that was sitting in a cage with someone else's name on it — the register cheerfully said there were plenty in stock. The counter rep sold them. By the time the first contractor arrived to pick up his order, the parts set aside for him were gone, sold out from under him by a system that had no way of knowing they were already spoken for.

How it compounds

One oversold will-call order looks like a one-off mistake — a rep grabs the wrong box, somebody apologizes, a rush order goes out. But it isn't isolated. Every phone order that goes into a staging area without touching the system is an unrecorded commitment, and a busy counter can be running a dozen of those at once by midday. The real stock position — what's actually available to sell to the next walk-in or the next call — is lower than what the register shows, by exactly the amount sitting in that cage. Nobody can see that gap, so nobody corrects for it, and it grows every time a rep physically pulls parts without entering anything.

The costs stack in a specific order. First it's the contractor who shows up to an empty will-call slot after driving across town for it — a relationship cost, not just a stock-out. Then it's the rework: someone has to find substitute stock, call a supplier for an emergency reorder, or tell a second contractor the parts they already paid for aren't actually there. Then, at the register, it's a reconciliation problem — a physical count that doesn't match the system because stock has been moving in the back room that the ledger never saw. None of it shows up as "theft" or "shrinkage" in any obvious way. It shows up as a counter that's always a little bit wrong, for reasons nobody can point to.

The turning point

The distributor's manager didn't fix it by training reps to communicate better — they already tried that, with a whiteboard listing which cages held which orders. It worked until the whiteboard filled up or a rep forgot to erase a line. The real problem wasn't communication. It was that "will call" wasn't a state the inventory system recognized. A sale was either not-yet-happened or already-happened, with nothing in between to represent stock that was committed but not yet invoiced.

What actually prevents it

A will-call order needs to take stock out of the sellable pool the moment it's created, not the moment it's paid for.

Reserve on order creation, not on pickup. The instant a counter rep takes a will-call order, the quantity should come off available-to-sell — even though no invoice exists yet and no cash has changed hands. "Available" has to mean available to the next customer, not just what's physically still on a shelf.

Make the reservation visible at the point of sale, not just in a back-office report. The register that handles the next walk-in needs to see the same reduced number the counter rep who took the phone order sees. If the two run off different data, the first call-in reservation is invisible to the second transaction, and the oversell happens again regardless of how diligent either rep is.

Give every held order an expiration. A will-call reservation that never expires quietly locks up stock forever for orders that got canceled, forgotten, or picked up through a different channel. A hold that ages out after a set window — with a clear way to extend it for a contractor who called ahead — keeps committed stock from becoming phantom stock.

Convert the reservation to a sale in one motion. When the contractor arrives and the rep pulls the trigger on the actual sale, the system should turn the hold directly into an invoice against the same reserved units — not create a brand-new transaction that has to be reconciled against the hold afterward.

Treat will call as one more channel against one stock number. The same units that can be reserved for a counter will-call order are the ones a route driver might load or an online order might claim. If will-call reservations live in a side system — a whiteboard, a spreadsheet, a sticky note on a cage — they're invisible to every other channel pulling from the same warehouse.

Practical checklist

  • Confirm your system reduces available-to-sell inventory the instant a will-call order is taken, not when it's invoiced.
  • Make sure the counter register, route app, and any online ordering draw from that same reduced number in real time.
  • Set an expiration window on holds so canceled or forgotten will-call orders don't permanently lock up stock.
  • Build pickup as a one-step conversion of the hold into a sale, not a second transaction that has to match up with the first.
  • Audit your staging area monthly against the system's open will-call list — a cage with no matching reservation is a sign the two have already drifted apart.

iotoms treats a will-call order as a real reservation the moment it's created, dropping those units from available-to-sell across the counter, route and online channels at once, so the next sale — whoever rings it up — is working from the stock that's actually still free.

See your own routes running on iotoms

Book a demo