Which waves will miss the truck?
Compares each wave's live pick rate with its cut-off and the pickers on shift.
Example output, illustrativeW-1016-06 is on pace for 15:20. The truck leaves at 15:00. Moving Arjun from D1 closes most of the gap.

Manage warehouse inventory, receiving, storage, picking, dispatch, and stock accuracy through connected workflows designed for operational control and traceability.
In a lot of warehouses the stock figure lives in software while everything around it lives on paper: the gate register, the receiving sheet, the pick list with ticks in biro. This system follows a case from the truck that brings it in to the truck that takes it out, and keeps every step linked to the one before.
Everything below is a working demo. Click around. It runs on invented data in your browser.
AI runs through every module. It recommends putaway slots, predicts which waves will miss the truck, flags count variances that look wrong and warns about stock that will age out. See the AI insights.What is stuck, where, and who owns it. Change the warehouse, zone or date range and the screen follows.
| Ref | What | Where | Waiting | Owner | Pri |
|---|---|---|---|---|---|
| GE-24418 | Gate entry, awaiting unload | Dock 2 | 38 min | Security | P1 |
| GRN-56021 | GRN, QC pending | C1 | 1 h 12 min | Shanthi (QC) | P1 |
| PA-77310 | Putaway, 6 LPNs | D1 | 54 min | Arjun P. | P2 |
| W-1016-08 | Wave released, no picker | C1 | 22 min | Unassigned | P1 |
| DSP-31877 | Dispatch, awaiting gate exit | Bay 4 | 17 min | Rohit (Shift lead) | P2 |
| CC-2241 | Recount requested | D1 | 3 h | Kavya (Inventory) | P3 |
| 14:06 | Pick | PT-90398 | BISC-75 x 48, D1-A-04-1 | Manjunath R. |
| 14:01 | GRN | GRN-56020 | TO-88412 from Hosur plant, 312 crates | Shanthi (QC) |
| 13:52 | Putaway | PA-77306 | LPN-C1-58244 to C1-A-02-1 | Arjun P. |
| 13:47 | Gate exit | GX-12940 | KA 51 AF 3307, 2 invoices | Security |
| 13:40 | Dispatch | DSP-31874 | Docket BLD-889201, 14 LPNs | Rohit (Shift lead) |
| 13:31 | Count | CC-2243 | A1 aisle A, 24 of 24 slots | Kavya (Inventory) |
Transfer Order, gate entry, receiving, GRN, quality check, LPN. Each step needs the one before it, and every LPN traces back to its GRN and TO.
| TO-88413 | Hosur dairy plant (Unit 2)Plant | At gate |
| TO-88409 | Malur co-packerSupplier | In transit |
| TO-88402 | Bhiwandi DCDC | GRN done |
| TO-88398 | Hosur dairy plant (Unit 2)Plant | Closed |
| SKU | Expected | Batch | Mfg | Expiry |
|---|---|---|---|---|
| MILK-500Toned milk, 500 ml pouch | 240 | M1016A | 2026-10-16 | 2026-10-21 |
| CURD-400Set curd, 400 g cup | 120 | C1016 | 2026-10-16 | 2026-10-30 |
| PNR-200Fresh paneer, 200 g | 60 | P1015 | 2026-10-15 | 2026-11-05 |
| BTR-100Table butter, 100 g | 40 | BT0921 | 2026-09-21 | 2027-03-20 |
| GRN | TO | From | Lines | Units | Variance | QC | Posted |
|---|---|---|---|---|---|---|---|
| GRN-56020 | TO-88398 | Hosur dairy plant (Unit 2) | 1 | 220 | 0 | Passed | 15 Oct, 21:10 |
| GRN-56017 | TO-88402 | Bhiwandi DC | 1 | 78 | -2 | Passed | 15 Oct, 17:42 |
| GRN-56011 | TO-88391 | Malur co-packer | 3 | 412 | +4 | Partial hold | 15 Oct, 11:05 |
| GRN-56004 | TO-88385 | Hosur dairy plant (Unit 2) | 4 | 455 | -5 | Passed | 14 Oct, 20:55 |
AI suggests the slot, the operator scans the LPN and the slot, and the move is booked as one step. An LPN is never in two places at once.
try sending the milk to D1-A-01-1, a dry rack, and see what happens
| Task | LPN | SKU | Qty | Pri | Status |
|---|---|---|---|---|---|
| LPN-C1-58310 | MILK-500M1016A | 24 | P1 | Pending | |
| LPN-C1-58311 | CURD-400C1016 | 18 | P1 | Pending | |
| LPN-C1-58312 | PNR-200P1015 | 12 | P2 | Pending | |
| LPN-C1-58313 | BTR-100BT0921 | 20 | P3 | Pending | |
| LPN-A1-22904 | GHEE-1LGH0904 | 30 | P2 | Pending | |
| LPN-D1-41022 | BISC-75BS1010 | 48 | P2 | Pending |
Daily, weekly and monthly cycle counts, plus the quarterly wall-to-wall. The snapshot stays frozen; differences are recounted or approved with a reason, and the trail stays.
| Location | SKU / batch | Expected | Counted | Variance | Status | Decision |
|---|---|---|---|---|---|---|
| D1-B-01-1 | BISC-75BS0920 | 64 | 64 | 0 | MatchedCount agrees with system | - |
| D1-B-01-2 | BISC-75BS1002 | 72 | 70 | -2 | MismatchedShort by 2 | |
| D1-B-02-1 | ATTA-5KAT0915 | 36 | 36 | 0 | MatchedCount agrees with system | - |
| D1-B-02-2 | ATTA-5KAT0926 | 40 | 28 | -12 | MismatchedShort by 12 | |
| D1-B-03-1 | SOAP-125SP0811 | 22 | 22 | 0 | MatchedCount agrees with system | - |
| D1-B-03-2 | SOAP-125SP0903 | 30 | 30 | 0 | MismatchedFound batch SP0915 instead of SP0903 | |
| D1-B-04-1 | BISC-75BS0928 | 18 | 0 | -18 | MissingNot found at location | |
| D1-B-05-1 | ATTA-5KAT1002 | 24 | 24 | 0 | MismatchedLabel dates differ from record (exp 2027-02-14 vs 2027-01-30) | |
| D1-B-06-1 | OIL-1LOL0907 | 0 | 6 | +6 | UnexpectedScanned but not in system for this slot |
| location | Lines | Expected | Counted | Net var. | Issues |
|---|---|---|---|---|---|
| D1-B-01-1 | 1 | 64 | 64 | 0 | 0 |
| D1-B-01-2 | 1 | 72 | 70 | -2 | 1 |
| D1-B-02-1 | 1 | 36 | 36 | 0 | 0 |
| D1-B-02-2 | 1 | 40 | 28 | -12 | 1 |
| D1-B-03-1 | 1 | 22 | 22 | 0 | 0 |
| D1-B-03-2 | 1 | 30 | 30 | 0 | 1 |
| D1-B-04-1 | 1 | 18 | 0 | -18 | 1 |
| D1-B-05-1 | 1 | 24 | 24 | 0 | 1 |
| D1-B-06-1 | 1 | 0 | 6 | 6 | 1 |
No decisions yet. Every recount, approval and rejection lands here with who and when.
Picking is where a warehouse mistake becomes the customer's problem, so it got the most attention. Demand is consolidated by SKU, so the picker visits each slot once, and every order keeps its own quantity underneath.
Example from the demo wave. Illustrative orders, not customer data.
| Sales order | Allocated | Picked | Open |
|---|---|---|---|
| SO-1001 Sri Lakshmi Provisions, Jayanagar | 20 | - | 20 |
Frontend simulation. These records live in your browser tab and reset on reload.
go on, try scanning the wrong shelf ↓
Simulated scanner. Nothing here reads a camera or talks to a warehouse.
A two-day-old pouch of milk is fine for the kirana down the road and not for the hypermarket. Set a threshold per channel; the system checks it before stock is promised.
These are one customer's starting values, not an industry standard. Each warehouse sets its own.
| SKU / batch | Mfg | Expiry | Life left | Location | Qty | Earmarked for | Eligibility | Recommended |
|---|---|---|---|---|---|---|---|---|
| MILK-500M1014B | 10-14 | 2026-10-19 | 60% · 3d | C1-A-01-1 | 4 | MTGreenway Hypermarket | Blocked | Route to General Trade only |
| MILK-500M1015A | 10-15 | 2026-10-20 | 80% · 4d | C1-A-02-1 | 35 | E-comBasketly | Eligible | No action |
| CURD-400C1009 | 10-09 | 2026-10-23 | 50% · 7d | C1-A-04-1 | 22 | GTDistributor: Vinayaka Agencies | Blocked | Hold. Offer to liquidation or staff sale |
| CURD-400C1014 | 10-14 | 2026-10-28 | 85% · 12d | C1-A-03-2 | 16 | E-comBasketly | Eligible | No action |
| PNR-200P1008 | 10-08 | 2026-10-29 | 61% · 13d | C1-B-01-1 | 10 | MTGreenway Hypermarket | Blocked | Route to General Trade only |
| PNR-200P1013 | 10-13 | 2026-11-03 | 85% · 18d | C1-B-02-1 | 6 | E-comBasketly | Eligible | No action |
| LASSI-200L0921 | 09-21 | 2026-10-21 | 16% · 5d | C1-B-05-1 | 18 | GTDistributor: Sai Ram Traders | Blocked | Hold. Offer to liquidation or staff sale |
| BTR-100BT0702 | 07-02 | 2026-12-29 | 41% · 74d | C1-B-06-2 | 40 | MTGreenway Hypermarket | Blocked | Hold. Offer to liquidation or staff sale |
| ATTA-5KAT0915 | 09-15 | 2027-01-13 | 74% · 89d | D1-B-02-1 | 36 | E-comBasketly | Blocked | Route to General Trade / Modern Trade only |
| GHEE-1LGH0310 | 03-10 | 2026-12-05 | 18% · 50d | A1-A-03-1 | 12 | GTDistributor: Vinayaka Agencies | Blocked | Hold. Offer to liquidation or staff sale |
| BISC-75BS0201 | 02-01 | 2026-09-29 | 0% · expired | D1-A-06-2 | 8 | GTUnallocated | Expired | Quarantine and write off |
Picked stock becomes invoice lines, LPNs are scanned onto the vehicle, and security cannot wave a truck out while a mandatory check is failing.
| LPN | SKU | Order | Expected | Scanned | |
|---|---|---|---|---|---|
| OUT-31877-01 | MILK-500 | SO-0987 | 40 | 40 | Loaded |
| OUT-31877-02 | CURD-400 | SO-0987 | 24 | 24 | Loaded |
| OUT-31877-03 | BISC-75 | SO-0991 | 118 | - | Not scanned |
| OUT-31877-04 | PNR-200 | SO-0994 | 40 | 40 | Loaded |
Not a chatbot bolted to the side. These are specific questions a supervisor already asks, answered from the warehouse's own history, with the reasoning shown.
Suggestions never move stock on their own. A person accepts or ignores them. How good they are depends on how much clean history a site has, which is something we look at before promising anything.
Compares each wave's live pick rate with its cut-off and the pickers on shift.
Example output, illustrativeW-1016-06 is on pace for 15:20. The truck leaves at 15:00. Moving Arjun from D1 closes most of the gap.
Looks at pick frequency against walking distance from dispatch.
Example output, illustrativeLASSI-200 was picked 41 times this week from C1-B-04, the far end of the chiller. C1-A-02 has room.
Flags variances that repeat by slot, SKU, shift or counter, instead of treating each one alone.
Example output, illustrativeFour of the last six ATTA-5K shorts were on D1-B-02, all after the night shift.
Projects shelf life against the channel rules and recent demand for each lot.
Example output, illustrativeAt current MT demand, 60 cases of PNR-200 batch P1008 will drop under 65% life before they ship.
Select a stage to see what goes in, what comes out, what is checked, and how it hands over to the next.
Every stage hands a reference to the next one. Follow those references backwards from a gate exit and you reach the pick task, the LPN, the GRN and the TO it started from.

Demand is consolidated by SKU so the picker visits each slot once. Each order keeps its own quantity underneath.
LPN, GRN and TO stay linked, so a customer complaint can be traced to the truck it arrived on.
Consolidated picking with per-order allocation means a shortage hits SO-1002, not a vague total.
Gate entry and gate exit are records with checks, not a notebook the security guard keeps.
Variances are approved with a reason and kept, never quietly written over the system figure.
Shelf-life thresholds, FEFO or FIFO, override roles: configured per site, not hard-coded.
Large targets, one-handed flows and clear error states on the handheld, because gloves and cold rooms are real.
Integrations are scoped per project, with your IT team, against your versions. These are the systems we are usually asked about. Listing them is not a claim of a certified connector.
No. Every screen here runs in your browser on invented data. Scans are typed or tapped, nothing reads a camera, and nothing is sent anywhere. Reload the page and it resets.
No. The WMS handles what happens inside the four walls. Orders, item masters and invoices usually stay in the ERP, and the two exchange data. We scope that interface with your IT team at the start.
Yes. Allocation strategy is configured per site or per category. FEFO, FIFO and pick-path order are in the demo; other rules can be added if your operation needs them.
They are one customer's starting values. Each channel's threshold, and whether a breach blocks allocation or only warns, is configurable. You can change them in the shelf-life demo above.
It comes up on almost every site walk. We plan for it during discovery: access point placement, which steps can queue on the device, and what has to be confirmed online before stock moves.
The demo does not. In a live setup, statutory documents normally come from your ERP or a certified provider, and the WMS passes it the picked quantities.
Either. Some sites want the server in their own data centre; others prefer a managed cloud. The handheld and screen experience is the same.
With one site and one flow, often receiving or picking, live on real stock before anything else is added. It is slower on paper and faster in practice.

Send us a week of orders and your item master. We will run the demo on those instead of ours.