Wissensbasis/Core-Betrieb/Receiving Sessions: Schroedingers Palette ist keine Lagerstrategie
01Core-Betrieb4 Min. Lesezeit

Receiving Sessions: Schroedingers Palette ist keine Lagerstrategie

Warum Receiving eine Session mit Anfang, Ende und unterschriebener Uebergabe ist - kein Gefuehl.

Receiving muss ab dem ersten Scan nachvollziehbar bleiben. Ein Lkw kommt an, das Manifest sagt das eine, der Fahrer etwas anderes, und jemand scannt vielleicht die erste Stunde den falschen Barcode. Das Session-Modell haelt die Arbeit beantwortbar: was angekommen ist, wer gescannt hat, welche Abweichungen gefunden wurden und wann die Uebergabe zu Inventory wurde.

In ReVend OS ist receiving eine session — eine echte Entität in der Datenbank mit eigener ID (RECEIV-NNNNN), Anfang, Ende und einem signierten Handoff, der sagt: "Diese assets sind jetzt inventory, nicht weiter fragen." Es ist kein Gefühl. Es ist eine row.

Was eine session enthält

Jede session ist mit einer inbound order, dem operator im Dienst, dem dock oder der station und dem Öffnungszeitpunkt verbunden. Jedes während der session gescannte asset wird mit dieser session row verknüpft, sodass man später beantworten kann: "Was kam am Dienstagmittag an AMS-Dock-2 herein?" ohne E-Mails zu durchsuchen. Die QuickGrid intake component ist für keyboard-only Bedienung gebaut: Tab zwischen Zellen, Enter zum Speichern einer row, Alt+↓ für brand suggestions. Das Grid wurde so umgebaut, dass es auf ein Tablet passt, ohne horizontal zu scrollen, damit das dock keinen Desktop-Monitor auf einem Gabelstapler braucht.

Bulk receive

Für loads, bei denen das Scannen einzelner assets zu langsam ist, hat die Manifest-Tab der inbound-detail Ansicht jetzt einen bulk-receive flow: Serial list einfügen oder hochladen, die Plattform reconciled sie in einem Durchlauf mit dem Manifest und erstellt die asset rows in einer Transaktion. Discrepancies erscheinen in derselben view wie der per-asset scanner — gleiche reconciliation-Logik, andere Ergonomie. Praktisch, wenn 200 identische Latitudes auf einer pallet ankommen und der einzelne Scan-Rhythmus zum Bottleneck wird.

Der handoff

Eine session zu schließen ist eine bewusste Aktion. Der operator markiert den count, die discrepancies und eventuelle condition exceptions. Das System schreibt einen signierten handoff record — RLS-protected, tamper-evident, append-only — und die assets wechseln von "received" zu "inventory". Eine separate Rolle (warehouse manager) kann discrepancies über einem threshold freigeben, damit der operator eine fehlende pallet nicht allein wegdokumentieren kann.

Warum die Entität existiert

Weil "die inbound order ist auch der receiving record" falsch war. Eine inbound order ist eine vertragliche Aussage darüber, was kommen soll. Eine receiving session ist der physische Nachweis dessen, was angekommen ist. Beides zu vermischen bedeutete, dass man receiving nicht erneut öffnen konnte, ohne die order zu öffnen — und die order nicht schließen konnte, bevor receiving fertig war — was genau die Art state-machine deadlock erzeugte, die damit endet, dass jemand eine CSV per E-Mail schickt. Zwei Entitäten. Ein handoff. Vorhersagbarer Mittwoch.