Logistics
Purpose {#purpose}
Logistics controls packing, delivery, and return of booked material — from the warehouse back into inventory.
Navigation: Sidebar Logistics → /app/logistics
Permissions: logistics.view (view board), logistics.pack (pack/return), orders.logistics_write (assignments on order)
Logistics board {#logistics-board}
Open Logistics (/app/logistics). Columns:
| Column | Logistics status |
|---|---|
| To pack | Material booked, not yet fully packed |
| Delivery | Packed, ready for delivery / in transit |
| Return | Material back, check pending |
| Clarification · missing parts | Incomplete or damaged return |
Collapsed: Packed, Checked. Progress packed/total per order.
Quick actions on cards: Pack, Deliver, Warehouse return, Return check, Order.
Packing {#packing}
-
From the board or order (Logistics tab) → Pack / To packing list →
/app/logistics/:id/pack. - Bulk items: Set quantities, Book all for all open bulk lines, or line by line.
- Single units: Scan or assign manually — status becomes Packed.
-
Scanner:
- IDs mode — barcode scanner (USB) or keyboard: enter code, Enter
- Camera mode — scan barcode with camera on mobile
- Codes: internal EQ-… or external barcode (manufacturer part number).
Flexcases when packing {#flexcases-when-packing}
Scanning an FC activates the pack target; per flexcase print contents list (PDF with photos, to place in the case). See flexcases.
Print variants (whole order) {#print-variants-whole-order}
| Purpose | |
|---|---|
| Packing list print preview | Preview before printing |
| Packing list (system) | Digital pack state in the system |
| Packing slip (manual) | Target quantities to tick off on paper |
“Packed” status {#packed-status}
The order becomes Packed only when everything is packed according to the system (progress complete). Otherwise the status change is blocked — except admin correction with force on the board.
Delivery {#delivery}
-
Only when logistics is Packed → Delivery (
/app/logistics/:id/deliver). - Confirm delivery → status Delivery (In transit).
Return {#return}
- After the event: board → Warehouse return sets Return (return_pending), or Return check directly on the order.
-
/app/logistics/:id/return— Return · {reference}. - Scan as when packing (return_scan) or tick off units manually.
- Everything complete → Complete return → Checked.
- Something missing → Report missing parts or Clarification / missing parts → Clarification · missing parts column.
See also incomplete-return.
Inventory in daily warehouse work (brief) {#inventory-in-daily-warehouse-work-brief}
Inventory (/app/inventory): search, filters, Report to workshop, Labels, Cases, Flexcases. Details: Inventory.
Scan history {#scan-history}
Scan history is on the order under tab Overview → section Activity (below the audit timeline):
- Filter: All / Pack / Return
- Each entry: time, user, code, result, equipment/flexcase
GS1-128, DataMatrix and EAN codes are normalized automatically (GTIN, serial number).
Return: flexcase checklist {#return-flexcase-checklist}
Scanning a flexcase code during return opens the checklist view for that flexcase:
- Only positions in this flexcase (progress returned/total)
- All positions chip remains for unassigned items
- When a flexcase is fully returned, the target advances automatically
Scanning in practice (checklist) {#scanning-in-practice-checklist}
- Scanner as keyboard (HID) — no extra driver needed
- Focus in scan field, scan code, Enter
- Camera on smartphone: Camera button, allow permission
- Unknown code → check label belongs to correct tenant and equipment exists
More scan help: scan-issues.
Last updated: July 2026