This project is an extended web version of Tally Prime 6.0, bringing powerful business management tools to your browser. It enables seamless access to Tally data and features from anywhere, leveraging Tallyβs XML API for real-time financial insights, analytics, and business operations management.
Built with React.js and TypeScript, this dashboard integrates with your existing Tally server, providing modules for sales, purchases, inventory, ledgers, and moreβall accessible via a modern web interface.
src/
βββ modules/ # Feature-based modules
β βββ dashboard/ # Main dashboard module
β βββ sales/ # Sales management module
β βββ purchases/ # Purchase management module
β βββ inventory/ # Inventory management module
βββ shared/ # Shared components and utilities
β βββ components/ # Reusable UI components
β βββ hooks/ # Custom React hooks
β βββ utils/ # Utility functions
βββ context/ # React context providers
βββ docs/ # Documentation
- Overview Cards: Key financial metrics with trend indicators
- Cash & Bank Overview: Real-time balance tracking
- Quick Stats: Important alerts and notifications
- Recent Activity: Latest transactions across all modules
- Sales Overview: Revenue metrics and top customers
- Sales Analytics: Interactive charts and performance metrics
- Customer Management: Complete customer database with contact information
- Sales Transactions: Detailed transaction history with filtering
- Purchase Overview: Procurement metrics and top suppliers
- Purchase Analytics: Spending analysis and supplier performance
- Supplier Management: Supplier database with ratings and contact details
- Purchase Transactions: Complete purchase order history
- Inventory Overview: Stock value and category breakdown
- Stock Levels: Visual representation of current stock levels
- Low Stock Alerts: Critical and low stock notifications with reorder suggestions
- Inventory Movements: Complete stock movement history
- Node.js (v16 or higher)
- npm or yarn
- Access to a running Tally Prime 6.0 server (with Tally XML API enabled)
npm install
To connect the dashboard to your Tally server, you must configure the Tally server URL in vite.config.ts
before running the app. This enables the reverse proxy for API requests.
- Open
vite.config.ts
in the project root. - Locate the
server.proxy
section:server: { proxy: { '/api/tally': { target: 'http://<YOUR_TALLY_SERVER_IP>:<PORT>', changeOrigin: true, rewrite: (path) => path.replace(/^\/api\/tally/, ''), timeout: 120000, proxyTimeout: 120000, } } }
- Replace
http://192.168.31.119:9000
with your actual Tally serverβs IP and port.- Example:
target: 'http://192.168.1.100:9000'
- Example:
- Save the file.
Note: The app will not work unless the Tally server URL is correctly set and the Tally server is running with XML API enabled.
npm run dev
npm run build
Each module is self-contained with its own components, logic, and routing. This makes the application:
- Scalable: Easy to add new modules
- Maintainable: Clear separation of concerns
- Testable: Isolated functionality
- Page Components: Main module entry points
- Feature Components: Specific functionality within modules
- Shared Components: Reusable UI elements
- Context API: Global state management
- Local State: Component-specific state
- Custom Hooks: Reusable state logic
- Reverse Proxy: All requests to
/api/tally
are proxied to your Tally server using the configuration invite.config.ts
. - XML API: The app communicates with Tally using its XML API for fetching and managing business data.
- Security: Ensure your Tally server is accessible only to trusted clients and the API is properly secured.
- Create a new folder in
src/modules/
- Add module components and routing
- Update the main App.tsx navigation
- Add documentation in
docs/modules/
- Tailwind CSS: Utility-first CSS framework
- Responsive Design: Mobile-first approach
- Color System: Consistent color palette
- Component Variants: Reusable style patterns
- Live Tally Data: Connects directly to your Tally server for real business data
- API Ready: Easily extend to other APIs or data sources
- Tally XML API: Designed for robust Tally integration
- Dashboard Module
- Sales Module
- Purchases Module
- Inventory Module
- Shared Components
- API Integration
- Customization Guide
- Tally Integration
- Follow the modular architecture
- Use TypeScript for type safety
- Write comprehensive documentation
- Test components thoroughly
- Follow naming conventions
- Ensure Tally server configuration is documented for new contributors
This project is licensed under the MIT License.