No activity yet. Add clients and start receiving photos.
All Clients
Incoming Photos
📲
No incoming photos yet. Photos sent to your WhatsApp number will appear here automatically.
🗂️ Entry Categories
📱 How clients send categorised photos via WhatsApp:
1. Client sends a text message with the category name — e.g. Feed or Medicine
2. Client immediately sends the 📷 photo
3. The system automatically links the photo to that category Clients can also create their own categories by sending 6 from the main menu.
⭐ Client-Created Categories
Created by clients via WhatsApp
No client-created categories yet.
⚡ Quick Entry Templates
No templates yet. Add reusable entries like "Feed Purchase" or "Medicine Stock".
0 selected
PKR 0
Expense Reports
📊
No data to report yet. Add clients and process expense photos to see reports.
WhatsApp API Configuration
📋 To connect WhatsApp, you need a Meta Business Account with WhatsApp Business API enabled.
Set your webhook URL to: https://YOUR-DOMAIN/webhook
The backend server (server.js) handles all incoming messages automatically.
🔑 API Credentials
From Meta Developer Console → WhatsApp → Phone Numbers
Any secret string you choose — must match server.js
From Meta Developer Console → System User Token (permanent)
🖥️ Backend Server Setup
Run the included server.js on any Node.js server or VPS.
It acts as your WhatsApp webhook receiver and processes incoming images automatically.
$ npm install
$ node server.js # Server running on port 3000 # Webhook: POST /webhook # Dashboard: GET / (this page)
⚡ AI Processing (Claude Vision)
Used to extract expense data from handwritten ledger photos
Add New Client
Include country code — used to match incoming messages
Client Details
📷 Photos
📋 Entries
🗂️ By Category
Upload Ledger Photo
Assign a category to all extracted entries from this photo
📷
Click to upload or drag & drop Handwritten ledger photos (JPG, PNG, HEIC)
⟳ Processing with Claude AI...
Edit Client
Delete Client
Are you sure you want to delete ?
This will also remove all their photos and expense entries. This cannot be undone.