SolvexaRetail
Manual ยท WhatsApp Bill Share
All TopicsBack to app

๐Ÿ“ฑ WhatsApp Bill Share

Send bills, payment links, receipts via WhatsApp ยท SMS fallback if not on WA ยท DPDP-compliant opt-in

Setup: Simulation vs Live mode

Two modes: Sim (logs to DB, no real send) for testing; Live (Meta Business API) for production.

  1. Admin โ†’ WhatsApp Settings
  2. Sim mode (default): pick Mode = Sim. Every "send" logs to WhatsAppOutbox but nothing goes out. Great for demos.
  3. Live mode: pick Mode = Live. Fill Meta credentials: WABA ID, Phone Number ID, Access Token, Business Phone (E.164), App Secret (for webhook signature verify)
  4. Enable Auto Send Bill to automatically WA every completed POS bill (only for opted-in customers)
  5. Enable Auto Reply for AI answering inbound queries โ€” see Inbound section.
โš  Meta requires an approved WABA (WhatsApp Business Account) โ€” apply via Facebook Business Manager. Takes 3-5 days for approval.

Send a bill manually

  1. Finish a POS bill. On the "Bill Complete" screen, tap ๐Ÿ“ฑ WhatsApp button
  2. Enter customer phone (E.164 format: +919876543210) โ€” or auto-filled if customer master has phone
  3. Tick Opt in for future bills if customer agrees
  4. Tap Send. Message goes via Meta API using the bill_share template.
  5. Delivery status tracked: Sent โ†’ Delivered โ†’ Read. Visible on /POS/SaleRegister โ†’ click bill.
๐Ÿ’ก Also works from HQ back-office: /POS/SendBill โ€” resend any historical bill to any customer.

Customer opt-in (DPDP compliance)

Under India's Data Protection Digital Personal Act (DPDP 2023), you need explicit consent to send marketing messages.

WhatsApp templates (Meta approval required)

Meta requires pre-approval of every message template. You cannot send freeform text (except in reply to an inbound message within 24 hours).

  1. Admin โ†’ WhatsApp Templates. Pre-seeded: bill_share, payment_reminder, order_ready, appointment_reminder, festival_greeting
  2. Submit each to Meta for approval via Business Manager. Approval takes 1-3 hours.
  3. Only Approved templates can be used. Rejected templates re-editable + re-submit.
  4. Templates have placeholders ({{1}}, {{2}}) โ€” filled at send time (customer name, amount, invoice no)

SMS fallback (when customer not on WhatsApp)

Meta returns error 131026 = "Not on WhatsApp". Solvexa auto-retries via SMS (MSG91 for India).

  1. Setup once: Admin โ†’ SMS Settings. Provider = MSG91. AuthKey + Sender ID (6-char DLT-approved) + Route.
  2. DLT templates: register + approve on TRAI DLT portal. Solvexa reads template ID per message.
  3. Automatic fallback: BillDeliveryService tries WhatsApp first. On 131026 โ†’ tries SMS. Only one delivery counted.
  4. Costs: WA โ‰ˆ โ‚น0.35 per bill, SMS โ‰ˆ โ‚น0.18 per segment (160 chars).

Customer owes โ‚น5,000 across 3 invoices. Send them a Razorpay hosted payment link โ€” they tap, pay via any UPI/card/wallet, we auto-mark paid.

  1. Customers โ†’ Payment Link โ†’ + New
  2. Pick customer (shows outstanding balance). Enter amount + optional invoice refs.
  3. Tick Send via WhatsApp + Send via SMS for redundancy
  4. Click Create + Send. Customer receives short link (rzp.io/i/XXX) + amount + description
  5. Payment auto-updates: PaymentLink.Status = Paid via Razorpay webhook. Auto-applied to invoice via receipt sproc.

Inbound messages + AI reply

Customer replies to your bill or messages your business phone. Solvexa can auto-answer basic queries via Saathi.

  1. Enable Auto Reply at WhatsApp Settings
  2. Customer WA-messages your business number: "kaunse hours khule ho aap"
  3. Saathi's Ollama/Claude answers in the customer's language: "We're open 9am to 9pm daily"
  4. If Saathi doesn't know, forwards to owner's WhatsApp for manual reply
  5. All inbound + outbound visible at /WhatsApp/Inbox with conversation history
๐Ÿ“Œ Owners themselves can chat with Saathi via WhatsApp. Opt in at /Admin/UserManagement โ†’ WhatsApp Phone + Opt-In. Then WA "sales today" โ†’ Saathi replies from your data.

STOP opt-out (mandatory legal)

Any customer who WA-replies "STOP" or "UNSUBSCRIBE" is auto-flagged as opted-out. All future sends to that number blocked.

๐Ÿ’ฌ Ask Saathi: "how many WA opt-ins" ยท "resend bill to customer X" ยท "who unsubscribed today"