WMS Process Flows

Van Boxtel — 3PL Supply Chain Regisseur · Tegelen

v3.1 — Full E2E + XML Interface triggers · EN / NL / PL
Client
Office
Warehouse
System / TMS
XML Interface
🔧

Article & Master Data Onboarding

Required before any inbound or outbound can be processed
Step 1 — Item Master Data
ClientIF-1 Client sends Item Master Data via API
Contains: item code, description, dimensions (L×W×H in mm), weight (net/gross in grams), color, size, extra size, HS code, country of origin, category, MID code, pieces-per-bundle, pieces-per-innerpack, package codes (BUNDLE/INNERPACK/PIECE), barcodes per type, stacking patterns (layers, pieces per layer), pre-pack configurations, brand, style number, season code, manufacturer address, remarks.
POST /item → ITEM MASTER DATA
Step 2 — Delivery Address Master Data
ClientIF-2 Client sends delivery addresses
Contains: address code, GLN, name, street, extra address, number, postal code, place, province, country, language, contact person, phone, email, website, VAT number. WMS uses address setup to automatically determine transport method (DPD/FedEx/DHL) and send signal to TMS for shipping label generation.
POST /deliveryaddress → DELIVERY ADDRESS MASTER DATA
Step 3 — Supplier Master Data
ClientIF-3 Client sends supplier data
Contains: supplier code, GLN, name, street, number, postal code, place, country, language, contact, phone, email, website. Links suppliers to inbound orders for traceability.
POST /supplier → SUPPLIER MASTER DATA
✓ Master data ready — inbound/outbound processing enabled
📦

Inbound Process

End-to-end: from client PO to stock on location
Phase 1 — Planning (Client + Office)
Step 1 — Inbound Order (PO)
ClientIF-4 Client sends Inbound Order (PO) via API
PO contains: order code, supplier code, expected delivery date, line details (item code, quantity, batch, best-before-date). Client's supplier fulfills delivery — no direct API link to supplier (we are 3PL).
POST /inboundorder → INBOUND ORDER
Step 2 — Pre-notification (optional)
ClientIF-5 Client sends Pre-notification with pallet-level detail
More detailed than PO. Contains: ETA delivery date, supplier details, per pallet: SSCC code, batch code, best-before-date, production date, quantity. Enables dock planning and faster receiving.
POST /prenotification → PRE-NOTIFICATION
Step 3 — Create ITP
Office Create ITP (Inkoop Transport Planning) based on PO
Planned delivery date from PO. Can be modified if client reports delay or early arrival.
Step 4 — Booking + Receipt
Office Goods arrive → Create VOO (Booking) → Create ONT (Receipt)
When goods physically arrive, office creates booking (VOO) and receipt (ONT) in WMS. ONT is the basis for warehouse scanning process.
Phase 2 — Physical receipt (Warehouse)
Step 5 — Count pallets/cartons
WHS Count cartons on pallets vs. inbound documents (packlist)
Compare physical carton count with documents.
Step 6 — Sort by ONT
WHS Sort cartons by receipt number (Ontvangstbon)
One delivery can have multiple ONT numbers. Sort by article assigned to each order.
Step 7 — Check quantities
WHS Verify quantities per packlist
Compare cartons and pieces. Mark discrepancies (+/-). Open mixed boxes and sort by size. Do not open single-article boxes unless quantity mismatch.
⑂ Quantities match PO?
YES — Continue scanning
Proceed to scanning phase.
OfficeNO — Discrepancies
Office creates Vendor Rating document. Discrepancy charged to client. Notification via API + email.
Phase 3 — Scanning (Warehouse + Scanner)
Step 8 — Scanner login
WHS Login scanner → Inslag → Select PO → Ontvangen → Bevestigen
Find ONT number. Click order → Ontvangen → Bevestigen.
Scanner: Inslag → PO → Ontvangen → Bevestigen
Step 9 — Scan articles
WHS Scan article barcode
Scanner shows: pick location, max capacity, current stock. If date visible = bulk already exists → FIFO: all new stock goes to bulk.
⑂ Pick location or Bulk?
Pick location
Select 'Niet printen'. Place items on location.
Bulk location
Select printer. Print VRR label → stick on box → place on bulk.
Step 10 — Repeat / Close
WHS Repeat for all articles. Close PO: Annuleren → Ja. Pause: Annuleren → Nee
Phase 4 — Confirmation (System → Client)
Step 11 — Receipt Confirmation
SystemIF-6 WMS sends Receipt Confirmation to client
Per line: item code, quantity received, EAN innerpack, batch, best-before-date, ordertype, supplier code. Client sees exactly what was received vs. ordered.
DELETE /fromWMS → RECEIPT CONFIRMATION
Step 12 — Stock Mutation
SystemIF-12 Real-time stock change notification
Each stock change triggers mutation message: item code, quantity (+/-), reason code, process type code.
DELETE /fromWMS → STOCK MUTATION
Step 13 — Stock Update
SystemIF-13 Updated totals sent to client
After each mutation: total quantity, quantity free, quantity reserved.
DELETE /fromWMS → STOCK UPDATE
✓ Inbound RPT complete
Phase 1 — Planning
Step 1
ClientIF-4 Client sends PO with articles and delivery date
Client sends PO via API. Supplier fulfills delivery.
POST /inboundorder
Step 2
Office ITP → VOO → ONT
Office creates ITP based on PO, VOO on arrival, ONT as receipt.
Phase 2 — Scanning (Seasonal = directly to pick locations)
Step 3
WHS Login → Inslag → Scan QR from receipt papers
Scan QR → Open PO → Bevestigen → Ontvangen.
Scanner: Inslag → QR → Bevestigen → Ontvangen
Step 4
WHS Scan article → Enter quantity → Bevestigen
Scanner shows quantity to receive per PO.
Step 5
WHS Scan to chosen pick location
Scanner suggests first available location — you can choose another. Seasonal items go directly to pick locations (not bulk).
Step 6
Close: Annuleren → Ja / Pause: Nee
Confirmation
SystemIF-6IF-12IF-13 Receipt Confirmation + Stock Mutation + Stock Update → Client
RECEIPT CONFIRMATION + STOCK MUTATION + STOCK UPDATE
✓ Seasonal Inbound complete
Phase 1 — Planning
Step 1
ClientOfficeIF-4 PO → ITP → VOO → ONT
Same planning flow as RPT.
POST /inboundorder
Phase 2 — Scanning (Box = quantities in cartons)
Step 2
WHS Inslag → QR → Open → Bevestigen → Ontvangen → Scan article
Scanner shows location, max capacity, current stock. FIFO if bulk exists.
Scanner: Inslag → QR → Bevestigen → Ontvangen
Step 3
WHS Enter box amount (pre-filled)
Scanner shows pre-filled box amount. Compare with physical count. Mismatch → report to team leader.
⑂ Pick location or Bulk?
Pick location
'Niet printen' → place on location.
Bulk location
Printer → VRR label → stick on box → bulk.
Confirmation
SystemIF-6IF-12 Receipt Confirmation + Stock Mutation → Client
RECEIPT CONFIRMATION + STOCK MUTATION
✓ Box Receiving complete
🛒

Picking Process

From client order to picked goods
Phase 1 — Order trigger
Step 1 — Outbound Order
ClientAPIIF-7 Client sends Outbound Order via API
Order contains: order code, delivery address code, ordertype (B2B/B2C/CDK), shipping date, priority, sales-order-code, line details (item code, quantity). Transport auto-assigned by WMS based on delivery address setup → signal to TMS → shipping label.
POST /outboundorder → OUTBOUND ORDER
Cutoff: B2B = 13:00, B2C = 15:00. Orders before cutoff → same-day ship.
Step 2 — Release
Office Prioritize & release orders for picking
Office decides order of picking based on priority and cutoff times. Orders released to warehouse.
Phase 2 — Picking (Warehouse)
Preparation
WHS Prepare tools: cart, Drager, VZD labels, scanner
Step 3
WHS Uitslag → Picken → Select order → Bevestigen
Select pick task from list.
Scanner: Uitslag → Picken → Order → Bevestigen
Step 4
WHS Go to pick location → Scan article barcode
Screen shows: article, location, quantity needed.
Step 5
WHS Assign Drager + Scan VZD after each item
First item → scan Drager. Each item → scan to VZD box. Box full → VERDELEN (split to new VZD).
Step 6
WHS All items picked → Scan Verpak location
Go to packing station → scan location (e.g. T2-Verpak-05).
✓ Piece Picking → proceed to Packing
Trigger
ClientAPIIF-7 Outbound Order → WMS → Release by Office
Same trigger as Piece Pick. Ordertype and address define transport.
POST /outboundorder
Step 1
WHS Uitslag → Picken → Select order → Bevestigen
Scanner: Uitslag → Picken → Order → Bevestigen
Step 2
WHS Scan by type: STUK / Inner pack / Full box
STUK: 1-by-1, piece barcode. Inner pack: outer barcode, full pack. Full box: 1 box = 1 scan, each = unique VZD.
Step 3
WHS Assign VZD → Troubleshooting: VERDELEN / Wijzigen eenheid
Box full → VERDELEN (split). No full box available → Wijzigen eenheid (change unit).
Step 4
WHS Scan Verpak location (e.g. T3-VERPAK01)
✓ Box Picking → proceed to Packing
Trigger
ClientAPIOfficeIF-7 Multiple orders released together for multi-pick
Multiple orders from same client released together.
POST /outboundorder
Step 1
WHS Uitslag → Multi-order picken → SCAN KAR location
Scan physical KAR location (e.g. KAR12). Cannot click — must scan!
Scanner: Uitslag → Multi-order picken → Scan KAR
Step 2
WHS Select client → Confirm → Pick items
Scan barcode → select/scan KAR position. Each position = 1 order. Always click location on screen before scanning article.
Step 3
WHS Finish → Scan Verpak location
✓ Multi-Order → proceed to Packing Multi
Trigger
ClientAPIOfficeIF-7 Many small orders (1 piece = 1 order) → batch release
Batch picking: collect many articles to KAR. Sorting into individual orders happens at packing, not picking.
POST /outboundorder
Step 1
WHS Uitslag → Batchpicken → SCAN KAR location
Scan KAR location (e.g. KAR24).
Scanner: Uitslag → Batchpicken → Scan KAR
Step 2
WHS Select client → Confirm 2x → Pick all to KAR
Go to location → scan article → place in KAR. Repeat.
Step 3
WHS Scan Verpak location → Leave KAR for packer
E.g. T2-Verpak05.
✓ Batch Picking → proceed to Packing Batch
📋

Packing Process

From picked goods to labeled shipment
Step 1
WHS Scan Drager at packing station
Order opens. Check transport method and VZD count vs physical.
Step 2
WHS Re-scan VZD to transport Drager
Scan: Verzenddoos → Drager (DPD/FedEx/DHL). Repeat for each carton.
Step 3
WHSTMS Apply shipping labels + packing list → Close (green tick)
WMS sends signal to TMS → TMS generates shipping label. Apply labels, insert packing list. Click green tick.
Step 4 — Packing Confirmation
SystemIF-8IF-9 WMS sends Packing Confirmation to client (two variants)
CR variant: carrier-level summary (carrier code, dimensions, weight, shippingbox codes, shipping agent). BX variant: box-level detail (content per shippingbox with item code, quantity, weight).
DELETE /fromWMS → PACKING CONFIRMATION (CR) + PACKING CONFIRMATION (BX)
✓ Regular Packing → proceed to Loading
Step 1
WHS Scan Drager → Check transport
Step 2
WHS Emballage verzenddozen → Choose box size
Scan VZD → select type → confirm. Repeat for all.
Step 3
WHS Scan VZD to new Drager → Select emballage type
PARCEL (cartons) or PALLET/EUROPALLET. Separate Drager per pallet.
⑂ When does order ship?
Today → UIT
Scan Drager to UIT location.
Later → BUFFER
Scan Drager to BUFFER location.
Step 4
WHSTMS Scan cartons → Enter height → Shipping labels → Close
Height: 0 for parcels, real measurement for pallets. TMS generates labels.
Packing Confirmation
SystemIF-8IF-9 Packing Confirmation CR + BX → Client
PACKING CONFIRMATION (CR) + (BX)
✓ Emballage → proceed to Loading
Step 1
WHS Scan KAR location (each position = 1 order)
Order opens with article list.
Step 2
WHS Scan: VZD → article → VZD (repeat)
Step 3
WHS Check transport → Confirm → VZD to transport Drager → Close
Scan VZD → Drager (FedEx/DPD/DHL). Close. Packlist + label per order.
Step 4 — Packing Confirmation
SystemIF-8IF-9 Packing Confirmation CR + BX → Client
PACKING CONFIRMATION (CR) + (BX)
✓ Multi Packing → proceed to Loading
Step 1
WHS WMS-PROD → Verpakken → Select table T2
Orders ready for packing visible on screen.
Desktop: WMS-PROD → Verpakken → T2
Step 2
WHS Scan position 01 on Batch KAR → Article → VZD label
Scan article → window opens → scan Verzenddoos label.
Step 3
WHSTMS Transport → VZD to Drager → Confirm → Repeat
Drager assigned to carrier. TMS generates label. Repeat until all KAR positions packed.
Packing Confirmation
SystemIF-8IF-9 Packing Confirmation CR + BX → Client
PACKING CONFIRMATION (CR) + (BX)
✓ Batch Packing → proceed to Loading

Cross Dock (CDK)

Goods pass through without storage — PO first, then SO after receipt
Phase 1 — Inbound (PO with article numbers)
Step 1 — Client sends PO
ClientIF-4 Client sends Inbound Order (PO) with article numbers for CDK goods
PO contains item codes, quantities, expected delivery date. Goods are earmarked for cross-dock — they will not go to storage.
POST /inboundorder → INBOUND ORDER (CDK)
Step 2 — Receive goods
OfficeWHS Office: ITP → VOO → ONT. Warehouse receives and confirms.
Standard inbound flow. Receipt confirmation sent to client.
Receipt Confirmation
SystemIF-6 WMS → Receipt Confirmation → Client (confirms goods arrived)
DELETE /fromWMS → RECEIPT CONFIRMATION
Phase 2 — Outbound (SO after receipt)
Step 3 — Client sends SO
ClientIF-7 After PO receipt confirmed, client sends Sales Order (SO) with ordertype CDK
SO contains: order code, delivery address, ordertype CDK, article numbers, quantities. Billing based on ordertype (B2B/B2C/CDK = different rates).
POST /outboundorder → OUTBOUND ORDER (ordertype: CDK)
Step 4
Office Office prepares info for warehouse
Provides: order number, Drager number, carton count + shipping labels (printed at booking or packing station).
Phase 3 — Packing (Desktop)
Step 5
WHS VB → Verpakken → Select table → ✓
Orders ready for packing visible.
Desktop: VB → Verpakken → Stół → ✓
Step 6
WHS Scan/enter Drager → Check order details
Check transport, date, special instructions. VERIFY TRANSPORT CAREFULLY! Click ✓.
Step 7
WHS Enter carton count → Enter → ✓
CRITICAL: Carton count cannot be changed later! Verify before confirming.
Step 8
WHS Skip VZD → Scan Drager → Scan location
No VZD for cross dock — click ✓. Scan Drager (write date + carrier on it). Scan to location (T3-Verpak/UIT).
Step 9 — Confirmations
SystemIF-8IF-9IF-10IF-11 Packing Confirmation + Outbound Order Confirmation (incl. track&trace) → Client
Track-and-trace code + return label T&T, shipment code, shipping agent code. Both carrier-level (CR) and box-level (BX) variants.
PACKING CONF. + OUTBOUND ORDER CONF. (osh-track-and-trace, osh-track-and-trace-return)
✓ Cross Dock complete → proceed to Loading
🔄

Replenishment

Refill pick locations from bulk
Trigger
System WMS generates replenishment task
Emergency (Prio 10): automatic — stock needed for order. Safety (Prio 40): manual release from REP screen by Office (refill to max).
Phase 1 — Pick from bulk
Step 1
WHS Uitslag → Replenishment picken → Select → Confirm → Bulk → Scan label
Go to bulk. Scan location, scan carton label. Always full boxes!
Scanner: Uitslag → Replenishment picken
Step 2
WHS Scan Drager (first box) → Repeat remaining
Remaining boxes auto-assigned.
Step 3
WHS Scan replenishment location
Phase 2 — Putaway to pick locations
Step 4
WHS Opslag → Inruimen drager → Scan Drager
Scanner: Opslag → Inruimen drager
Step 5
WHS Scan VRR label → Scan location → Confirm qty → Repeat
Refill location. Repeat all boxes. Annuleren to exit.
Interfaces
SystemIF-12IF-13 Stock Mutation + Stock Update → Client
STOCK MUTATION + STOCK UPDATE
✓ Replenishment complete
📍

Stock Moves

Omstapelen / Omstapelen per order / Overboeking
Step 1
WHS Opslag → Omstapelen → Scan source location
Scanner: Opslag → Omstapelen
Step 2
WHS Scan article → Enter quantity → Confirm
Step 3
WHS Scan new location (pick/drager/bulk)
Interface
SystemIF-12 Stock Mutation
STOCK MUTATION
✓ Omstapelen complete
Step 1
WHS Uitslag → Omstapelen per order → Enter order number
Scanner: Uitslag → Omstapelen per order
Step 2
WHS Scan old Drager → VZD → New Drager
Step 3
WHS Niet printen → Scan location (Verpak-Uit)
Repeat for remaining VZDs.
✓ Omstapelen per order complete
Trigger
Office Office creates Overboeking task in WMS
E.g. after return: transfer from return stock to regular stock.
Step 1
WHS Opslag → Overboeken → Scan Drager
Article list with quantities visible.
Scanner: Opslag → Overboeken
Step 2
WHS Scan article → Confirm location → Enter qty → Repeat
Scanner shows target location.
Interface
SystemIF-12IF-13 Stock Mutation + Stock Update
STOCK MUTATION + STOCK UPDATE
✓ Overboeking complete
↩️

Returns Process

Touch / PO
Phase 1 — Return trigger
Trigger
Client Return based on original outbound order (klantorder)
Goods return to warehouse. Receipt based on original order number. No separate PO.
Phase 2 — Register return (Desktop Touch)
Step 1
WHS Desktop Touch → Retour Inslag → Enter klantorder number
Desktop: Touch → Retour Inslag → Klantorder
Step 2
WHS Scan barcode → Enter return quantity → Reason → Condition (OK/DAM/VAS)
Reason code (default if unavailable). Condition: DAM=damaged, OK=good, VAS=value added service.
Step 3
WHS Scan to Drager → Assign location per condition
DAM → damage location. OK/VAS → appropriate location.
Step 4
WHS Book (package icon) → Email office with Drager number
Step 5 — Return Confirmation
SystemIF-15 WMS sends Return Confirmation to client automatically
Per line: original outbound order code (account + WMS), item code, EAN, quantity returned, reason code, condition (OK/DAM/VAS), ordertype, delivery address code.
DELETE /fromWMS → RETURN CONFIRMATION (ret-outbound-order-code, rtd-reason-code, rtd-condition)
Phase 3 — Disposition (Overboeking)
Step 6
Office Office creates Overboeking task
DAM → client decides: destroy/repair/return. OK → Overboeking to regular stock on pick locations.
Step 7
WHS Opslag → Overboeken → Scan Drager → Place on locations
Standard Overboeking flow.
✓ Touch Return complete
Phase 1 — Trigger
Trigger
ClientIF-4 Client sends PO for return
Client creates PO specifically for return. Office creates Receipt (ONT).
POST /inboundorder (return PO)
Step 1
Office Create ONT (Receipt) based on client PO
Office hands over Ontvangstbon to warehouse.
Phase 2 — Scan return (like Inbound)
Step 2
WHS Inslag → Scan QR/enter number → Ontvangen → Bevestigen
Scan articles (DO NOT click — scan barcode!). Enter quantity → Bevestigen.
Scanner: Inslag → QR → Ontvangen → Bevestigen
Step 3
WHS Scan all to one Drager → Email office with Drager number
Send email with Drager number. Wait for instructions.
Step 4 — Notification
SystemOfficeIF-6 Receipt Confirmation via API + email notification to client
For PO-based returns: notification also via email (not just API).
RECEIPT CONFIRMATION
Phase 3 — Overboeking
Step 5
OfficeWHS Office creates Overboeking → Opslag → Overboeken → Place on pick locations
Standard Overboeking flow.
✓ PO Return complete
🚛

Loading

From packed goods to transport
Phase 1 — Transport planning
Step 1 — Transport
TMSOffice Organize transport
Transport ordered by us or client (depends on incoterms). Stage area assigned per carrier. Carrier arrives → directed to assigned dock.
Phase 2 — Loading (Warehouse)
Step 2
WHS Uitslag → Laden → Enter/select shipment → Bevestigen
Scanner: Uitslag → Laden → Shipment → Bevestigen
Step 3
WHS Scan Drager → Scan door location (e.g. Deur01)
Dragers from assigned stage loaded at correct door.
⑂ Interrupt or Finish?
Interrupt: ← → JA → NEE
Exit now, continue later.
Finish: ← → JA → JA
Accidental close = contact office immediately!
Step 4 — Outbound Order Confirmation
SystemIF-10IF-11 WMS sends Outbound Order Confirmation to client
Contains: track-and-trace code, track-and-trace-return (return label), shipment code, shipping agent code, creation/confirmation dates. BX variant: box-level details (item, qty, weight per shippingbox).
DELETE /fromWMS → OUTBOUND ORDER CONFIRMATION + BX (osh-track-and-trace, osh-track-and-trace-return)
Step 5 — ASN (if pre-notified)
SystemIF-16 Advance Shipping Notification for pre-notified orders
Receipt code, delivery reference, ETA, number of packages, delivery condition, port of departure per line.
DELETE /fromWMS → ADVANCE SHIPPING NOTIFICATION
✓ Loading complete — goods shipped
⚠️

Claims & Discrepancies

Trigger
WHS Discrepancy detected at inbound (short/over/damage)
Warehouse detects mismatch between PO and physical goods.
Step 1
Office Create Vendor Rating document
Documentation of discrepancy.
Step 2
OfficeSystemIF-6IF-12 Notify client: API + email. Receipt Confirmation shows actual qty received.
Discrepancy charged to client (supplier is client responsibility, not ours as 3PL).
✓ Discrepancy reported
Trigger
Client Client reports transport damage/loss
End recipient reports problem to client, client reports to us.
Step 1
Office Verify and file claim with carrier
We file claim with carrier (carriers are usually ours — we are responsible for transport).
Step 2
OfficeClient Claim result communicated to client
✓ Transport claim handled
Trigger
WHS Item returned with condition DAM (damaged)
Flagged during returns process (Touch or PO).
Step 1
WHS Move to damage location
Step 2
OfficeClient Client decides: destroy / repair / return to client
Office informs client about damaged goods. Client makes decision.
Step 3
OfficeWHS Execute client decision
Destroy / VAS / return to client — per instructions.
✓ Damage handled
📊

Inventory & Reporting

Daily stock report
Automatic — Stock Level (daily 2:00 AM)
SystemIF-14 WMS generates comprehensive Stock Level report → sent to client
Per item: total quantity, qty free (available), qty reserved (status I/A), qty allocated (status G/O), qty picked (status D/B). Full stock visibility across all statuses.
DELETE /fromWMS → STOCK LEVEL (stl-quantity, stl-quantity-free, stl-quantity-reserved, stl-quantity-allocated, stl-quantity-picked)
Real-time stock changes
Stock Mutation (per transaction)
SystemIF-12 Every stock change triggers mutation: item, qty (+/-), reason code, process type
STOCK MUTATION
Stock Update (after each mutation)
SystemIF-13 Updated totals: total, free, reserved
STOCK UPDATE
Inventory reconciliation
Stock count
OfficeClient Full count annually or cycle counts throughout the year
Coordinated with client. Corrections (COR) visible in WMS with full audit trail (who, when, what). Correction info sent to client via API + email.
✓ Stock reconciled