16. FAQ — Frequently Asked Questions
Quick answers to questions we hear all the time. For step-by-step instructions, jump to the linked guide.
Getting started
Q: I just signed up. What's the very first thing to do? Pick your role first (Tabela / Mandali / Milkman / Shop). Then add at least one product, one area, one customer, one subscription. Now your delivery checklist works. See 01-getting-started.md.
Q: Can I change my role later? Yes — Settings → Edit Profile → Role. Changing role can hide / show features (e.g., shop_owner unlocks Counter mode). See 02-roles.md.
Q: Does MilkGo work without internet? You need internet to log in and send WhatsApp / generate bills. Daily delivery marking can survive flaky internet — actions queue and sync when back online. But prolonged offline use isn't supported as a feature.
Q: Which language should I pick? Whatever you read fastest. Default is Gujarati; Hindi and English are alternatives. The language also drives bill PDFs and WhatsApp messages your customers receive. 14-settings.md.
Customers + subscriptions
Q: My customer wants different milk on weekends. How? Create two subscriptions for the same customer: one Mon–Fri (e.g., 2L Buffalo), one Sat–Sun (e.g., 1L Cow). Both fire on their days. 06-subscriptions.md.
Q: Customer is leaving for 2 weeks. Pause delivery? Open subscription → set Status to paused with start/end dates. Deliveries skip automatically in that window. Reactivate later. 06-subscriptions.md.
Q: Why did one customer get billed less than expected? Open their khata. Look for skipped or partial deliveries — those reduce the bill. Or a paused subscription. Or a custom price overriding the default product rate.
Q: Can two customers share a phone number? Yes. Phone is not unique. Useful for husband/wife or parent/child households where the bill goes to one person.
Deliveries
Q: I forgot to mark yesterday's delivery. Can I still mark it? Yes. Deliveries page → date picker → pick yesterday → mark. Bill will pick it up at month-end. 07-deliveries.md.
Q: Driver marked someone delivered but actually skipped. How do I fix? Open that delivery → Edit → change status to skipped → save. If a bill was already paid, the overpayment moves to the customer's advance balance. 07-deliveries.md.
Q: Can I generate next month's deliveries in advance? Subscriptions are evergreen — they auto-generate daily. You don't pre-generate. The system creates today's checklist each morning.
Counter / walk-in
Q: Walk-in customer doesn't have a phone. Can I still record the sale? Yes — counter mode supports anonymous walk-ins. They appear under "Anonymous" in reports. 08-counter.md.
Q: Same customer comes daily for counter pickup. Better way? Convert them to a real customer with a subscription set to "shift = counter / pickup". They still walk in, but you mark from the daily list instead of re-entering each time.
Billing
Q: When do bills generate? Auto on the 1st of every month, around midnight. You can also manually generate any month from the Billing page.
Q: A customer paid in cash but app still shows unpaid. Why? Payment wasn't recorded. Open the customer's bill → Record Payment → Cash → save. WhatsApp receipt fires immediately. 10-payments.md.
Q: Customer paid more than the bill. Where does extra go? Into the customer's advance balance. Next month's bill auto-deducts from it.
Q: I deleted a delivery from a paid bill. Now the bill amount is less than what they paid. What happens? The excess automatically moves to advance balance. Customer doesn't lose money. 10-payments.md.
Q: Can I re-print an old bill? Yes. Billing → pick month → tap bill → "Download PDF" or "Send via WhatsApp".
Q: Customer not receiving messages. Why? Check in order:
- Your plan includes WhatsApp (My Plan).
- WhatsApp quota not exhausted (Settings → WhatsApp → usage).
- Customer's
whatsapp_notifyis ON (Customer → Edit). - Customer's phone is the WhatsApp-registered number (try
whatsapp_numberfield if different). - Owner toggle for that template type is ON.
See 11-whatsapp.md.
Q: Why did multi-product delivery come as 3 separate WhatsApp messages? Old bug. Refresh app — fixed. Now bundled into one message with all items.
Q: My customers don't read English / Hindi. Can I send Gujarati only? Yes. WhatsApp template language follows your app language. Set Settings → Language → Gujarati and all future messages will be Gujarati.
Q: Can different customers get messages in different languages? Not yet. Per-customer language is on the roadmap.
Drivers
Q: My driver's phone shows the wrong dairy.
Have them log out + log back in. If still wrong, check the driver record's owner_id (contact admin if needed). 12-drivers.md.
Q: Driver's checklist is empty. Check route assignments. Driver only sees customers in assigned area + shift + day. 12-drivers.md.
Q: I want a driver to NOT collect cash. Settings on the driver record → toggle off "Can record payment" (or set per-route). Driver loses the cash UI; they can only mark deliveries.
Plans + billing
Q: How do I upgrade? Settings → My Plan → Upgrade → contact admin via WhatsApp / phone / email. Pay via UPI; plan flips active in minutes. 15-plans-billing.md.
Q: Plan expired. Did I lose my data? No. Read-only access stays. Renew and you're back to full access — data was never deleted.
Q: Auto-renew? Not yet. Manual renewal each cycle.
Q: Can I downgrade? Yes — but you'll need to be under the lower plan's caps first (archive customers / drivers). Contact admin.
Security + privacy
Q: Where is my data stored? On Supabase (Postgres) hosted in India / Asia. Encrypted at rest. Multi-tenant — your data is isolated from other dairies.
Q: Can my driver see all my customers? Only the customers in their assigned routes/shifts. Other dairies' data is invisible. Customer financial details (bills, payments) hidden from driver role.
Q: I lost my phone. Will my data leak? PIN-locked + auto-logout on the OS lock screen. Anyone without your phone + PIN can't open the app. Change your phone OS lock and your MilkGo PIN ASAP.
Q: How do I delete my account? Settings → Danger zone → Delete account. Permanent. 14-settings.md.
What's next?
- 17-troubleshooting.md — when something is actually broken
- 15-plans-billing.md — upgrade or renew
- 14-settings.md — profile, language, theme