MOVED Total Weight (lbs) now sits in the summary block between Type and Stage (was a reference col). Per-case weight stays in reference.
NEW parent_barcode (Spec 1) · Scanned Date (formatted w/ time; raw ISO kept in reference) · Item Name (← qb_items.qb_item_description). All 37 current values preserved (40 cols total).
Summary read-only — protected, no cell edits
Grouped by Item Name (qb_item_description) · sorted by First Scanned ↑ · blank names → clickable “update Item Name” bucket · each Item Name → Dashboard Trace (GS1 + Lineage); ↗ rows → filtered Scan Log. Click “# Inventory ▸” to expand into Unprocessed / Processed.
Inventory = items whose latest stage ≠ SHIPPED. Unprocessed = latest ∈ {RECEIVE, PLANT_IN}; Processed = latest = PLANT_OUT; Unprocessed + Processed = # Inventory. Rebuilt server-side on every scan (post-ingest, background fanout); drill-down via Item Name → Dashboard Trace (qb_item_id filter) and ↗ rows → filtered Scan Log.