📋 Sorted highest DSN → lowest DSN. Pack top card first — that customer is delivered last.
Loading...
🧾 POS — Home Delivery
Today: —
Recent Customers
📋 Cart
🛒
Tap a fish to add to cart
Discount ₹
0 items0.00 kg
Discount-₹0
TOTAL₹0
Quick Select
0.5 kg
₹0
Fish & Stock
Customers
📱 WhatsApp Name = the display name that shows in the WA group chat (often different from real name). Fill this so WA Import can auto-match orders to the right customer. Export → fill in Excel → re-upload via Bulk Add.
DSN
Call
Name
WA Chat Name
Phone
Area
Address
Orders
GPS
Actions
🤝 CRM
days idle
⏰ Needs Follow-up
Customer
Area
Last Order
Days Idle
Lifetime ₹
Nudge
Customer
Area
Tags
Orders
Lifetime ₹
Credit Due
Notes
🔢 DSN Management
How positional reorder works: Enter any DSN number in the input and press Set.
The system automatically shifts every other customer in that area to keep the sequence unique and gap-free — moving Sarath from A5 to A1
pushes the old A1, A2, A3, A4 down to A2, A3, A4, A5 automatically. No duplicates are ever created.
DSN ▲
Name
Phone
Area
Address
Set New DSN
Delivery Boys
Expenses
Date
Category
Description
Amount
Offers
💰 Accounts / Receipts
📋 Outstanding Now
Order Date
DSN
Customer
Area
Total
Received
Balance Due
Payment Split
By Area
📅 Date-wise Payment Report
Date
Orders
💵 Cash
📱 GPay
💳 Credit
Total
Fish Sales
Fish
Qty
Revenue
Margin
📈 Reports
Top Fish
Fish
Orders
Qty
Revenue
Daily Breakdown
Date
Orders
Revenue
Cash
GPay
Credit
Item-wise Sales — Qty, Revenue & Margin
Fish
Orders
Qty Sold
Revenue
Est. COGS
Est. Margin
Margin %
"actual" = real cost from the stock batch that was sold (tracked from Fish → +Stock). "est." = fish had no tracked batch yet, so today's buy price was used instead. "blend" = a mix of both within that row.
By Area
Area
Orders
Revenue
Delivered
Pending
Avg Order
By Delivery Boy
Boy
Assigned
Delivered
Pending
Collected ₹
Pending ₹
Payment Split
Customer-wise — Top Customers
Customer
Area
Orders
Revenue
Avg Order
Last Order
Days Since
📤 Notify Buyers of a Fish
Use {name} and {fish} — they're filled in automatically for each customer.
Customers who bought this fish
#
Name
Item
Qty
Call
WhatsApp
🛒 Purchase Log (Fish Stock Bought)
Date
Description
Amount
Sourced from Expenses entries logged under category "Purchase". Add purchases there (Expenses → +Add → Category: Purchase) to see them here.
📋 Customers with Outstanding Credit
Customer
Phone
Area
Outstanding ₹
Lifetime ₹
Last Order
📈 Daily Profit — Sales − Purchase Cost − Expenses
Date
Sales ₹
Est. COGS ₹
Other Expenses ₹
Profit ₹
🐟 Daily Item-wise Profit
Date
Fish
Qty Sold
Sale ₹/kg
Purchase ₹/kg
Profit ₹
"actual" = real cost from the stock batch that was consumed for that sale (Fish → +Stock records the buy price of every batch). "est." = no tracked batch covered that sale yet, so today's buy price was used as a fallback. Add stock through Fish → +Stock each time you buy, and every future sale gets an "actual" cost automatically.
💳 Payment Ledger — Customer × Order Date
Order Date
DSN
Customer
Area
Cash ₹
GPay ₹
Credit ₹
Total ₹
GPay only shows here once the payment is actually confirmed received (Orders tab → Pay dropdown, or Delivery boy's Pay QR screen). Anything not yet confirmed paid is listed under Credit until it's marked paid.
Staff & Logins
Staff log in using their password. They only see tabs you allow via module restrictions.
⚠️ Danger Zone
Clear ALL data — orders, customers, fish, expenses. Cannot be undone.
💬 WhatsApp Order Import
Copy messages from WhatsApp (Select messages → Copy) and paste below. Works with all 3 groups — paste one group at a time, or all together. Already-imported messages are skipped automatically (duplicate-safe). Stock-out messages (e.g. "Netholi kazhinjhu" / "Netholi over" sent from your own number) automatically cut off any later order for that fish — those rows are flagged in red and excluded from import by default.
In WhatsApp: open the group → ⋮ menu → More → Export chat → Without Media → share the .txt file to yourself → upload it here
⛔ Stock-out cutoffs detected
Preview — check each row, uncheck any you don't want imported