Please pick a retailer from the list, or leave blank.
➕ Add User
Adding a user is a two-step process: Step 1 (here): Add the email + role to the whitelist. Step 2: Create the auth user in Supabase Dashboard with a password.
Set a password (share it with the user via secure channel)
Check "Auto Confirm User"
Click Create user
Once created, the user's profile is auto-populated with role — via the database trigger. They can immediately log in.
📂 Upload Export Files
Upload fresh Shopify exports to update the dashboard
📋
Orders Export
orders_export.csv
🏭
Inventory Export
inventory_export.csv
⏱ Recent Uploads (Last 5)
Type
Filename
Uploaded At
Region:
Month:
Total Invoiced Gross
—
Credit Notes
—
Collected
—
Total Outstanding
—
Overdue Amount
—
Past Due Date: 45 Days from Invoice Date
Where did the money go?
Monthly Invoicing & Collection Status
Amount invoiced each month, split by what’s been collected vs still outstanding as of today. Full bar = total invoiced that month.
How to read this chart
Each bar groups invoices by their invoice date month. The full bar height = total amount invoiced that month. Each colored band shows what has happened to those invoices as of today:
Collected — payment received in full or in part
Credit Notes — returns / adjustments reducing the invoice
Due — outstanding balance, still within credit period
Overdue — outstanding balance, past due date (45 days from invoice date)
Example: if Mar 26 shows ₹25L Overdue, it means invoices issued in March 2026 totalling ₹25L are still unpaid and have crossed their due date.
▶Collection Aging Chartclick to expand
0–30 days31–60 days61–90 days91–120 days120+ days
Retailer
City
Channel
Balance
0–30d
31–60d
61–90d
91–120d
120+d
Salesman
Filters
Total Invoiced Gross
—
Credit Notes
—
Collected
—
Total Outstanding
—
Overdue Amount
—
Past Due Date: 45 Days from Invoice Date
New Retailers
—
Existing Retailers
—
Total Retailers
—
▶Chartclick to expand
Sports — Existing
Sports — New
Hosiery — Existing
Hosiery — New
Invoice
Date
Due
Retailer
City
Region
Channel
Invoice Value
Cr. Note Value
Received
Balance
Invoice Qty
Cr. Note Qty
Net Qty
Invoice
Date
Retailer
City
Region
Channel
Invoiced
Cr. Note
Credit Note PDF
Top 10 retailers
Ranked by selected metric
Rank by
Retailer
Invoiced
Units
Orders
Channel
New
—
First order ≤60d ago
Active
—
Ordered ≤30d ago
Slipping
—
Last order 30–90d ago
Dormant
—
90+d no order
How retailers are scored
📊 Tier (volume)
Pareto-based by total invoiced amount. A = top 20% of retailers (driving most revenue), B = next 30%, C = bottom 50%. Retailers with no invoices yet are Unrated.
💚 Health (payment)
Healthy = balance fully cleared, nothing outstanding. Watch = has outstanding balance (current invoices, or small overdue without aged dues) but manageable. At-Risk = ≥30% of balance overdue OR has invoices in 91+ days bucket.
Volume × Payment health
x: total invoiced · y: collection rate · size: units ordered · colour: dominant channel · ring: multi-channel
SportsHosieryMulti-channel
Retailer ranking
#
Retailer
City
Channel
Orders
Units
Invoiced
Outstanding
Last order
Tier · Health
Total
—
All retailers
New
—
First order this month
New Visits
—
First visit this month
Active
—
2+ orders, last <60d
Occasional
—
Last order 60–90d
Dormant
—
90+ days no order
No Orders
—
Never ordered
Code
Retailer Name
City
Owner
Phone
Channel
Lifecycle
Balance
🏪
Edit Retailer Info
Margin Structure
Issue Tickets
Raise issues and track resolution.
⚙ ADMIN MODE
Total
0
Open
0
In Progress
0
Resolved
0
Ticket ID
Status
Title
Type
Priority
Submitter
Assigned To
Created
Date
Order #
Retailer
Channel
Region
City
Total Qty
Status
Order from Photo
Photograph a handwritten order form. AI reads it and pushes a Draft Order to Shopify.
The pages you uploaded appear to have different retailer names. This may mean one or more photos belong to a different order.
Are you sure all these pages are from the same order?
Admin
Manage users, roles, and view system audit logs.
🔄 Shopify Variant Catalog
Refresh the local variant catalog used for order matching. Run this after adding new products in Shopify.
📍 Field Day Management
View and end active field days for any rep. Use this if a rep forgot to end their day.
Loading…
Total Users
0
Active
0
Inactive
0
Pending Sign-Up
0
Name
Email
Role
Status
Added
Ticket Deletion Audit Log
Record of tickets deleted by admin (with snapshot of ticket metadata).
Ticket ID
Title
Was Status
Submitter
Deleted By · Reason
Deleted At
Masters
Single source of truth for core entities. Changes here re-attribute orders & ledger automatically.
⚠️ Unmatched Names
Order/ledger names that resolve to no retailer. Link = spelling variant of an existing retailer (adds an alias). Create = genuinely new retailer (gets the next RET code).
Name
Source
Rows
₹ Value
Last Seen
Action
Loading…
📒 Directory & Aliases
Code
Name
Channel
City
Region
Aliases (✕ to remove)
📦 Product Catalog (from Shopify)
Source: shopify_variants + live stock. Categories/MRP refresh with the catalog.
Dictate in Hindi for as long as you need — it's transcribed to English and added to the notes above.
Next Action
Add New Retailer
Margin Tier
Photo (optional — store front, sign, etc.)
Day Journey
Loading orders…
Picked Queue
Select an order to start packing
No picked orders yet — finish picking one first.
Packed Today
If some items can't be packed (out of stock, damaged), use Short Pack to finish with what you have.
📷 Scan Bin QR Code
Point camera at bin QR code
Inward Records
Stock In — Inward
Date Received *
Supplier Name
PO Number (optional)
Retailer *
Credit Note # (optional)
Note: Use Qty Received for total units back. Use Rejected for damaged/non-resaleable units that won't go back to inventory. Accepted = Received − Rejected.
Notes
📷 Barcode Scanner
Scan Code128 product tags · works best with clear barcodes
📝 Scan Label BETA
Read the price label text (Article + Colour + Size) · use when barcode is blurred
Line Items
Click a card to expand · only one open at a time
📦
No lines yet — click + Add Line to start
📂
Upload Inward CSV
Use the template downloaded above — fill in your inward details and upload here
Choose File
Preview —
to
Loading history…
📷 Scan Barcode
Scan a product barcode to see full info, inventory and sales data
📝 Scan Label BETA
Read the price label text · use when barcode is blurred
Search by Article Number or Name
—
Total Bins
—
Articles
—
Variants
—
Total Bin Qty
⇧ Upload CSV
Preview
Loading bin data…
Online Returns & Exchanges
Live return/exchange requests from Shopify. Ops own the three statuses; every change is logged.
Order
Created
Customer
Type
Return Status
Product(s)
Reason
Request status
Delivery status
Refund / Exchange
Age
History
✕
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Hyperbot AI
Hi! Ask me anything about your dashboard.
Edit Bin
Current Contents
Add Variant
Article
Colour
Size
Bin Qty
ⓘ Bin Qty = physical units placed in this bin. Leave 0 if unknown.