A powerful, privacy-focused financial transaction analysis tool that transforms your CSV transaction data into comprehensive insights and visualizations.
You can try it out here: https://transactionanalyzer-prod-salik.azurewebsites.net
Transaction Analyzer takes your exported transaction files and creates detailed financial reports with interactive charts, trends analysis, and spending patterns. Think of it as your personal financial dashboard that helps you understand where your money comes from and where it goes.
The tool supports multiple currencies (USD, EUR, IQD) and provides deep insights into your financial behavior without storing any of your sensitive data.
Financial Insights
- Monthly income vs expense tracking with trend analysis
- Account balance history visualization
- Transaction categorization and spending pattern analysis
- Multi-currency support with separate analytics for each currency
Privacy & Security
- Zero data storage - your information never leaves your session
- Local processing with immediate data cleanup
- No tracking, cookies, or analytics
- HTTPS encryption for all communications
Visual Analytics
- Interactive charts showing balance trends over time
- Cash flow analysis with income/expense comparisons
- Transaction type distribution with detailed breakdowns
- Yearly and monthly financial performance reports
Dashboard Overview
Monthly Cash Flow Analysis
Transaction Type Breakdown
Top Counterparties
Counterparties - Sent vs Received
Requirements
- .NET 8.0 SDK
- A modern web browser
Running the Application
- Clone this repository
- Navigate to the TransactionAnalyzer directory
- Run the application:
dotnet run
- Open your browser to
https://localhost:8081 - Upload your transaction CSV file and start analyzing
Supported File Format The tool works with FIB (First Iraqi Bank) transaction export format, but the CSV structure can be adapted for other banking formats. Expected columns include transaction ID, counterparty, amount, fees, dates, and transaction types.
This solution consists of two main components that work together to provide comprehensive transaction analysis:
Transaction Library - The core engine that handles CSV parsing, data validation, and transaction modeling. This library includes custom converters for different data types like monetary values, dates, and GUIDs, making it robust enough to handle real-world banking data with its inconsistencies.
TransactionAnalyzer Web App - A clean, modern web interface built with ASP.NET Core that provides the analysis service and visualization dashboard. The web app transforms raw transaction data into meaningful insights through statistical analysis and interactive charts.
The codebase demonstrates several advanced .NET concepts including custom CSV type converters, comprehensive unit testing with xUnit, dependency injection, and responsive web design with Chart.js integration.
The analysis engine calculates complex financial metrics like running balances, monthly cash flows, counterparty relationships, and transaction patterns while maintaining excellent performance even with large datasets.
# Run all tests
dotnet test
# Build the entire solution
dotnet build TransactionAnalyzer.sln
# Run with development settings
dotnet run --environment DevelopmentThe project includes comprehensive test coverage with both unit tests and integration tests, ensuring reliability when processing your financial data.
This project welcomes contributions! The modular architecture makes it easy to add new analysis features, support additional file formats, or enhance the visualization capabilities.
Privacy Promise: This tool processes your data locally and never stores, shares, or transmits your financial information to external services. Your privacy and security are our top priorities.