How nilesh1381/finsight works
FinSight is an invoice-processing and financial-insights application. Users enter through the authenticated web UI to upload invoices, view records and analytics, inspect GST and fraud results, analyze vendors, or ask an AI advisor. Invoice uploads are extracted, categorized, checked, and stored; a separate FinAI API supports invoice indexing and retrieval-grounded chat. The README is empty, so capability coverage is based on the supplied tree and excerpts; unsampled page and service details limit some connections.
Main entry points: App.jsx App routes · invoiceController.js Invoice controller · invoices.routes.js Invoice routes · client.js API client
Components 34
Web application
- App routes
frontend/src/App.jsx - Auth session
frontend/src/context/AuthContext.jsx - API client
frontend/src/api/client.js - Upload screen
frontend/src/pages/Home.jsx - Invoice records
frontend/src/pages/InvoiceRecordsPage.jsx - Invoice table
frontend/src/components/InvoiceTable.jsx - GST panel
frontend/src/components/GSTPanel.jsx - Analytics dashboard
frontend/src/pages/Analytics.jsx - Advisor page
frontend/src/pages/AdvisorPage.jsx - AI advisor UI
frontend/src/components/AIAdvisor.jsx - Vendor page
frontend/src/pages/VendorIntelligencePage.jsx - Vendor intelligence
frontend/src/components/VendorIntelligence.jsx - Fraud report
frontend/src/pages/FraudAndAnomalyPage.jsx
Invoice processing
- Express API
backend/src/app.js - Invoice routes
backend/src/routes/invoices.routes.js - Upload middleware
backend/src/middleware/upload.js - Invoice controller
backend/src/controllers/invoiceController.js - Document OCR
backend/src/services/ocr.service.js - Data extraction
backend/src/services/extraction.service.js - GST categorization
backend/src/services/gst.categorization.service.js - Invoice model
backend/src/models/invoice.model.js - PostgreSQL
backend/src/config/database.js - Invoice export
backend/src/services/export.service.js
Financial insights
- Fraud checks
backend/src/services/fraud.detection.service.js - Dashboard controller
backend/src/controllers/dashboardController.js - Vendor controller
backend/src/controllers/vendorController.js - Vendor analysis
backend/src/services/vendor.analysis.service.js - Advisor controller
backend/src/controllers/advisorController.js - Advisor service
backend/src/services/ai.advisor.service.js
FinAI retrieval
- FinAI API
backend/app.py - RAG pipeline
backend/finai/rag_pipeline.py - Embeddings
backend/finai/embeddings.py - Vector store
backend/finai/vector_store.py
Other components
- User
Connections 38
- User → App routes: uses
frontend/src/App.jsx - App routes → Auth session: provides session
frontend/src/App.jsx - App routes → Upload screen: routes to
frontend/src/App.jsx - App routes → Invoice records: routes to
frontend/src/App.jsx - App routes → Analytics dashboard: routes to
frontend/src/App.jsx - App routes → Advisor page: routes to
frontend/src/App.jsx - App routes → Vendor page: routes to
frontend/src/App.jsx - App routes → Fraud report: routes to
frontend/src/App.jsx - Invoice records → Invoice table: renders
frontend/src/pages/InvoiceRecordsPage.jsx - Invoice records → GST panel: renders
frontend/src/pages/InvoiceRecordsPage.jsx - Advisor page → AI advisor UI: renders
frontend/src/pages/AdvisorPage.jsx - Vendor page → Vendor intelligence: renders
- Invoice table → API client: requests invoices
frontend/src/components/InvoiceTable.jsx - Fraud report → API client: requests report data
frontend/src/pages/FraudAndAnomalyPage.jsx - Upload screen → API client: uploads invoices
- AI advisor UI → API client: requests advice
- API client → Express API: HTTP requests
- Express API → Invoice routes: mounts
backend/src/app.js - Invoice routes → Upload middleware: parses upload
backend/src/routes/invoices.routes.js - Invoice routes → Invoice controller: dispatches
backend/src/routes/invoices.routes.js - Invoice routes → Invoice export: generates exports
backend/src/routes/invoices.routes.js - Invoice controller → Document OCR: reads image text
backend/src/controllers/invoiceController.js - Invoice controller → Data extraction: extracts fields
backend/src/controllers/invoiceController.js - Invoice controller → GST categorization: categorizes tax
backend/src/controllers/invoiceController.js - Invoice controller → Fraud checks: checks anomalies
backend/src/controllers/invoiceController.js - Invoice controller → Invoice model: checks and saves
backend/src/controllers/invoiceController.js - Invoice model → PostgreSQL: queries
backend/src/models/invoice.model.js - Dashboard controller → PostgreSQL: queries
backend/src/controllers/dashboardController.js - Vendor controller → Vendor analysis: requests analysis
backend/src/controllers/vendorController.js - Vendor analysis → PostgreSQL: queries
backend/src/services/vendor.analysis.service.js - Advisor controller → Advisor service: requests advice
backend/src/controllers/advisorController.js - Invoice routes → Dashboard controller: serves dashboard
- FinAI API → RAG pipeline: answers chat
backend/app.py - RAG pipeline → Embeddings: embeds query
backend/finai/rag_pipeline.py - RAG pipeline → Vector store: retrieves context
backend/finai/rag_pipeline.py - FinAI API → Embeddings: embeds indexed invoice
backend/app.py - FinAI API → Vector store: stores invoice
backend/app.py - Invoice controller → FinAI API: indexes invoice