CSV Multi Order Multi

Standard PoV · Multi-order trolley picking · HU & position assignment

Workflow 6

What this workflow does

The operator picks multiple customer orders in one job using a picking trolley. After loading the job they scan the trolley, configure box counts (S/M/L), then assign one HU and one trolley position per job_customer. Picking runs by storage location: scan storage, confirm quantity, and scan the target position on the trolley. When several articles share a location, Part_Quantity Confirm handles the next position without re-scanning storage.

Data formatCSV or API results[] with job_customer per line
Setup phaseTrolley → Set HU counts → Assign HU + position per order
Pick loopStorage → Quantity Confirm → Part_Quantity …
LightTagLightTags are optional and not required — the PoV works the same way with or without them.
Inventory (optional)Only when CSV/API line includes stock ≥ 1 — pre-pick quantity check before Quantity Confirm; not part of the standard pick loop shown above.
Multi-orderMultiple job_customer values in one job · scan trolly_place_ID per order
PoV example dataStorage 12.0.3 · Cola (ORD-A) then 14.2.1 · Fanta (ORD-B) · POS-1 / POS-2

Typical scan sequence

Trolley HU + POS per order Storage 12.0.3 Scan POS-1 Next article / location …
Prepare Storage routes to the first open line or Completion when every line has check. At the same storage location, after Quantity Confirm the flow goes directly to Part_Quantity Confirm (no extra storage scan).
Quantity display: Quantity Confirm shows Total Quantity (all pcs to pick from shelf, e.g. 11). Part_Quantity Confirm shows remaining / total (e.g. 6 / 11) after each position is confirmed.

Operator journey

What the operator does on the watch — each step shows the screen, required action, and where the flow goes next.

1
Load Step Automatic

Job loads via get-job. Multiple orders in results[] (ORD-A, ORD-B).

  • Results → Trolly Step DE
  • Empty → NoOpenOrders
Load Step
Loading Data
↓ Trolly Step DE
2
Trolly Step DE Scan trolley

Scan picking trolley barcode. Counts S/M/L boxes per line are stored on scan.

Trolly Step DE
OPTION
Scan Picking Trolley
↓ Set HU Step DE
3
Set HU Step DE Confirm counts

Review box counts (S/M/L) derived from CSV. Press done to assign HUs.

Set HU Step DE
Set HUs
done
1
BOX S
0
BOX M
↓ HU ID Step DE
4
HU ID Step DE · Trolly Place ID Step DE Per order

Loop per job_customer: scan HU → scan trolley position. Example: ORD-A → POS-1, ORD-B → POS-2.

ORD-A · POS-1ORD-B · POS-2
HU ID Step DE
OPTION
Assign HUs
Scan HU
POS 1
↓ Prepare Lagerplatz Step DE → first open line
5
Lagerplatz Step DE Scan storage

Go to 12.0.3. Scan LT-12-0-3. Screen shows storage + first article Cola (ORD-A line). Pick 11 pcs total from shelf (5 + 6) — total appears on next step.

Scan LT-12-0-3 Wrong → beep
Lagerplatz Step DE
OPTION
Scan
Storage
12.0.3
Article Info
Cola

storage · article — qty shown on Quantity Confirm

↓ Quantity Confirm Step DE
6
Quantity Confirm Step DE Scan POS-1

Total Quantity 11 = all pcs to take from shelf. Place 5× Cola into trolley position POS-1 (ORD-A) — scan position barcode.

Scan POS-1 5 / 11 placed
Quantity Confirm Step DE
OPTION
Total
Quantity
11
Cola
Quantity
5
Scan Position
POS-1

quantity=11 · article_quantity=5 · box_id POS-1

↓ Part_Quantity Confirm Step DE (same location, no re-scan)
7
Part_Quantity Confirm Step DE Scan POS-2

Progress 6 / 11 remaining at shelf. Place 6× Cola into POS-2 (ORD-B) — scan position. No storage re-scan.

6 / 11qty 6ORD-B
Part_Quantity Confirm Step DE
OPTION
Total
Quantity
6
/
11
Cola
Quantity
6
Scan Position
POS-2

quantity_remain / quantity · article_quantity=6

↓ Prepare Lagerplatz Step DE → next line (14.2.1 Fanta)
8
Lagerplatz Step DE — next location Repeat

Prepare Lagerplatz Step DE opens next open line: Fanta at 14.2.1 (ORD-B, qty 4). Same pick loop until all lines have check.

Lagerplatz Step DE
OPTION
Scan
Storage
14.2.1
Article Info
Fanta
↓ Pick loop until all lines checked
9
Abschluss Step DE Save

All lines checked. Press Saveapi.workflow.done().

Abschluss Step DE
Job Done
Save
✓ Multi-order job finished

Flow diagram

Technical overview
flowchart TD
    Load[get-job / Load Step] -->|results| Trolly[Trolly Step]
    Load -->|empty| NoJob[No open orders]
    Trolly --> SetHU[Set HU Step
S/M/L counts] SetHU -->|Done| HUID[HU ID Step
scan HU per order] HUID --> PlaceID[Trolly Place ID
scan position] PlaceID --> CheckPlace{All positions set?} CheckPlace -->|no| HUID CheckPlace -->|yes| Prepare[Prepare Storage] Prepare -->|open lines| Storage[Storage Step
scan storage] Prepare -->|all check| Done[Completion · Save] Storage -->|match| Qty[Quantity Confirm
scan position] Qty -->|more at location| PartQty[Part_Quantity Confirm] Qty -->|last| Prepare PartQty -->|more| PartQty PartQty -->|last| Prepare style Trolly fill:#e8faf3,stroke:#4ED49B style Storage fill:#e6f7fc,stroke:#0090BD style Qty fill:#e3f2fd,stroke:#1565c0 style Done fill:#e8faf3,stroke:#4ED49B

Key screens

Trolly Step
OPTION
Scan Picking Trolley
HU ID Step
OPTION
Assign HUs
Scan HU
POS 1
Storage Step
OPTION
Scan
Storage
12.0.3
Article Info
Cola
Quantity Confirm Step
OPTION
Total
Quantity
11
Cola
Quantity
5
Scan Position
POS-1
Part_Quantity Confirm Step
OPTION
Total
6
/
11
Cola
Quantity
6
Scan Position
POS-2

Options & special cases

OPTION menu branches
Optional: Inventory verification

Additional step — not shown in the operator journey above. Active only when job data includes stock ≥ 1 on a line.

REST API

Pattern: get-job → work → complete-job

FieldMeaning
job_customer / orderIdCustomer order mapping (multiple per job)
trolly_ID / HU_ID / trolly_place_IDTrolley, handling unit, position
storage / storage_scanStorage location and scan barcode
required_quantity / stockPick quantity and on-hand stock
scannedArticles / checkPicked quantity and completion timestamp
noteShortage or skip reason

get-job (response)

{
  "name": "KO-2026-005678",
  "results": [{
    "lineId": "501",
    "job_customer": "ORD-A",
    "storage": "12.0.3",
    "storage_scan": "LT-12-0-3",
    "article_number": "ART-1001",
    "article_name": "Cola",
    "required_quantity": 5,
    "stock": 48
  }, {
    "lineId": "502",
    "job_customer": "ORD-B",
    "storage": "12.0.3",
    "storage_scan": "LT-12-0-3",
    "article_number": "ART-1001",
    "article_name": "Cola",
    "required_quantity": 6,
    "stock": 22
  }, {
    "lineId": "503",
    "job_customer": "ORD-B",
    "storage": "14.2.1",
    "storage_scan": "LT-14-2-1",
    "article_number": "ART-1002",
    "article_name": "Fanta",
    "required_quantity": 4,
    "stock": 15
  }]
}

complete-job (request)

{
  "name": "KO-2026-005678",
  "results": [{
    "lineId": "501",
    "job_customer": "ORD-A",
    "storage": "12.0.3",
    "article_number": "ART-1001",
    "required_quantity": 5,
    "scannedArticles": 5,
    "trolly_place_ID": "POS-1",
    "check": "2026-06-24T14:32:00Z",
    "note": ""
  }]
}