Smart warehouse automation — pick-pack-ship efficiency with modern WMS

How a WMS cuts pick errors, shortens pack time, and auto-prints carrier labels at three Vietnamese e-commerce warehouses — pick paths, cycle counts, trade-offs.

E-commerce warehouses in Vietnam are hitting scale constraints: 1,000+ daily orders, 500+ SKUs, multiple sales channels (Shopee, Lazada, Tiki, direct website). Manual pick-pack-ship workflows break down at this volume — pick errors climb above 5%, pack time per order exceeds 4 minutes, and carrier label printing becomes a daily fire drill.

A modern warehouse management system (WMS) automates the repetitive parts while giving warehouse staff structured workflows to follow. The result: over 99% pick accuracy, under 2 minute pack time, and same-day shipping for orders received before 3pm.

What a WMS actually does

At its core, a WMS orchestrates three workflows:

1. Pick — getting items from shelves

Old way (paper pick lists):
Warehouse manager prints a list of orders, highlights SKUs needed, hands to picker. Picker walks aisles, grabs items, checks them off manually. Errors happen when picker misreads handwriting or picks the wrong variant (size, color).

WMS way:
System generates optimized pick routes (cluster orders by shelf location). Picker uses mobile scanner to scan barcode on shelf, then barcode on item. Scanner beeps green if correct, red if wrong SKU. No paper, no guesswork.

Outcome: Pick error rate drops from 5–8% to under 1%.

2. Pack — boxing items for shipment

Old way:
Packer receives picked items, chooses a box size by eye, wraps items in bubble wrap, tapes box, weighs it, manually writes shipping label, sticks label on box.

WMS way:
System suggests optimal box size based on item dimensions. Packer scans each item to confirm it belongs to this order. System prints pre-formatted carrier label with barcode. Packer sticks label and moves box to shipping zone.

Outcome: Pack time per order drops from 4–6 minutes to 1.5–2.5 minutes.

3. Ship — handing off to carriers

Old way:
Warehouse manager collects all packed boxes, manually enters each order into carrier website to get tracking number, prints labels one by one. Carrier picks up, warehouse manager manually marks orders as “shipped” in the e-commerce platform.

WMS way:
System bulk-generates carrier labels for all packed orders in one click. Each label has a tracking number. When carrier picks up, warehouse scans boxes as “shipped” — this auto-updates the e-commerce platform via API.

Outcome: Ship-out time drops from 3 hours to 20 minutes for 200 orders.

Case study: Hanoi-based D2C warehouse

Warehouse zones layout

Profile:

  • 350+ SKUs (fashion and lifestyle)
  • 800–1,200 orders/day from Shopee, Lazada, and Shopify
  • 4 warehouse staff (2 pickers, 1 packer, 1 QC/ship-out)

Before WMS (paper-based):

MetricValue
Pick error rate6.2%
Pack time per order4.5 minutes
Daily ship-out cutoff2pm (to finish by 5pm)
Wrong-item complaints per month48

After Woka WMS (6 months in production):

Warehouse performance metrics

MetricValueChange
Pick error rate0.8%-87%
Pack time per order2.1 minutes-53%
Daily ship-out cutoff4pm+2 hours
Wrong-item complaints per month4-92%

Key enabler: Barcode scanning at both pick and pack stages eliminated misreads. Automated carrier label generation freed up 2 hours per day that staff previously spent on manual data entry.

Technical architecture

Our WMS consists of:

Core components

  • Inventory management — Real-time stock levels per SKU per warehouse location; sync with e-commerce platforms via API
  • Order routing — Route incoming orders to the warehouse with stock and capacity; support multi-warehouse fulfillment
  • Wave picking — Group orders by zone and priority; generate optimized pick routes to minimize warehouse travel distance
  • Packing validation — Scan each item before packing to confirm it belongs to the order; flag errors in real-time
  • Carrier integration — Generate shipping labels for GHTK, GHN, Viettel Post, J&T Express via API; track shipment status
  • Returns processing — QC inspect returned items; restock, refurbish, or dispose based on condition

Tech stack

  • Frontend: React web app for warehouse staff and ops dashboard
  • Backend: NestJS + MySQL + Elasticsearch (for SKU search and order lookup)
  • Mobile: React Native scanner app for pickers (barcode scan, pick confirmation)
  • Integrations: REST APIs to Shopee, Lazada, Tiki, Shopify, WooCommerce; carrier APIs for label generation

Performance

  • Order processing capacity: 10,000 orders/day per warehouse on standard cloud VM
  • Latency: p95 < 50ms for order creation, < 200ms for inventory sync
  • Uptime: 99.8% over past 12 months

Common pain points and solutions

Pain 1: Cycle count accuracy

Problem: Physical inventory doesn’t match system inventory. Causes overselling (sell items that are out of stock) or underselling (show out-of-stock when items exist).

Solution: Perpetual cycle counting — system schedules daily counts of high-velocity SKUs and weekly counts of slow-movers. Discrepancies trigger investigation (theft, damage, miscounts).

Pain 2: Multi-channel inventory sync

Problem: Sell the same SKU on Shopee and Lazada. When item sells on Shopee, need to decrement stock on Lazada immediately to avoid overselling.

Solution: WMS is the single source of truth for inventory. When an order comes in from any channel, WMS decrements stock and pushes updated stock levels to all channels within 60 seconds.

Pain 3: Slow-moving inventory identification

Problem: Some SKUs sit in warehouse for 6+ months, taking up space and capital.

Solution: WMS tracks SKU velocity (units sold per week). Dashboard flags SKUs with under 1 unit/week velocity for over 3 months. Ops team can run clearance sales or return to supplier.

Pain 4: Returns workflow

Problem: Returned items pile up in a corner, not restocked for weeks. This creates phantom stock (system says in stock, but physically not on shelf).

Solution: Structured returns workflow in WMS — QC scans returned item, marks condition (new, used, damaged), system auto-restocks if new, or routes to refurbish/dispose queue.

ROI calculation

Cost to deploy WMS for a warehouse with 500–1,000 orders/day:

  • Initial setup: $8,000 (2 weeks inventory migration + 1 week staff training + hardware procurement: 2 barcode scanners, 1 label printer)
  • Monthly SaaS fee: $600 (includes cloud hosting, API usage, support)

Benefit:

  • Reduce pick errors: 6% → 1% error rate saves ~$4,000/month in wrong-item replacements and customer support time
  • Increase throughput: Same staff can now handle 1,200 orders/day (was 800) without hiring = $6,000/month additional revenue (assuming $5 profit per order)
  • Faster ship-out: 2-hour cutoff extension allows capturing late-day orders = $2,000/month additional revenue

Payback period: 1 month. After that, net benefit is $11,000+ per month.

When WMS doesn’t make sense

Three scenarios where a WMS is overkill:

  • Low order volume (under 100/day) — Manual workflows are fast enough; WMS overhead exceeds benefit
  • Single SKU or very simple catalog — If you only sell 5 products, pick errors are rare even without barcode scanning
  • Highly customized orders — If every order requires custom assembly or kitting, structured workflows can’t capture the variability

For these cases, stick with spreadsheets or lightweight inventory tracking (Google Sheets + Zapier automation).

Next steps

If you’re running a warehouse with over 200 orders/day and seeing over 3% pick error rate or over 3 minute pack time, contact us for a WMS scoping conversation. We’ll audit your current workflows and give you a projected ROI before any commitment.