Inspiration
Small and medium businesses across India rely heavily on Tally ERP for their accounting needs, but accessing critical financial data requires navigating complex menus and understanding technical accounting terminology. Business owners often need to call their accountants for simple queries like "What's my closing balance?" or "Who owes me the most money?" We realized that with AWS Bedrock's powerful Claude 3.5 Sonnet v2 model, we could bridge this gap by allowing business owners to ask questions in their natural language - whether that's English, Hindi, or the mixed "Hinglish" that's commonly spoken in India. This would democratize access to financial data and empower business owners to make faster, data-driven decisions.
What it does
TallyKaro Desktop Connector transforms how businesses interact with their Tally ERP data. Instead of navigating through complex accounting software, users simply ask questions in plain language: "Sabse zyada balance kiska hai?" (Who has the highest balance?) "July ka sales kitna tha?" (What were the sales in July?) "Show me outstanding payments" "Stock kitna hai?" (How much stock do we have?) The application connects directly to Tally's ODBC database, processes natural language queries through AWS Bedrock's Claude 3.5 Sonnet v2, generates optimized SQL queries, and returns results in an easy-to-understand format. It supports multi-language queries, maintains conversation context for follow-up questions, and can generate professional PDF reports.
How we built it
Frontend: Next.js React application with responsive UI and real-time query interface Desktop Layer: Electron framework for secure local ODBC connectivity to Tally databases AI Layer: AWS Bedrock with Claude 3.5 Sonnet v2 using bearer token authentication Data Storage: AWS S3 for caching, Supabase for cloud sync (optional) Key Technical Implementation: ODBC Integration: Direct connection to Tally ERP's database using Windows ODBC drivers Natural Language Processing: AWS Bedrock API integration with Claude 3.5 Sonnet v2 for query understanding Context Management: Maintains conversation history for intelligent follow-up queries Multi-language Support: Language detection and context-aware responses in English, Hindi, and Hinglish Query Optimization: Intelligent SQL generation based on Tally's unique database schema Security: Credential encryption, secure token management, and local-first architecture Technologies Used: TypeScript for type-safe development Electron for cross-platform desktop deployment AWS Bedrock Claude 3.5 Sonnet v2 for AI capabilities ODBC for database connectivity PDF generation for reports
Challenges we ran into
Tally's Database Schema: Tally's database structure is complex and non-standard. We had to deeply understand its schema to generate accurate SQL queries that retrieve the right financial data. Multi-language Context: Handling queries in mixed languages (Hinglish) required careful prompt engineering to maintain context across languages while ensuring Claude understood the business intent. ODBC Connection Management: Managing reliable ODBC connections in an Electron environment while preventing connection leaks and handling timeouts required implementing custom connection pooling and retry logic. Real-time Performance: Balancing between query accuracy and response time meant optimizing our AWS Bedrock prompts and implementing intelligent caching strategies. Security: Ensuring credentials never get exposed in the codebase while maintaining functionality for the public repository required implementing environment-based configuration management.
Accomplishments that we're proud of
True Multi-language AI: Successfully implemented context-aware natural language processing that seamlessly handles English, Hindi, and Hinglish queries Production-Ready Integration: Built a stable, reliable connection between Tally ERP and AWS Bedrock that works in real-world business environments Demo Mode: Created a comprehensive demo system with realistic business data, allowing judges to evaluate the full functionality without requiring Tally installation User-Centric Design: Achieved our goal of making accounting data accessible to non-technical business owners through natural conversation AWS Bedrock Excellence: Effectively leveraged Claude 3.5 Sonnet v2's capabilities for complex financial query understanding and response generation
What we learned
AWS Bedrock's Claude 3.5 Sonnet v2 is exceptionally powerful for domain-specific applications when properly prompted with context Multi-language NLP requires careful consideration of cultural context, not just translation Desktop applications still have significant value for secure, local-first data access The importance of maintaining conversation context for natural user interactions Real-world accounting software integration requires deep domain knowledge and careful testing
What's next for Tally Karo
Voice Interface: Add voice input support for hands-free queries in multiple languages Advanced Analytics: Implement trend analysis, forecasting, and business intelligence dashboards WhatsApp Integration: Allow business owners to query their data via WhatsApp messages Multi-User Support: Enable team collaboration with role-based access control Mobile Companion App: Develop iOS/Android apps that connect to the desktop connector More ERP Support: Expand beyond Tally to support other accounting systems like QuickBooks, Zoho Books Automated Insights: Proactive AI-generated business insights and alerts
Built With
- 3.5
- amazon-web-services
- bedrock
- claude
- electron
- erp
- next.js
- node.js
- odbc
- postgresql
- react
- s3
- sonnet
- supabase
- tally
- typescript
Log in or sign up for Devpost to join the conversation.