MilkGo
/User Guide
User Guide

07. Deliveries — Daily Checklist

The most important screen in MilkGo. Every morning and evening you'll spend most of your time here.

It replaces the paper delivery register your driver used to carry — but it knows who lives where, what they ordered, and updates the bill on its own as you go.

Before you start

You need these set up first, in order:

  1. 03-products.md — at least one product (Cow Milk, Buffalo Milk…)
  2. 04-areas-societies.mdoptional but recommended — areas & societies your customers live in
  3. 05-customers.md — at least one customer
  4. 06-subscriptions.md — at least one active subscription, otherwise the delivery list will be empty

Where to find it

Bottom navigation → Deliveries (truck icon).

What you see at the top

ElementWhat it does
Date with < and > arrowsMove backward or forward by a day
Today badgeQuick visual that you're on today's date
Morning / Evening tabsSwitch shifts. Most actions happen on the current shift.
Generate (lightning icon)Creates today's deliveries from active subscriptions for the selected shift

Generating the day's list

Each morning, before you start delivering:

  1. Make sure the date is today.
  2. Pick the right shift (Morning).
  3. Tap Generate.
  4. You'll see "X new deliveries created" — that's the customers due today.

If you tap Generate later in the day, it only adds new ones (it won't duplicate). Safe to tap multiple times.

The summary cards

Below the date/shift bar:

CardWhat it shows
DeliveredHow many deliveries marked complete (with %)
PendingStill to do
SkippedMarked as skipped (rain, gate locked, customer asked to skip…)
QtyTotal litres delivered today

Numbers update live as you mark each row.

The customer list

Each row shows:

  • Name + customer code (e.g. Ramesh — C102)
  • Product (Buffalo Milk · 2 litres)
  • Status circle on the left — colour shows state:
    • Yellow = pending
    • Green = delivered
    • Red = skipped
    • Orange = partial
  • Bill lock icon if the bill is already paid (locked rows can't be edited)

Customers are grouped by area → society so the order matches your real route.

How to mark deliveries

You have three ways to mark each row.

Option 1 — Swipe right (quickest)

Drag the row to the right. A green "Done" button appears under it. Lift your finger and the row turns green automatically.

  • Tap the same circle again → row goes back to pending (Undo).

Option 2 — Swipe left to skip

Drag left. Red "Skip" appears.

  • Skipped row goes red. Quantity recorded as 0.
  • Optional: open the row's drawer to add a reason (Not home / Gate locked / Customer asked / Holiday / Rain / Other).

Option 3 — Tap to open the drawer

Tap anywhere on the row that isn't the status circle. A drawer slides in with:

  • Status buttons: Pending / Delivered / Skipped / Partial
  • Actual quantity field (for partial deliveries — e.g. "delivered 1.5 of 2 litres")
  • Skip reason (only for skipped)
  • Notes (free text)

Tap Save. The row updates and (if WhatsApp is enabled) the customer gets a WhatsApp message.

When a customer has multiple products

If Ramesh takes Buffalo Milk + Cow Milk + Curd, he appears as one card with all three products listed inside.

You get extra options for that group:

  • Swipe right on the group → Deliver all — every editable item flips to delivered. One WhatsApp message lists all items.
  • Swipe leftSkip all.
  • Edit all (pencil icon) → opens a drawer with each product separately so you can set quantity per product.

This means one WhatsApp message per customer even when they have multiple items. Customers see a clean update, not three messages.

Filters

Above the customer list:

  • Area dropdown — show only one area at a time
  • Society dropdown — drill down further once you've picked an area
  • Search — type a name, code, or product

Useful when your driver is on a specific route and only wants to see those customers.

The donut chart (mobile floating button)

A small chart icon floats at the bottom right. Tap it to open a sheet showing:

  • Per-product progress (Buffalo Milk: 75% delivered, 20% pending, 5% skipped)
  • Total quantity per product

Useful at end of day to know "how much milk did we actually deliver".

Recent deliveries

At the very bottom of the page is Recent Deliveries — the last 50 deliveries across any date. Useful to find one you marked yesterday.

Editing a delivery later

You can edit any delivery as long as the bill isn't paid yet. Open the row → drawer → change the status or quantity → Save.

If the bill is paid, the row shows a 🔒 lock icon and the swipe gestures don't work. To edit, first cancel the bill payment from the Billing screen — then come back and edit.

What WhatsApp gets sent

When you mark a delivery (or group of deliveries) as delivered, skipped, or partial, the customer receives one WhatsApp message:

🥛 Hello, here is your latest order update. Shree Krishna Dairy Hi Ramesh, ✅ Delivery completed 📍 Home Delivery

Items: ✅ Buffalo Milk — 2 litre (₹120) · ✅ Cow Milk — 1 litre (₹50)

💰 Total: ₹170 📅 13 Apr 2026 | 🕐 7:30 AM Thank you! 🙏

Different status mixes (some delivered, some skipped) are reflected in the message automatically.

To turn this off (for one customer): open their profile and toggle WhatsApp notifications off. To turn it off (for everyone): Settings → WhatsApp Notifications → switch Delivery update off.

Common mistakes & how to avoid them

MistakeFix
Forgot to tap Generate in the morningThe list will be empty. Tap Generate first.
Marked the wrong customer as deliveredTap the green circle again to undo, or open the drawer to edit.
Quantity isn't right (delivered only 1L of 2L)Open the row, choose Partial, type the actual qty, Save.
Skipped a delivery but customer says "I got it!"Open the drawer, change to Delivered, Save. The bill auto-recomputes.

Tips that experienced owners share

  • Plan your route once: organise customers into Areas + Societies. Then your delivery list is already in walking order.
  • Use partial properly: don't mark "Done" if you only delivered half. Bills get wrong and customers complain.
  • Group multi-product customers: it's faster to swipe one group than three rows.
  • Check the donut at the end of the shift: if pending > 0 and you're back home, you missed someone.

What's next?

Once deliveries are flowing every day, the rest happens almost automatically:

Related upstream