TotalApp Docs

Pick & Pack

High-density order fulfillment — move orders through To Pick → Picking → Packed → Done with atomic inventory commit.

Overview

Pick & Pack is a high-density operational workstation that turns confirmed purchase orders into completed shipments. Orders move through four explicit fulfillment stages — To Pick → Picking → Packed → Done — with location-optimized pick routes, a packing verification console, and an atomic inventory commit on completion.

To Pick Picking Packed Done

Location-Optimized Routes

Pick routes are sorted by Building → Aisle → Shelf so operators walk the shortest path through the warehouse — no backtracking, no missed bins.

Dual Verification

Each item is checked twice: once at the shelf during picking (amber tick), and again at the packing station during verification (violet tick) before the shipment is committed.

Atomic Inventory Commit

Ship & Commit deducts all SKUs in a single transaction. If any SKU lacks sufficient stock, the entire commit is aborted — bins and PO records are left completely untouched.

Guardrails & Toasts

Five distinct validation rules prevent stage-skipping, premature shipping, and insufficient-stock disasters. Each violation surfaces a clear [ERR] toast message.

Quick Start

  1. Switch to Warehouse mode using the mode switcher in the header.
  2. Click Pick & Pack in the left sidebar.
  3. All orders in Confirmed status appear in the leftmost To Pick column.
  4. Drag a card to the next column, or use the inline quick-action button on the card.
  5. Open a card in Picking stage, tick each line item as you collect it from its bin.
  6. When all lines are picked, advance to Packed and verify each item at the packing station.
  7. When all items are verified, click Ship & Commit. The order's SKUs are atomically deducted from their bin locations and the PO advances to Received.

Four-Stage State Machine

The Pick & Pack workflow is a strict linear state machine. Each stage has a defined meaning, a distinct visual accent color, and a specific set of actions available to the operator.

StageAccentMeaningCards Show
To Pick Sky Confirmed orders waiting to be processed by a picker SKU count, total units, Start Picking button
Picking Amber Operator currently walking the warehouse floor collecting items Picked / total progress bar (amber), item checklist in drawer
Packed Violet All items collected; order at packing station awaiting verification Verified / total progress bar (violet), verification console in drawer
Done Emerald Inventory deduction committed; PO advanced to Received Lock icon, emerald sealed badge, read-only order detail

The Atomic Commit (Ship & Commit)

Moving a card to Done happens exclusively through the Ship & Commit button — dragging directly to the Done column is blocked. When Ship & Commit is triggered, the system runs a pre-flight check before writing any data:

  1. Validates every line item has stock available in its resolved bin location.
  2. Deducts the picked quantity from each InventoryProduct.quantity.
  3. Appends an out movement log entry for each SKU with the bin coordinate and timestamp.
  4. Advances PurchaseOrder.status from Confirmed to Received.

All-or-Nothing Guarantee

If any SKU in the order fails the stock check, the entire commit is aborted. No bin quantities are changed, no movement log entries are written, and the PO status remains Confirmed. The operator sees a specific [ERR] toast naming the problematic SKU and the shortfall quantity. The card remains in the Packed column and the operator can investigate before retrying.

Data Sources

The workstation reads from and writes to three distinct service layers, each with its own JSON store. Changes in Pick & Pack propagate to Inventory in real time on a successful commit.

DataServiceEndpoint
PO numbers, vendor, line items, quantitiespurchaseOrderService/api/data/purchase-orders
Live bin coordinates & on-hand quantitieswarehouseInventoryService/api/data/warehouse-inventory
Workflow stage, picked/verified flagspickAndPackService/api/data/pick-and-pack

Only Confirmed and Received orders appear in the workstation. Drafts, RFQs, Sent, and Cancelled orders are filtered out automatically.

UI Walkthrough

Stat Tiles

Five summary tiles above the Kanban columns give an instant snapshot of fulfillment health across all active orders.

TileColorWhat It Shows
BacklogSkyNumber of orders in the To Pick column
ActiveAmberNumber of orders currently being picked
PackedVioletNumber of orders at the packing station
DoneEmeraldNumber of completed orders in this session
Units in FlightPrimary (indigo)Total unit count across all non-Done orders

Order Cards

Each Kanban card shows the essential information an operator needs at a glance, without opening the detail drawer:

  • PO Number — displayed in monospace font (e.g. PO-2026-0042)
  • Vendor name — who the goods came from
  • SKU pill — e.g. 3 SKU, indicating line item count
  • Units row — total unit count across all line items
  • Progress bar — appears in Picking and Packed stages; color matches the stage accent
  • Quick-action button — stage-specific primary action (Start Picking, Move to Pack, etc.)

Moving Cards

Two methods are available for advancing a card to the next stage:

  • Drag and drop — drag the card to the target column. The destination column highlights with a primary-tinted ring when the card hovers over it.
  • Inline button — the quick-action button on the card face advances it one stage without opening the drawer. Useful when you want rapid progression without inspecting the detail.

Order Detail Drawer

Click any card to open the 360px detail drawer from the right edge. The drawer's content adapts to the current stage.

StageDrawer ModeInteractive Elements
To PickOrder Detail (read-only)SKU list, quantities, bin locations — view only
PickingPick Route (interactive)Sorted checklist: SKU | Bin pin | Qty | ✓ amber toggle per line
PackedPacking VerificationSame columns but ✓ becomes V violet verification toggle per line
DoneOrder Detail (sealed)Read-only; shows completed timestamp and commitment confirmation

The Pick Route checklist sorts items by Building → Aisle → Shelf so the operator walks the most efficient path through the warehouse. Bins are displayed with a pin icon and the full coordinate (e.g. C-A2-S1).

Footer Actions

StageButtonEnabled When
To Pick⚡ Start PickingAlways — no precondition
Picking→ Move to PackEvery line item has been ticked as picked
Packed🚚 Ship & CommitEvery line item has been verified at the packing station
Done🔒 Sealed & CommittedRead-only indicator — no action available

Guardrails

Five validation rules prevent operators from skipping stages or shipping orders with outstanding problems. Each violation surfaces as a [ERR] toast notification.

GuardrailTriggerToast Message
No direct leap to Done Dragging a card directly to the Done column from any stage other than Packed [ERR] Use Ship & Commit to finalise an order
Incomplete picking Attempting to advance Picking → Packed when one or more lines remain unticked [ERR] All items must be picked before moving to Pack
Unverified line on commit Clicking Ship & Commit when a packing verification toggle is still unchecked [ERR] SKU XYZ-123 not verified — cannot ship
Insufficient stock Commit pre-flight finds a bin's on-hand quantity is less than the required pick quantity [ERR] SKU XYZ-123 short — need 10, on-hand 4
SKU not stocked Commit pre-flight finds a SKU with no bin location in the warehouse inventory [ERR] SKU XYZ-123 not stocked in any bin

Stage-Skipping Is Always Blocked

The state machine does not allow skipping stages in either direction. You cannot drag a To Pick card directly to Packed, and you cannot drag a Picking card back to To Pick without first un-ticking all picked items. Every transition must go through the defined sequence and pass the relevant guardrail checks.

Worked Examples

Example 1 — Complete Pick-Pack-Ship Cycle

  1. Open the screen — a new Confirmed PO appears in the To Pick column.
  2. Click the card to open the detail drawer. Review the SKUs, quantities, and bin locations.
  3. Click Start Picking. The card moves to Picking; the drawer switches to Pick Route mode.
  4. Walk the warehouse floor in Building → Aisle → Shelf order, ticking ✓ for each collected item.
  5. All lines ticked → click Move to Pack. The drawer switches to Packing Verification mode.
  6. At the packing station, click the V button for each item as you verify and box it.
  7. All items verified → click Ship & Commit. Toast: [OK] Inventory committed — 25 unit(s) deducted.
  8. The card moves to Done with a sealed badge and an emerald lock icon.

Example 2 — Catching Insufficient Stock

A packer verifies all four SKUs and clicks Ship & Commit. The pre-validation phase finds that SKU-541 has only 3 units on-hand but the order requires 5. The entire transaction is aborted.

  • No bins are modified.
  • No movement log entries are written.
  • The PO status remains Confirmed.
  • Toast: [ERR] SKU SKU-541 short — need 5, on-hand 3.

The operator can then go to Inventory Management to investigate the discrepancy, create an adjustment, and retry the commit once stock is corrected.

Resolving Stock Shortfalls

If a shortfall is found during Ship & Commit, open Inventory Management in a second tab or browser window. Locate the affected SKU by Ctrl+K search, check the movement log for recent picks that may have consumed the stock unexpectedly, and either create a Receipt movement to replenish the bin or an Adjustment to correct an earlier counting error. Return to Pick & Pack and click Ship & Commit again — the commit will proceed if the stock check now passes.

Visual Conventions

Pick & Pack uses a consistent visual language throughout the workstation to help operators work at speed without reading every label.

  • Monospace font — PO numbers, SKU codes, bin labels, progress counters, and toast messages all use monospace to distinguish operational data from prose.
  • ASCII state markers in toasts: [ ] unstarted, [~] in progress, [+] packed, [x] done, [OK] success, [ERR] error.
  • Per-stage accent colors: sky (To Pick), amber (Picking), violet (Packed), emerald (Done). These colors appear on column headers, progress bars, and quick-action buttons consistently.
  • Thin 1px progress bars: color-coded by stage, show picked/total or verified/total fraction without taking up card real estate.

Frequently Asked Questions

Can I partially pick an order and leave it in the Picking stage overnight?
Yes. The picked/verified flags are persisted to pick-and-pack.json server-side, not held in memory. You can close the browser, return the next day, reopen the drawer, and the progress is exactly where you left it. The progress bar on the card face also reflects the saved state so supervisors can see the partial progress in the Kanban view.
What happens to the PO after Ship & Commit?
The Purchase Order's status advances from Confirmed to Received. This change is visible in the Purchase Orders screen, where the PO row will display a green Received badge. The PO can no longer be edited or cancelled. If a billing step follows receipt in your workflow, return to Finance → Accounts Receivable to generate the corresponding invoice.
Why doesn't Pick & Pack show Draft or RFQ orders?
Only orders in Confirmed status are ready for fulfillment — they have been approved and are awaiting physical processing. Draft and RFQ orders may still be under negotiation and should not be picked before they are confirmed. Received orders appear in Done for visibility but cannot be re-processed. Cancelled orders are excluded entirely.