How we built WhatsApp-native accounting for Indian SMBs with AI-powered transaction parsing.
FinTech / SMB Tools
Internal Portfolio Build
Small businesses lose hours daily on manual bookkeeping. Existing solutions require desktop access and accounting knowledge. Most SMB owners default to WhatsApp for everything — but no tool meets them there.
A WhatsApp-first accounting system that lets Indian small businesses record transactions via chat messages, with AI handling categorization, GST calculation, and Tally-compatible export.
Over 60 million Indian SMBs still track money in paper notebooks or basic spreadsheets. WhatsApp is already their primary business tool. We built KhataGO to meet them where they are.
Unlike traditional accounting apps that force users into desktop workflows, KhataGO treats WhatsApp as the primary interface. Send a message like 'Sold 5000 to Rahul cash' and the AI creates a categorized, GST-ready transaction instantly.
From generic problems to architectural solutions.
Indian SMBs conduct business on WhatsApp but track finances separately. Every context switch loses data and creates errors.
Most accounting software is English-only. Over 500 million Indians prefer Hindi, Gujarati, or regional languages for daily business.
Small businesses struggle with GST calculation, categorization, and filing. Manual errors lead to penalties and lost time.
Built to scale. Engineered for performance.
Send a text message or photo of a receipt — the AI parses it into a structured transaction with amount, party, category, and GST.
Eliminates the data entry bottleneck entirely. Business owners record transactions in seconds, not minutes.
Full UI in English, Hindi, and Gujarati. The AI parser handles mixed-language messages natively.
Reaches the 80%+ of Indian SMBs who prefer regional languages for business operations.
Automatic GST calculation on every transaction with one-click CSV and Tally XML exports for accountants.
Turns monthly GST filing from a 2-day manual process into a 5-minute export.
Dedicated accountant access with date-range filtering and bulk export capabilities.
Accountants get clean, structured data without back-and-forth calls to clients.
Real-time overview of daily, weekly, and monthly sales vs. expenses with GST liability tracking.
Business owners see their financial health at a glance — no accounting knowledge required.
Aggregated using optimized Prisma queries with date-range filtering and cached summaries.

Send 'Sold 5000 to Rahul cash' or a photo of a receipt — KhataGO creates a categorized transaction automatically.
Zero manual data entry. Transactions are recorded as fast as sending a WhatsApp message.
Powered by Google Gemini with structured output schemas, HMAC-verified webhook processing, and idempotent message handling.

Automatic GST calculation per transaction with monthly GST collected vs. paid summaries and Tally-compatible XML export.
Turns the most dreaded part of Indian small business accounting into a one-click operation.
GST rates stored per category with configurable overrides. Export generates Tally 9+ compatible voucher XML.

Track who owes what, log partial payments, and send automated WhatsApp reminders for overdue amounts.
Reduces payment collection delays — the #1 cash flow problem for Indian SMBs.
Cron-based reminder system with WhatsApp template messages, rate-limited to respect Meta's API quotas.

Next.js 15 with React 18, Tailwind CSS, and Radix UI for accessible, mobile-first components.
Next.js API Routes with Prisma ORM, PostgreSQL (Supabase), and Zod validation on every endpoint.
Vercel serverless deployment with Supabase connection pooling, structured Pino logging, and Sentry monitoring.
WhatsApp Business API webhook integration with HMAC signature validation, idempotent processing, and rate-limited outbound messaging.
Every production system hides engineering decisions that don't show up in the UI. Here's what was actually difficult.
We used Google Gemini with carefully structured output schemas that handle Hinglish, Gujarati, and English input. The AI extracts amount, party, type, and category regardless of language mixing.
“Structured output schemas are more reliable than prompt engineering for extracting financial data from natural language.”
Vercel functions are ephemeral — in-memory queues lose jobs on cold starts. We implemented idempotent processing with database-backed status tracking and a cron-based orphan recovery system.
“On serverless, every piece of state must be in the database. In-memory is a cache, never a queue.”
Every API endpoint validates resource ownership. Contact and category references are verified against the session user before any write operation. Row-level security enforced at the Supabase layer as defense-in-depth.
“Authorization checks at the ORM layer are not enough — you need defense-in-depth with database-level policies.”
We bring the same level of engineering rigor and design excellence to every project.