How greenhacker420/tally_sync works
FinSync360 is a multi-platform ERP: users manage companies, accounting vouchers, inventory, payments and reporting through web, mobile or desktop clients, with the backend coordinating business APIs and persistence. Separate branches provide Tally synchronization and ML-powered predictions and analytics. The graph preserves documented GST, communications and payment capabilities; several are represented by their existing controller or service directories because their implementation was not sampled. Edges are limited to README statements and source relationships visible in the excerpts or SOURCE INDEX.
Main entry points: server.js ERP API · screens Mobile app · reportController.mjs Reports and budgets · main.py ML API
Components 23
Business clients
- Web ERP
frontend-nextjs/src/app - Mobile app
mobile/src/screens - Desktop ERP
desktop/renderer/src
ERP backend
- ERP API
backend/src/server.js - Authentication
backend/src/routes/auth.js - Vouchers
backend/src/controllers/voucherController.js - Inventory
backend/src/controllers/inventoryController.js - Companies and parties
backend/src/models/Company.js - Reports and budgets
backend/src/controllers/reportController.mjs - MongoDB
backend/src/config/database.js
Integrations
- GST compliance
backend/src/controllers/gstController.mjs - Digital payments
backend/src/controllers/paymentController.js - Email and notifications
backend/src/services
ML intelligence
- ML API
ml-service/main.py - Predictions and analytics
ml-service/services/prediction_service.py - Model training
ml-service/services/training_service.py - ML data access
ml-service/config/database.py
Desktop operations
- Tally desktop agent
desktop-agent/main.js - Tally synchronization
desktop-agent/src/services/SyncManager.js - Tally connector
desktop-agent/src/services/TallyService.js - Offline desktop data
desktop/src/main/services/DatabaseService.js - Desktop sync
desktop/src/main/services/SyncService.js
Other components
- Business user
Connections 27
- Business user → Web ERP: uses
- Business user → Mobile app: uses
- Business user → Desktop ERP: uses
- Web ERP → ERP API: calls API
- Mobile app → ERP API: calls API
- Desktop ERP → Offline desktop data: uses offline data
- Desktop sync → Offline desktop data: reads and writes
desktop/src/main/services/SyncService.js - ERP API → Authentication: mounts routes
backend/src/server.js - ERP API → MongoDB: connects
backend/src/server.js - ERP API → Vouchers: routes vouchers
backend/src/server.js - Vouchers → Companies and parties: updates balances
backend/src/controllers/voucherController.js - Reports and budgets → Companies and parties: reads company data
backend/src/controllers/reportController.mjs - Reports and budgets → Vouchers: reads vouchers
backend/src/controllers/reportController.mjs - ERP API → Inventory: serves inventory
- ERP API → Reports and budgets: serves reports
- ERP API → GST compliance: serves GST
- ERP API → Digital payments: serves payments
- ERP API → Email and notifications: provides messaging
backend/src/server.js - Tally desktop agent → Tally synchronization: initializes
desktop-agent/main.js - Tally synchronization → Tally connector: syncs from Tally
- Tally desktop agent → ERP API: syncs with ERP
- Desktop sync → ERP API: calls backend
- ML API → Predictions and analytics: initializes
ml-service/main.py - ML API → Model training: initializes
ml-service/main.py - Predictions and analytics → ML data access: reads data
ml-service/services/prediction_service.py - Model training → ML data access: reads data
ml-service/services/training_service.py - Mobile app → ML API: requests predictions