Skip to content

Outbound Workflow: Order → Wave → Pick → Pack → Ship

The outbound workflow manages the fulfillment of client orders — from the moment a client submits an order through picking, packing, and shipping. The process is designed for multi-order batch efficiency using Wave picking.

Warehouse Job Record

All outbound documents (Client Order, Wave, Pick Task, Pack Task, Delivery Note) can be linked to a Warehouse Job Record. Create a Client Order from the Job Record using Create → Create Client Order to auto-link everything.

Flow Diagram


Step 1: Create a Client Order

A Client Order is the 3PL's equivalent of a sales order — it represents a client's request to ship specific items to a specific destination.

How to Create

  1. Go to Warehouse 3PL → Client Order → New
  2. Set Client (the 3PL customer fulfilling the order)
  3. Set Order Date and Required Delivery Date
  4. Set Ship To address (or select from client's address book)
  5. Set Carrier and Service Level (Standard / Express / Overnight)
  6. Add items in the Order Items table:
    • Item (or Client SKU)
    • Ordered Qty
    • UOM
    • Lot / Batch (if client specifies a specific batch)
  7. Save the Client Order

Key Fields

FieldRequiredDescription
ClientYesWhich 3PL client owns this order
Order DateYesWhen the order was received
Required Delivery DateYesLatest ship date
Ship ToYesDestination address
CarrierNoShipping carrier (FedEx, UPS, etc.)
Service LevelNoShipping speed
Client ReferenceNoClient's own order ID / PO number
PriorityNoNormal / Rush / Critical
ItemsYesLine items with qty

Client Order Form

On Submit: Inventory Allocation

When the Client Order is submitted, the system automatically allocates inventory:

  1. The Inventory Policy is resolved for the client (see Policy Engine)
  2. Available stock is selected using the configured method (FIFO, FEFO, etc.)
  3. Specific batches and bin locations are reserved against this order
  4. Order status changes to Allocated

WARNING

If there is insufficient stock to fulfill the order, submission will fail with an "Insufficient Stock" error. You can submit a partial order by reducing the quantity, or wait for inbound stock to arrive.

Order Status Lifecycle

StatusMeaningTrigger
DraftOrder received, not yet confirmedSave
ConfirmedUnder review, not yet allocatedManual
AllocatedStock reserved for this orderSubmit
PickingPick Tasks created and in progressWave Release
PackingAll picks done, Pack Task createdPick complete
ShippedDelivery Note createdPack complete
ClosedBilling done, order completeManual / Auto
CancelledOrder cancelled, allocation releasedCancel

Step 2: Create a Wave

A Wave groups multiple Client Orders together for efficient batch picking. Instead of picking one order at a time (which wastes travel time), a wave lets one picker collect items for many orders in a single sweep of the warehouse.

How to Create

  1. Go to Warehouse 3PL → Wave → New
  2. Set Wave Date and Shift (Morning / Afternoon / Evening)
  3. Use the Add Orders button to select Allocated Client Orders
  4. Review the wave summary — total lines, total units, total orders
  5. Save the Wave

Wave List

TIP

Group orders by zone (all Zone A orders in one wave) or by carrier cutoff (all FedEx 3pm orders together). This minimizes picker travel and ensures orders ship on time.

Wave Strategies

StrategyBest For
Zone-basedLarge warehouses — reduce picker travel
Carrier cutoffEnsure same-day ship by carrier cutoff time
Client-basedDedicated clients with SLA agreements
Single orderRush/priority orders that can't wait for batch

Step 3: Release Wave

Releasing the Wave generates Pick Tasks and starts the picking process.

  1. Open the Wave
  2. Click Release Wave
  3. The system creates one Pick Task per order-line per bin location
    • If an order line spans multiple bins (due to allocation), separate Pick Tasks are created per bin
  4. Wave status changes to Picking In Progress
  5. Pick Tasks are now visible to operators

INFO

The Release action is irreversible. Once released, the wave's order list is locked. To add more orders, create a new wave.


Step 4: Complete Pick Tasks

Pick Tasks are the instructions operators use to physically collect items from bins. Each task specifies exactly where to go and how much to pick.

Operator Workflow

  1. Go to Warehouse 3PL → Pick Task (or use mobile scanner)
  2. Filter by Status = "Open" and sort by Location (for efficient travel)
  3. Open a Pick Task and review:
    • Bin address (Zone / Aisle / Rack / Level / Bin)
    • Item and quantity to pick
    • Batch / lot to pick from (if specified)
  4. Physically pick the items from the bin
  5. Confirm the picked quantity (may be less if bin is short)
  6. If using a scanner, scan the bin barcode to confirm location
  7. Click Mark Complete

Pick Task List

Short Picks

If a bin has fewer items than expected:

  1. Enter the actual Picked Qty (less than requested)
  2. The system flags the order line as short-picked
  3. The system checks other bins for the remaining quantity
  4. A new Pick Task is created for the remaining quantity if stock exists elsewhere
  5. If no more stock, the order is partially fulfillable — escalate to client

When All Picks Are Done

Once all Pick Tasks for an order are completed:

  1. The Client Order status changes to Packing
  2. A Pack Task is automatically created for the order

Step 5: Complete Pack Task

A Pack Task instructs the packer to verify, consolidate, and package the picked goods for shipment.

Packer Workflow

  1. Go to Warehouse 3PL → Pack Task (or use workstation screen)
  2. Open the Pack Task for the order
  3. Verify all picked items are present (match to pick list)
  4. Pack into boxes/cartons — record:
    • Number of Packages
    • Package Weight (each)
    • Package Dimensions (for carrier rate shopping)
    • Tracking Numbers (entered after label generation)
  5. Click Complete Pack Task

Pack Task List

What Happens on Complete Pack

Completing a Pack Task triggers:

  1. Delivery Note is created in ERPNext:
    • Items move from bin warehouses to Dispatch warehouse
    • Delivery Note is in Submitted state
    • Client Order is linked
  2. Billing Transactions are created:
    • Pick: Qty × Pick Rate (from Rate Card)
    • Pack: Order Lines × Pack Rate
    • Ship: 1 × Shipping Rate per shipment
  3. Client Order status → Shipped

TIP

If you generate shipping labels from a carrier API (FedEx, UPS, ShipStation), the tracking numbers can be automatically populated into the Pack Task and passed to the Delivery Note.

Delivery Note

The created Delivery Note is a standard ERPNext document. From it you can:

  • Print a packing slip
  • Email the dispatch confirmation to the client
  • View the stock ledger entries for the shipment
  • Trigger downstream accounting if needed

See the Delivery Note list for reference.

Built on Frappe/ERPNext