Produce Pro Module 06 — Scanning

Ontology pack for PP module 06 (Scanning), pinned to PP version 2401.0. Confidence: manual · Extractor: manual@2026-05-18 · Renderer: pp-module-renderer@1.0.0.

Module purpose

PP Module 06 (Scanning) configures and operates the barcode / 1D-2D scanning workflows that drive receiving, putaway, picking, and shipping confirmation. Each scan event captures (operator, scanner_id, code_value, code_format, target_workflow, target_entity_id, timestamp) and posts a line to the parent workflow’s transaction (e.g. receiving handoff, shipping load-out).

Business context

Nathel’s warehouse uses scanners across the four primary roles (Receiver, Box Man, Checker, Porter — per project_nathel_warehouse_roles_and_door_map.md). Scan events are the load-bearing real-time signal FIN consumes for events.data.pallet.position_assigned, lot.received, and shipping confirmation flows. FIN’s Box-Man / Checker dashboards reproduce the scan stream for live ops visibility but the canonical scan record lives in PP.

Canonical field reference

PP fieldBusiness meaningData typeUoMValidity rulesSentinel valuesEnum valuesLookup tableFIN mappingVersion notes
ScanEvent.OperatorIdPP operator id of the person who pulled the trigger. Resolved against actors via PP user master.id_referencePP user masterevents.actor_id
ScanEvent.ScannerIdPhysical scanner serial / asset id. Useful for device fleet health monitoring and per-device error rates.id_referenceevents.data.scan.scanner_id
ScanEvent.CodeValueVerbatim payload decoded from the barcode / QR / GS1 label.stringPreserve raw — downstream parsers handle format-specific decodingevents.data.scan.code_value
ScanEvent.CodeFormatSymbology of the scanned code.enumCODE_128, CODE_39, GS1_128, UPC_A, EAN_13, QR, DATA_MATRIX, AZTEC, PDF_417, OTHERevents.data.scan.code_format
ScanEvent.TargetWorkflowWhich PP workflow this scan posts into. Drives the FIN consumer routing — receiving scans become lot.received, picking scans become picking.case_picked, etc.enumRECEIVING, PUTAWAY, PICKING, STAGING, SHIPPING, CYCLE_COUNT, QCevents.data.scan.workflow
ScanEvent.TargetEntityIdThe PP entity the scan refers to (load, PO line, lot, location, customer order line).id_referenceevents.data.scan.target_entity_id
ScanEvent.TimestampISO 8601 timestamp at scan capture. Server-stamped, not client-supplied.datetimeServer-side, never trust client clockevents.timestamp

Workflow state machines

Scan-to-event lifecycle

From physical trigger pull to a posted FIN event. PP captures the raw scan, validates it against the active workflow context, and posts it as a workflow line; FIN’s consumers turn that into events.

  • Initial state: TriggerPulled
  • Terminal states: FinProjectionUpdated
stateDiagram-v2
    [*] --> TriggerPulled
    TriggerPulled --> PpDecoded: PP scanner stack decodes the symbology
    PpDecoded --> PpValidated: PP cross-checks code against active workflow (e.g. lot belongs to expected PO)
    PpValidated --> PpPosted: Scan line written to PP workflow transaction
    PpPosted --> FinEventConsumed: FIN ingest picks up the PP transaction via scheduled export or webhook
    FinEventConsumed --> FinProjectionUpdated: FIN event handler updates the corresponding projection (location, lot, etc.)
    FinProjectionUpdated --> [*]

Transitions:

FromToTriggerActor roleNotes
TriggerPulledPpDecodedPP scanner stack decodes the symbologyFailures here surface as signal.scan_failed
PpDecodedPpValidatedPP cross-checks code against active workflow (e.g. lot belongs to expected PO)Mismatch raises in-PP audible/visual alarm to operator
PpValidatedPpPostedScan line written to PP workflow transactionReceiverBox Man
PpPostedFinEventConsumedFIN ingest picks up the PP transaction via scheduled export or webhook
FinEventConsumedFinProjectionUpdatedFIN event handler updates the corresponding projection (location, lot, etc.)

Cross-references to other PP modules

ModuleTitleHandoff pointNotes
09PurchasingReceiving scans validate against expected POLines + Lots
13ShippingOutbound load-out scans confirm pick + load assignment
14Transportation & DeliveryDriver-side delivery confirmation scans (proof of delivery)

Sample artifacts

KindFilenameManifest anchorNotes
pdf_report06 - Scanning.PDFBucket 1 (Vendor manual) — Module 06 subsetModule 06 user guide (PP 2401.0)

Open questions / drift watch

  • Does PP support GS1-Application-Identifier 10 (lot/batch) parsing inline, or does the consumer need to decode `(10)` post-hoc? Affects FIN’s per-line PARALLEL_LOT capture.
    • Raised in: Module 06 scan-to-event design
    • Watch artifact: Future PP GS1-formatted scan capture sample