VECA — Virtual Executive for Chartered Accountants
Author : CA Himanshu C Majithiya
Author : CA Himanshu C Majithiya
| 1. WHAT IS VECA? |
VECA (Virtual Executive for Chartered Accountants) is a full-stack, AI-powered practice management platform built specifically for CA firms and finance professionals. It automates the end-to-end workflow of a CA office — from client onboarding and compliance tracking to automated document collection, HR management, and AI-assisted data extraction — all within a single, secure, web application.
The platform is built on Django 5 (backend) and React 18 (frontend), secured by JWT authentication with OTP-based registration, and powered by Anthropic Claude and Google Gemini AI APIs for intelligent document processing and task automation.
| 2. THE PROBLEM IT SOLVES |
CA firms juggle hundreds of compliance deadlines, client documents, staff assignments, and government portal credentials simultaneously. The traditional approach relies on spreadsheets, WhatsApp reminders, and manual follow-ups — leading to missed deadlines, lost documents, and unproductive staff hours. VECA replaces all of this with a unified automated platform.
| Problem | How VECA Solves It |
| Missed compliance deadlines | Automated task generation and escalating reminder workflows |
| Manual document chasing | Auto-driven email pipelines with AI-powered data extraction |
| Scattered client credentials | Encrypted Credential Vault with per-client portal access storage |
| No staff accountability | Role-based task assignment, timer tracking, and audit trail |
| HR managed in spreadsheets | Built-in attendance, leave, and payroll modules |
| No real-time oversight | Live dashboard with task analytics, smart alerts, and email logs |
| 3. CORE MODULES — FOURTEEN MODULES, ONE PLATFORM |
| 4. AI-POWERED AUTO-DRIVEN WORKFLOW — THE STAR FEATURE |
The Auto-Driven Workflow is VECA's most distinctive capability. It turns every compliance task into a fully automated pipeline that runs without staff intervention:
| Pipeline Step | What Happens |
| Step 1 — Reminder Sent | The system automatically sends a personalised email reminder to the client when a task becomes due, using the configured email template. |
| Step 2 — Gmail Monitoring | VECA's Gmail monitor watches the connected inbox for client replies containing attached documents (e.g., Form 26AS, bank statements, TDS certificates). |
| Step 3 — AI Extraction | On receiving a reply with attachments, Anthropic Claude or Google Gemini AI extracts structured data from the document using a configurable extraction prompt. |
| Step 4 — Excel Generation | Extracted data is automatically populated into a pre-configured Excel template and stored as a task document. |
| Step 5 — Escalation | If the client does not reply within the configured window, the system sends escalation reminders automatically. |
| Step 6 — Monitoring | The Auto-Driven Monitoring screen shows real-time pipeline status, execution history, and allows staff to replay any step or manually trigger a send. |
| Test Pipeline | A built-in Test Pipeline tool allows staff to simulate each step (init → email → reply check → extraction) without affecting live data. |
| 5. SECURITY & ACCESS CONTROL |
| Security Feature | Implementation |
| JWT Authentication | Access and refresh token pair; automatic silent token refresh on expiry. |
| OTP-Based Registration | 3-step signup: email OTP → verify → complete profile. Password reset also via OTP. |
| Role-Based Access | Four roles: Admin, Partner, Manager, Staff — each with granular, per-module permission grants configurable at the staff level. |
| Session Auto-Lock | Screen locks automatically after 15 minutes of inactivity; unlocked by password re-entry without full logout. |
| Multi-Tenant Isolation | Every API request carries an Organisation ID header; data is fully isolated between CA firms. |
| Encrypted Credentials | Client portal passwords stored with encryption using Python cryptography library. |
| Audit Trail | All significant actions are logged immutably for accountability and compliance. |
| DPDP Compliance | Users can export their personal data or request deletion in compliance with the Digital Personal Data Protection Act. |
| 6. TECHNOLOGY STACK |
| Layer | Technologies |
| Frontend | React 18, Material UI 5 (glassmorphism design), React Router 6, Axios, Recharts, React Big Calendar |
| Backend | Django 5, Django REST Framework, Simple JWT, PostgreSQL, Celery + Redis (task queue) |
| AI / LLM | Anthropic Claude API (claude-3-series), Google Gemini (google-generativeai) |
| Google APIs | Google Tasks, Google Calendar, Google Drive, Gmail (via google-api-python-client + OAuth 2.0) |
| Document | ReportLab (PDF generation), pdfplumber (PDF extraction), openpyxl + pandas (Excel), Matplotlib (charts) |
| Messaging | WhatsApp Business API, Telegram Bot API |
| Security | Python cryptography library, JWT, OTP via email, CORS headers |
| Infrastructure | Gunicorn (WSGI), WhiteNoise (static files), environment-based config via python-decouple |
| 7. KEY DIFFERENTIATORS |
| 8. HOW AI IS USED IN VECA |
Document Data Extraction
When a client emails a TDS certificate, Form 26AS, GST document, or bank statement, Claude/Gemini reads the attachment and extracts structured fields (deductor name, PAN, amount, period, etc.) based on a configurable extraction prompt.
TDS-Specific Extraction
Pre-built extraction prompts for TDS Form 16, Form 16A, and Form 26AS are included, with support for multi-deductor extraction and discrepancy detection between expected and extracted values.
Excel Auto-Population
Extracted data is mapped to columns in a pre-uploaded Excel template, producing a ready-to-use working file automatically.
Configurable Prompts
Each Work Type can have a custom AI extraction prompt, making the system adaptable to any document type a CA firm receives.
AI Usage Tracking
The platform tracks AI API usage (tokens consumed, cost estimate, success/failure rate) per task and organisation, visible in the AI Usage dashboard.
| 9. USER ROLES & PERMISSIONS |
| Role | Access Level |
| Admin | Full access to all modules including organisation settings, user management, and all client data. |
| Partner | Same access level as Admin; intended for firm partners who need full visibility. |
| Manager | Access to all operational modules; can approve leaves, assign tasks, and manage staff. |
| Staff | Access restricted to permitted modules only; permissions are individually configurable per staff member by Admin/Partner. |
| Platform Admin | Super-admin role for the platform operator; manages all organisations, subscription plans, and platform-level settings. |
| 10. CLAUDE TOOL USE & MCP-PATTERN BOT INTEGRATION |
VECA implements Anthropic Claude's Tool Use API following the Model Context Protocol (MCP) pattern. The backend defines 21 structured tools that expose VECA's full data layer to Claude (and other LLMs). This allows the AI to read from and write to VECA — tasks, clients, attendance, leave, payroll, documents — through natural language conversations on Telegram.
The tool definitions are explicitly designed as MCP-compatible: each tool has a name, description, and typed parameter schema — the same structure an MCP server exposes to Claude. The LLMService class converts these definitions into the provider-specific format for Anthropic (input_schema), OpenAI/Groq (function calling), and Google Gemini (functionDeclarations) — making the bot provider-agnostic.
The 21 MCP-Pattern Tools Exposed to Claude
| Tool Name | What Claude Can Do With It |
| list_tasks | List tasks with filters: status, assignee, client, due date range |
| get_task | Get full details of a specific task by ID |
| create_task | Create a new compliance task with work type, client, assignee, and due date |
| update_task | Update task status, assignee, due date, or remarks |
| delete_task | Delete a task by ID |
| assign_task | Reassign a task to a different employee |
| list_clients | List clients with optional search and category filter |
| get_client | Get full details of a specific client |
| create_client | Create a new client with name, email, mobile, PAN, GSTIN, address |
| list_employees | List employees with search and role filter |
| get_dashboard_summary | Fetch live dashboard statistics (totals, overdue counts) |
| get_task_report | Get task analytics grouped by status, category, assignee, or client |
| get_attendance_status | Get the authenticated user's attendance status for today |
| start_day | Clock in — start the work day |
| end_day | Clock out — end the work day |
| apply_leave | Apply for leave with type, dates, and reason |
| get_leave_balance | Get the user's current leave balances across all leave types |
| list_compliance_filings | List compliance filings with optional status and client filters |
| get_my_payslips | Retrieve payslips for a given month and year |
| search_documents | Search the Document Vault by keyword |
| list_task_categories | List all configured work types / task categories |
How the Bot Conversation Works
| Step | Description |
| User sends message | Staff member sends a natural language message on WhatsApp or Telegram (e.g., "Show me all overdue tasks for client Sharma & Co") |
| OTP Authentication | On first use, the bot authenticates the user via a 6-digit OTP sent to their registered email. A JWT token is issued for subsequent API calls. |
| LLM Processes Message | The message (plus up to 20 turns of conversation history) is sent to Claude/Gemini with all 21 tool definitions. |
| Tool Call Executed | Claude decides which tool to call (e.g., list_tasks with client filter). The backend executes the tool against VECA's database using the user's JWT. |
| Response Sent Back | The tool result is returned to Claude, which formats a concise, WhatsApp/Telegram-friendly reply with bullet points and ₹ formatting. |
| Multi-Provider Support | The bot works with Anthropic Claude, OpenAI GPT, Google Gemini, and Groq — switchable from the Platform Admin settings without any code change. |
The AI assistant system prompt instructs Claude to act as "VACA AI Assistant" — a CA practice management assistant that is concise, uses bullet points, formats amounts in Indian Rupees, and clarifies ambiguous requests before taking action.
| 11. IMPACT & BENEFITS FOR CA FIRMS |
VECA delivers measurable operational improvements for CA practices: