Zapro × OnHand · working document

OnHand: your inventory, run from WhatsApp

You text or send a voice note the way you'd talk to a helper. OnHand keeps the count, the job costs, and the quotes — and answers when you ask.

The one-minute version

1 — Say it. Voice note or text, to the OnHand WhatsApp number, in your own words.

2 — Confirm it. OnHand repeats back exactly what it understood. Nothing is written down until you say yes. If it's not sure, it asks — it never guesses.

3 — Done. The count updates, the job gets charged, alerts fire if something ran low. Every change is kept in a permanent log you can always look back on.

What a day looks like

Moving stock
Moved three boxes of Cat6 from the garage to Van 1
Moving 3 boxes · Cat6 cable Garage → Van 1. Confirm?
yes
✅ Done. Garage now has 4 boxes.
⚠️ REORDER: Garage Cat6 is below your minimum (4 < 5). Time to buy — BLVS is your usual vendor.
Charging materials to a job
Used about 200 feet of Cat6, four brackets and a box of screws on the Riverside job
Charging to Riverside: · 200 ft Cat6 (from Van 1) · 4× camera bracket · 1× box screws Confirm?
yes
✅ Logged. Riverside materials so far: $487.20.
Just asking — plain questions, any time
How many 8-channel NVRs do I have and where are they?
You have 3: 2 in the garage (right rack shelf), 1 in Van 1.
what's running low in the pickup truck?
2 items under minimum: RG59 crimps (0 left, min 2) and wall anchors (1 box, min 2). Both are stocked in the garage — say the word and I'll list the transfer.
Quoting a job
Quote for Goldman's office: five cameras and a two-button doorbell
Draft quote — Goldman's office · 5× turret camera · 1× 8-ch NVR (5 cameras → 8 channels, spare ports like you like) · 1× 4TB drive (your rule: ½TB per camera per 30 days) · 2 boxes Cat6, brackets, patch cords, jacks… · 1× R20B doorbell + bracket + web relay Materials $2,340 · Labor $2,850 · Total $5,190 (margin 38%) In stock: everything except the NVR → order from TLVS.
make it six cameras
Updated: 6 cameras, same NVR (still fits 8 channels), drive stays 4TB. New total $5,610.
Your spreadsheet, whenever you want it
send me the spreadsheet
OnHand-inventory-2026-07-28.xlsx Fresh copy — every location, every count, same layout you're used to.

Voice works both ways — ask by voice note and OnHand can answer with a voice note back, so you can hear it with your hands full on a ladder.

What happens to every message

flowchart LR
  A["You send it
voice or text"] --> B["OnHand listens
& understands"] B --> C{"Repeats it back
— confirm?"} C -->|"yes"| D["Books it
count · job · quote"] C -->|"no / fix it"| B B -->|"it's a question"| Q["Looks it up,
answers you"] D --> E["Checks your minimums"] E -->|"garage low"| F["⚠ REORDER
buy more"] E -->|"van low"| G["⚠ RESTOCK
transfer from garage"]

Reorder vs. restock — OnHand knows the difference: garage below minimum means buy; a van below minimum means move stock from the garage, not a purchase. Each location has its own minimums — the ones you set in your walkthrough.

Everything it does

📍 Stock by location & shelf

Garage, Van 1, pickup truck — down to the shelf ("left front bottom"), exactly as you counted it.

🔔 Reorder & restock alerts

Your minimums, per item per location. OnHand messages you the moment something dips under.

🧾 True job costs

Cable, screws, brackets — everything you eat today gets charged to the job, so you see what each job really cost.

💬 Ask anything

A built-in assistant that knows your data. Counts, locations, job spend, quote status — plain English, it keeps up.

📋 Quotes that size themselves

Say the job; your own rules pick the NVR, the drive, the cable boxes, the extras — with your margin shown live, and what needs ordering flagged.

🔒 Reserved stock

Accepted quotes put a hold on parts so two jobs never promise the same box. Customer-assigned stock stays marked.

📜 Full audit trail

Every movement, forever. "Undo that" makes a correcting entry — nothing is ever quietly erased. (You asked for audit — it's built into the bones.)

📊 Web view + Excel

A web page with your data in clean spreadsheet-style tables (look, don't type), and a real .xlsx in your chat whenever you ask.

🧮 QuickBooks (coming)

Purchases post to QuickBooks as bills automatically; accepted quotes become estimates. No double entry.

Built from your own numbers

Everything above runs on what you already gave us — nothing generic:

"Every camera is about ½ TB of storage per 30 days… a 16-channel NVR gets an 8TB hard drive."
"Hikvision NVR = 1 yellow patch cord per channel + 1 blue patch + finger duct."
"Each Cat6 cable = 1 same-color network jack. 24 ports per patch panel."

When we turn a rule of yours into the system, we read it back to you first — you confirm it the same way you confirm a stock move.

Still needed from you

Four short answers and your standard packages — the full list, with checkboxes, is on your to-do page.

The WhatsApp setup — step-by-step at WhatsApp setup (about 20 minutes, David on the phone with you for one step).

Where the build stands

building

Core: your data loaded, stock moves & job costing by text, alerts.

next

WhatsApp + voice + assistant: the number goes live, voice both ways, ask-anything.

then

Quoting: your rules confirmed with you, packages, reserved stock.

then

QuickBooks + vendor pricing: bills, estimates, price-file updates from BLVS/TLVS/ADI.

This page is a conversation. Anything here look wrong, missing, or backwards from how you actually work? Drop a note or a voice memo right below — the page (and the system) get updated as we go, and you'll see every change reflected here.

OnHand · prepared for Shia / Zapro · updates continuously during the build