Count Control
I

Load the counts

Drop the .count.json files the counters sent in. Load as many as you like, in any order, as many times as you like. Every entry carries its own id, so re-loading a file someone already sent cannot double a location.

Pulls from the sync Worker every few seconds.
Drop count files here
or click to choose them
Paste a count instead
II

Monitor

By zone. Locations are not equal. A rack bin with three pallets counts in two minutes and GR12 full of sockets does not, so a single rate looks alarming while a team is in Grover and then recovers.

By counter. A counter with no entry for a while is either on a break, on a lift, or stuck.

III

Coverage

Not counted Counted once Third count requested Agreed Discrepancy Resolved Marked empty
IV

Discrepancies

Three outcomes, not two. Two counts that agree get exported. Anything else waits for a supervisor to count it a third time, and that number is what gets exported. A SKU one counter found and the other did not is a discrepancy, not an acceptance, and in the Grover room it will be the most common one by a wide margin.

V

Export for Odoo

One workbook, four tabs. Reconciled is the only one that gets uploaded: its first three columns map to product_id, location_id and inventory_quantity, which is the same structure the app captures, so nothing gets reformatted by hand. Discrepancies is what is missing from it. Coverage is every location and what happened to it. Raw is every submission, deleted ones included, and nobody edits it.

Nothing here writes to Odoo. Upload the Reconciled tab, review the Counted Quantity column in Odoo's own staging step, then Apply. The Expected Quantity column is deliberately empty this year, because Odoo starts with no stock and this first count is additive. Next year it is a reconciling count and the column already has a home.

·

Things to look at