How icai-audit/audit-assistant-pro-electron works
ICAI VERA is an Electron desktop audit application. Users enter through the React app, manage engagements and trial balances, complete audit work and compliance, then prepare reports. The README documents the product areas; sampled code confirms React routing, SQLite-over-IPC access, and Financial Statement Generation (FSG) startup. Several feature implementations were not sampled, so their internal links are omitted rather than inferred.
Main entry points: App.tsx React app and routes · main.cjs Electron main process · client.ts SQLite IPC client · ClientFormDialog.tsx Client management
Components 22
Desktop app
- React app and routes
src/App.tsx - Electron main process
electron/main.cjs - SQLite IPC client
src/integrations/sqlite/client.ts - SQLite database
sqlite/database-manager.ts
Engagement work
- Client management
src/components/clients/ClientFormDialog.tsx - Engagements and teams
src/pages/Engagements.tsx - Trial balance import
src/hooks/useTrialBalance.ts
Audit and reporting
- CARO compliance
src/components/audit-report/CARONavigator.tsx - Risk assessment
src/pages/RiskRegister.tsx - Materiality calculation
src/pages/Materiality.tsx - Procedure workpapers
src/pages/ProcedureWorkpaper.tsx - Evidence vault
src/pages/EvidenceVault.tsx - Review notes
src/pages/ReviewNotes.tsx - Review note operations
src/hooks/useReviewNotes.ts - Audit report generator
src/pages/AuditReport.tsx
Financial statements
- FSG workspace
src/modules/fsg/App.jsx - Financial statement logic
src/modules/fsg/hooks/useFinancials.js - FSG data API
src/modules/fsg/api.js - FSG IPC initialization
electron/fsg/index.js - Trial balance mapping
electron/fsg/services/mapping-engine.js - FSG SQLite access
electron/fsg/db/client.js
Other components
- Accountant
Connections 21
- Accountant → React app and routes: uses
README.md - React app and routes → Client management: routes to
src/App.tsx - React app and routes → Engagements and teams: routes to
src/App.tsx - React app and routes → Audit report generator: routes to
src/App.tsx - Client management → SQLite IPC client: reads and writes
src/components/clients/ClientFormDialog.tsx - SQLite IPC client → Electron main process: queries by IPC
src/integrations/sqlite/client.ts - Electron main process → SQLite database: queries
electron/main.cjs - Accountant → Trial balance import: imports balances
README.md - Accountant → CARO compliance: completes clauses
README.md - Accountant → Risk assessment: assesses risks
README.md - Accountant → Materiality calculation: calculates materiality
README.md - Accountant → Procedure workpapers: documents procedures
README.md - Accountant → Evidence vault: manages evidence
README.md - Review notes → Review note operations: uses
src/pages/ReviewNotes.tsx - Review note operations → SQLite IPC client: reads and writes
src/hooks/useReviewNotes.ts - Accountant → Audit report generator: generates reports
README.md - Electron main process → FSG IPC initialization: initializes
electron/main.cjs - FSG workspace → FSG data API: requests data
- Financial statement logic → FSG data API: requests data
src/modules/fsg/hooks/useFinancials.js - FSG IPC initialization → Trial balance mapping: registers handlers
- Trial balance mapping → FSG SQLite access: queries and persists
electron/fsg/services/mapping-engine.js