Picking Waves

A picking wave groups the reserved stock for one carrier and one despatch location so it can be picked, labelled, packed and despatched together as a single unit of work.

What a wave is

Once a sale order is approved for despatch, its lines become stock moves reserved against a warehouse location. Rather than handling each order individually, the despatch team works in waves: a wave bundles together every reserved move that shares the same carrier and location, so one physical batch of picking, packing and despatch covers many orders at once.

Waves are not created from this screen

There is no Create button here. Waves are assembled automatically — by the daily auto-wave scheduler or the API — which groups eligible reserved stock moves by carrier and location and creates the wave already in the Draft state. See Schedulers for how and when this runs. Everything on this page is about what your team does after a wave exists.

Where to find it & who can see it

Open Despatch › Picking Waves in the left navigation. The list is visible to anyone holding wave.view (or a super administrator). The page is index-only for create/edit — there is no create or edit form — but each row can also be opened to a read-only detail view (see below); every column and every action described below appears on the list itself.

The wave lifecycle

A wave moves through eight states. Six of the forward steps are driven by buttons on this list; the step from Draft to ItemsIdentified happens automatically (outside the console) once the scheduler has finished allocating items to the wave.

Columns

ColumnShows
nameThe wave's identifying name/number, shown as a badge. Searchable and sortable.
Carriercarrier.name — the delivery carrier every package in this wave will use.
Locationlocation.location_name — the single warehouse stock location the wave was built from.
wave_typeBadge showing the wave's type (no special colour mapping — rendered in the console's default badge style).
StateA coloured badge — see the diagram above for the colour key.
created_atDate and time the wave was created. Sortable.

Filter

Select Filters to open a State drop-down covering all eight WaveState values (Draft, Items Identified, Label Printing, Packing, At Branch, Despatched, Done, Cancelled). Combine it with the search box to narrow to one carrier, location or wave by name.

Screenshot placeholderThe Picking Waves list: Name, Carrier, Location, Wave Type and State columns, the State filter panel open, and row action buttons on the right of a wave in the "At Branch" state (Despatch, Send to branch already used).

Viewing a wave Built

Use the View row action to open a wave's detail page — read-only, gated by the same wave.view permission as the list. It has two info panels and two child tables:

Everything here is read-only — a wave is driven through its lifecycle by the row actions below (Print labels, Complete packing, Send to branch, Despatch, Mark done, Cancel), not edited on this page.

Screenshot placeholderThe Picking Wave detail page: "Wave" and "Despatch" info panels (name, state badge, wave type, carrier, location, operator, created date; SMS/email sent flags, despatch date), with "Moves" and "Packages" tables below.

Actions

Permissions

Every action on this page needs wave.manage in addition to wave.view to see the list at all. There is no finer-grained split between the six actions — if you can drive one, you can drive all of them.

  1. Print labels — Items IdentifiedLabel Printing

    Appears once the scheduler has finished identifying the wave's items. Selecting it stamps the wave's date_labels_generated timestamp and moves it into Label Printing, signalling that despatch staff should now print and apply the shipping labels for every package in the wave.

  2. Complete packing — Label PrintingPacking

    Use this once labels are printed and the team is ready to physically pack the wave's packages. It stamps date_packing_complete.

  3. Send to branch — PackingAt Branch

    Use this when the packed wave has been handed over to (or arrived at) the despatching branch/post office counter. It stamps date_sent_to_branch. This step is optional in the sense that Despatch can also be used straight from Packing — see below.

  4. Despatch — Packing or At BranchDespatched Confirmation required

    This is the point at which the whole wave physically leaves. A confirmation dialog asks you to confirm before it proceeds — there is no undo button, so check the wave is genuinely ready. On confirming, the wave's date_despatched is stamped and a cascade runs in one transaction:

    What the Despatch cascade actually does

    Every package on the wave that is not already in a terminal state becomes Despatched. Every stock move on the wave that is not already Done or Cancelled is shipped — this is the moment physical stock is actually decremented from the warehouse location, via the stock-move service's ship step. In other words, Despatch on one wave silently finalises the state of every package and every stock move it contains; you do not need to (and cannot) despatch packages individually from this screen — see Packages.

  5. Mark done — DespatchedDone

    Use this once the wave has been fully despatched and there is nothing further to track at the wave level (individual packages continue their own journey — see Packages). It stamps date_all_done and is the wave's final, successful state.

  6. Cancel — Draft or Items IdentifiedCancelled Confirmation required

    Shown in danger red. Only available before any packing work has begun — once labels have started printing, a wave can no longer be cancelled from this screen, only carried forward or, exceptionally, corrected through another process.

Why you only ever see one or two buttons

Each action's button is only shown when the wave is in the exact state that action requires — for example Despatch only appears on waves that are Packing or At Branch. If a colleague acted on the same wave a moment before you, the buttons you see will already have moved on; the underlying service re-checks the state again regardless, so an out-of-turn click is always refused safely rather than corrupting the wave.

Bulk actions and forms

There are no bulk actions on this list — every wave is progressed one at a time. None of the six actions opens a form; each is a single confirmation (or, for Print labels, Complete packing and Send to branch, an immediate one-click transition).

Related pages

See Sale Orders for how an order's stock is reserved before it ever reaches a wave, Packages for what happens to each individual package inside a wave (including after despatch), and Schedulers for how waves are created in the first place.