Support

Need help?

Most answers are already written down. For everything else, Oneop does not publish a response time — there is no SLA instrument behind one — so the fastest thing you can do is send a complete first message.

Search the help centreEmail support@oneop.ioOpen your workspace

Worth including

  • The email you log in with
  • The URL of the screen it happened on
  • What you expected, and what happened instead

Goes somewhere else

Inventory

Pick, pack and ship: how a modern fulfilment workflow fits together

By The Oneop team8 min read

TL;DR

Pick, pack and ship are three separate jobs: picking moves units off the shelf against a list, packing verifies that the units in the box match the order lines, and shipping captures weight and dimensions and buys a label.

A customer opens a parcel and finds the right product in the wrong size. The pick was correct, the order was correct, the label was correct, and the box still went out wrong. Somewhere between the tote and the tape, two similar items were interchanged, and nothing in the workflow was designed to notice.

Fulfilment errors are almost never one mistake. They are the predictable output of a workflow where three distinct jobs have been collapsed into one screen called “fulfil order”. Pick, pack and ship each answer a different question, each fail differently, and each need their own verification.

The three jobs and what each one is responsible for

Picking retrieves units. Packing verifies and contains them. Shipping rates, labels and dispatches the parcel. Treating them as one step means a single confirmation button covers three separate opportunities to be wrong.

StageThe question it answersWhat it must recordThe characteristic failure
PickDid we take the specified quantity of the specified item from the specified location?Quantity picked per order line, and short picksShort pick recorded as a full pick, so the shortage surfaces at packing
PackDo the units in this box match the order lines, and what does the parcel weigh and measure?Verification result, parcel weight and dimensionsWrong item or wrong variant sealed into the box
ShipWhich carrier and service, at what rate, with what tracking number?Carrier, service, cost, tracking number, ship dateLabel bought against an estimated weight or an unset origin address

The pattern worth noticing: each stage’s output is the next stage’s input. A pack verification is only meaningful if picking recorded quantities per line rather than a single “done”. A rate is only accurate if packing wrote a real weight.

Pick strategies, and the cost each one moves rather than removes

There is no strategy that reduces total work. A wholesale operation picking twelve-line pallet orders and a direct-to-consumer store picking two-line parcels are solving opposite problems. Each strategy moves labour from walking to sorting, or from sorting to coordination, and the right choice depends on which of those is currently expensive.

StrategyHow it worksBest whenThe cost it adds
Single orderOne picker walks one route for one orderLarge baskets, low volume, fragile or high-value goodsTravel time repeated per order
BatchOne route serves many orders for the same itemsMany small orders sharing few SKUsA sortation step: totes must be split back into orders
ZoneEach picker owns an area; the tote travels between zonesLarge warehouses where travel dominatesHandoffs, and an order is not complete until every zone contributes
WavePicks released in timed groups against carrier cut-offsMultiple daily collections with different deadlinesPlanning overhead, and stragglers miss the wave they were planned into

Batch and zone picking both introduce the same new risk: units for several orders exist simultaneously in one tote or one flow. That is precisely the condition under which item A ends up in order B, which is why operations that batch-pick need pack verification more than operations that do not.

Pack verification is the step that catches the wrong item

Pack verification means comparing each unit going into the box against the order line it claims to satisfy, by code rather than by eye. The comparison must happen at the packing bench, before the box is sealed, because that is the last moment the error is cheap.

The mechanism matters more than the tooling. A verification step is only real if it can fail and stop the process. If the scan is advisory, or the packer can confirm the box without scanning anything, the step is theatre and the error rate stays where it was. Verification that can be skipped is not verification.

Variant-level identity is the other half. A product tracked as “cotton tee” with size and colour written in a note cannot be verified, because there is no code that distinguishes the small from the medium. Verification requires that each sellable variant is its own stock record with its own identifier.

The failure case: two SKUs, one shelf, no code comparison

A clothing merchant stores sizes of the same style in adjacent bins. Orders are batch-picked, eight at a time, into a single tote. At the bench the packer matches items to packing slips by reading the style name, because the size label is printed small and the garments are folded identically.

On a busy day the packer transposes two boxes. Both customers receive the right style in each other’s size. Neither complains immediately, because both assume the garment runs small. Two weeks later both return, both at the merchant’s cost, and both units come back outside the window in which they would have sold at full price.

Trace the root cause and it is not the packer. It is a workflow where the only comparison available was a human reading two similar words, and where a batch pick had deliberately put both sizes in the same tote. Add a code comparison at the bench and the same transposition produces a beep and a two-second correction.

Weight, dimensions and the rate you were actually quoted

A carrier rate is a function of origin, destination, service, weight and dimensions. Any of those five that you estimate, the carrier will measure for you and bill the difference later. Dimensional weight makes this worse for light, bulky parcels, where the billed weight is derived from the box size rather than the scale.

The consequence is a reconciliation problem rather than an obvious error. Rate quoted at the bench, correction applied on the carrier invoice, nobody matching the two. Capturing weight and dimensions at packing, per parcel, is what makes shipping cost a number you can attribute to an order instead of a monthly lump.

Label generation, and why buying one must be idempotent

A label purchase is a paid, external, side-effecting operation. Two clicks must not buy two labels. The safe pattern is to take a lock on the shipment record, check whether a label already exists, and return the existing one rather than buying again.

The related rule is failing closed on missing configuration. A rating call with no ship-from address has two options: refuse, or substitute a default. Substituting produces a correctly formatted label priced from the wrong origin, which passes every validation and arrives as a surcharge. Refusing is the better failure.

How Oneop structures the fulfilment path

In Oneop’s inventory and warehouse module, a sales order moves through an explicit lifecycle: draft, confirmed, picking, picked, packed, shipped, invoiced. Each order line carries its own picked quantity and its own backordered quantity, so a partial pick is a recorded state rather than a note, and an order with a shortage is held in backorder instead of being marked complete.

Shipping runs as one transaction. It locks the sales-order row, re-validates that the order is still shippable, writes the shipment, decrements stock, posts cost of goods sold and raises the invoice together. A crash part-way through rolls all of it back, so there is no shipment without a stock movement and no invoice without a shipment.

Carrier work sits behind nine adapters, rating against your own carrier accounts so quotes reflect negotiated rates. Label purchase runs under a row lock and is idempotent, and both rating and purchase refuse to run until a ship-from origin is configured rather than substituting a placeholder address. Products and variants each carry their own barcode field, which is what makes a code comparison at the bench possible at all.

One boundary worth stating plainly: Oneop models the picked and packed states and the data a verification step needs, but the scanning hardware and the bench procedure are yours to run. The system can record that verification happened and refuse to advance an order that is short. It cannot make a packer scan.

Where to start if your fulfilment is one button

Split the button. Make picking record quantities per line, make packing a state an order has to pass through, and make shipping capture real weight. Then decide whether your pick strategy is creating the mixing risk that makes pack verification mandatory.

The order arithmetic underneath all of this has to hold first. If two orders can claim the same last unit, no amount of bench discipline helps, which is the argument in available-to-promise and why overselling happens and in the mechanics of inventory reservations. The layer above, deciding which transitions can run without a human, is covered in order-to-fulfilment automation.

Frequently asked questions

What is the difference between picking and packing?

Picking is retrieval: a worker walks a route and takes specified quantities of specified items off shelves into a tote. Packing is verification and containment: the picked units are checked against the order lines, placed in a box with the right void fill, and the box is weighed and measured. Picking answers 'did we get the units', packing answers 'are these the right units, and what does the parcel now weigh'.

When should a warehouse switch from single-order picking to batch picking?

When the walking time per order exceeds the handling time per order. Single-order picking walks the route once per order, so a small-basket, high-volume operation spends most of its labour on travel. Batch picking walks one route for many orders and pays for that with a sortation step afterwards. The switch is worth making when average lines per order is low and order volume per pick window is high.

Does pick, pack and ship require barcode scanning?

Not technically, but scanning is the only verification method that does not depend on attention. A human comparing a printed SKU to a printed label will pass a wrong item at a low but non-zero rate, and that rate rises with fatigue and with SKUs that look alike. A scan compares two strings mechanically and fails loudly. If you ship visually similar variants, scanning pays for itself quickly.

Why do carriers charge more than the rate I was quoted?

Because the carrier reweighs and remeasures the parcel in its own network and bills the difference, usually as a dimensional-weight adjustment. A rate quoted against an estimated weight is a guess, and the correction arrives on the invoice weeks later where nobody reconciles it against the order. Capturing real weight and dimensions at the packing bench is what makes the quoted rate the billed rate.

Should the invoice be raised at picking or at shipping?

At shipping. Picking and packing are internal states that can still be reversed, and an order can be short-picked, split or cancelled after a pick list has been printed. An invoice raised before the goods leave the building can bill for units that never ship, which then has to be corrected with a credit note. Invoicing at the shipment means the document describes what physically left.

Written by

The Oneop team

Writing from the team that builds Oneop — an AI customer platform with web chat and email on top of a real CRM, help desk, ledger and warehouse.

Related reading

Start on the free plan and see the real thing

No credit card. Free plan, 2 seats.

Free forever · 2 seats · No credit card