MilkGo
/User Guide
User Guide

12. Drivers — Adding Team Members Who Deliver

A driver is anyone who delivers milk on your behalf. Add them to MilkGo and they get their own login + a stripped-down app showing only today's checklist.

Before you start

  1. 02-roles.md — your role must support drivers (Tabela / Mandali / Shop)
  2. 04-areas-societies.md — for assigning routes
  3. 05-customers.md — customers exist with subscriptions

Where to find it

Bottom navigation → Drivers (truck icon).

If you're a milkman who delivers yourself, you don't need this section. Turn on "I am my own driver" in Settings → Modules — the Drivers screen hides and Deliveries becomes your direct checklist.

Adding a driver

  1. Tap + Add Driver.
  2. Fill in:
FieldExampleRequired?
NamePravin Solanki
Phone9123456789✓ — used as login
Vehicle typebike / auto / tempo / truck / bicycle / otherrecommended
Vehicle numberGJ-05-XX-1234optional
Commission typenone / fixed_monthly / per_delivery / percentageoptional
Commission valuedepends on typeconditional
PIN (auto-generated 4 digits)system-generated
ActiveOn
  1. Tap Save.

A 4-digit PIN is generated for the driver. Share it with them via SMS or in person — they need it on first login.

How drivers log in

  1. Driver opens MilkGo (any phone with the app installed, or milkgo.in in the browser).
  2. Enters their mobile number (the one you registered).
  3. App detects it's a driver login — asks for the 4-digit PIN you shared.
  4. They're in. They see only today's deliveries assigned to them.

Assigning routes

A driver doesn't auto-see every customer — you must explicitly assign which routes they cover.

From the driver's profile

  1. Open the driver.
  2. Scroll to Route Assignments.
  3. Tap + Add Assignment.
  4. Pick:
    • Area (or All Areas)
    • Society (within that area, or All)
    • Shift — Morning / Evening / Both
    • Days of week — All / Mon–Fri / weekends / specific days
  5. Save.

You can add multiple assignments — e.g.:

  • Pravin → Adajan, Morning, Mon–Sat
  • Pravin → Vesu, Evening, all days

The driver's daily checklist will only show customers matching at least one of his assignments.

Bulk assign

If you have a single driver who covers everything, set All Areas / All Shifts / All Days. Done.

What the driver sees on their phone

A simplified version of the deliveries screen with just:

  • Today's date + shift
  • Generate button (only if owner allows)
  • Customer list for their assigned area + shift only — names, addresses, qty
  • Tap circle or swipe right to mark delivered
  • Swipe left to skip (with reason picker)
  • Edit qty when delivery is partial
  • Optional: collect cash & record payment

What they don't see: products, billing, customers admin, drivers, reports, plans, settings beyond profile.

Driver permissions

By default a driver can:

  • ✅ View today's assigned deliveries
  • ✅ Mark delivered / skipped / partial
  • ✅ Edit qty
  • ✅ Record cash payments (if owner allows)
  • ✅ Add notes / photos to deliveries

A driver cannot:

  • ❌ Add or edit customers
  • ❌ Add subscriptions
  • ❌ See bills
  • ❌ Generate bills or send WhatsApp messages
  • ❌ See other drivers' assignments
  • ❌ See revenue / reports

Multiple drivers

Add as many as you need (subject to plan limits — see 15-plans-billing.md).

Common setups:

  • 2 drivers, split by area — Driver A: Adajan + Vesu morning; Driver B: Athwa + Piplod morning
  • 2 drivers, split by shift — Driver A: morning all areas; Driver B: evening all areas
  • 1 main + 1 backup — Main covers all routes; backup gets activated only when main is on leave

Commission tracking

If you pay drivers, set the commission method:

TypeWhat it meansReports show
nonePaid externally, not trackedJust delivery counts
fixed_monthlyFlat ₹ per monthSalary outgoing per month
per_delivery₹X per delivery completedTotal deliveries × ₹X
percentageX% of revenue from that driver's deliveriesRevenue × X%

This is for your records — MilkGo doesn't auto-pay drivers. Use the report when settling up at month-end.

Removing or replacing a driver

If a driver leaves:

  1. Open their profile.
  2. Toggle Active off.
  3. Save.

Their deliveries history is preserved. They can no longer log in.

To replace: add a new driver, copy the route assignments. Old driver's history stays intact.

Driver works for multiple owners

A driver who delivers for two dairies can use the same phone number. When they log in, MilkGo asks "which owner are you delivering for today?" and shows that owner's checklist.

You set this up by ensuring the same phone number is added as a driver under both owner accounts.

Tips

  • Keep PIN simple. 4 digits is already short — don't overcomplicate. Drivers will type it daily.
  • Assign routes specifically. Vague "all areas" assignments make the daily list overwhelming for drivers.
  • Don't share the owner's login with drivers. They'd see everything. Always create a proper driver account.
  • Active toggle, not delete. If a driver might come back next month, deactivate; don't delete.

Common mistakes

MistakeFix
Driver logs in but sees no deliveriesCheck Route Assignments — at least one must match today's shift + area
Driver sees deliveries from wrong areaEdit assignments — remove unneeded areas
Forgot driver's PINOpen driver profile → Reset PIN → share new one
Driver can't login at allConfirm phone number matches what's saved; check Active = On
Driver records cash but it doesn't show on billCash payments by drivers go through the same /api/payments flow — refresh the billing screen

What's next?

Related upstream