Dashboard
No data loaded
What stands out
Daily volume by shift
Overnight work is credited to the evening it began.
Hot spots
Where the picking actually concentrated.
Top movers
Highest volume technicians this period.
Technicians
Select a name for individual performance. Batch ratio sits beside every throughput figure because it explains part of it.
All technicians
| Technician | Shift | Tasks | Share | Clock h | Tasks/h | Orders/h | Latency | Batch | Reading |
|---|---|---|---|---|---|---|---|---|---|
| Load a period. | |||||||||
Warehouse floor
Bin codes are aisle.rack.level.position. Drag to rotate, scroll to zoom.
Picks by area
Busiest bins
| Bin | Area | Picks | Materials | Techs |
|---|
Trend across periods
Rates are recomputed from summed counts, never averaged.
Tasks per period
| Period | Tasks | Clock h | Tasks/h | Latency | Batch | Techs |
|---|
Monthly review
Observations
Performance by technician
| Technician | Shift | Tasks | Share | Tasks/h | Orders/h | Latency | Batch |
|---|
Where the work happened
| Area | Picks | Share | Bins used |
|---|
Data quality statement
D099 inventory
A stock export is a photograph. Age runs from goods receipt to the snapshot instant.
What stands out
Age of stock on hand
Click a bar to filter the browser.
Fullest bins
| Bin | Lines | Products |
|---|
Bin wall
Every bin, drawn where it physically sits.
Staging and unstructured locations
Not shelf positions, so they are measured separately.
Aisle summary
| Aisle | Bins | Lines | Products | Avg fill | Over 1 yr | Stale share |
|---|
Stock browser
Search by part, description, bin or handling unit.
| Part | Description | Bin | Qty | Received | Age |
|---|---|---|---|---|---|
| Loading… | |||||
Part history
Movement
What changed between the two most recent snapshots.
Valuation
What the shelf is worth — and how much of it can honestly be priced.
Document library
Every file loaded, kept exactly as it arrived. Deleting one removes every figure derived from it.
Files
| File | Warehouse | Report | Status | Size | Original | Loaded | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Document
What Odyssey reads, and what it does with it
Written for someone who runs the warehouse, not someone who wrote the software.
Where the data comes from
SAP EWM is the warehouse module of SAP. Every pick, put-away and count is recorded there as a warehouse task, and what sits on each shelf is recorded as stock. Odyssey does not connect to SAP directly — you export a report from SAP to Excel and drop the file here.
Two warehouses are kept strictly apart and never combined: S099 is production, where the picking happens, and D099 is development, where stock is held. In the file itself they appear as the SAP owner codes BPS99 and BPSDEV, which is how Odyssey works out where a file belongs without asking you.
Nothing is ever overwritten. Re-importing a month creates a new revision and the previous one stays queryable, so last month's report still produces last month's numbers.
Files it accepts
Column names can vary — it matches on meaning, not exact spelling.
What the numbers mean
| Figure | How it is worked out | What to watch for |
|---|
Three things about this SAP data you should know
Amt.in Loc.Cur. on movement type 261. Until that exists, valuation reports zero coverage rather than an estimate. Nothing here is ever guessed.Audit
Every file, revision and open issue. Nothing here is derived — it is the record.
Open issues
| Severity | Rule | Rows | File | What it means |
|---|
Revisions
| Revision | Warehouse | Report | Period | # | Status | Created |
|---|
Imports
| File | Warehouse | Report | Status | Size | SHA-256 | Loaded |
|---|