A web-based application built with PHP and MySQL for uploading, processing and analyzing bank statements in multiple formats including PDF, CSV and TXT.
The system extracts transaction data from uploaded statements and converts raw financial information into structured data and useful reports.
Bank Statement Analysis is designed to simplify the process of analyzing large amounts of financial transaction data.
π Bank Statement
β
βββββββββββββΌββββββββββββ
β β β
βΌ βΌ βΌ
PDF CSV TXT
β β β
βββββββββββββΌββββββββββββ
β
βΌ
π₯ File Upload
β
βΌ
π Data Parser
β
βΌ
π§Ή Data Processing
β
βΌ
ποΈ MySQL Database
β
βΌ
π Analysis Engine
β
βΌ
π Reports
Upload bank statements in multiple formats:
- π PDF
- π CSV
- π TXT
The application processes uploaded statements and extracts important transaction information.
Example data:
Transaction Date
Description
Reference Number
Debit
Credit
Balance
Transaction Type
The system can analyze transaction data to provide useful financial insights.
- Total Credits
- Total Debits
- Transaction Count
- Opening Balance
- Closing Balance
- Monthly Transactions
- Debit / Credit Summary
- Transaction Categories
- Account Activity
Generate structured reports from processed bank statement data.
Bank Statement
β
βΌ
Transaction Processing
β
βΌ
Data Analysis
β
βββ Credit Summary
βββ Debit Summary
βββ Transaction Summary
βββ Balance Analysis
β
βΌ
Financial Report
The application uses MySQL for storing processed transaction information and application data.
PHP Application
β
βΌ
Data Processing
β
βΌ
MySQL Database
β
βΌ
Transactions
β
βΌ
Reports / Analysis
- PHP 8+
- MySQL
- Server-side processing
- HTML5
- CSS3
- JavaScript
- Responsive UI
- PDF Parsing
- CSV Processing
- TXT Processing
- Structured Data Extraction
- Composer / PHP dependencies
- Git
- GitHub
- MAMP / XAMPP / Apache
bank_statement_analyis/
β
βββ backend/
β βββ config/
β βββ controllers/
β βββ services/
β βββ models/
β βββ ...
β
βββ docs/
β βββ PROJECT_DOCUMENTATION.pdf
β βββ PROJECT_DOCUMENTATION.md
β βββ Bank_Statement_Analysis_Presentation.pptx
β
βββ .gitignore
βββ README.md
The exact internal structure may vary depending on the current implementation.
Before running the project, install:
- PHP 8+
- MySQL 5.7+ / 8+
- Apache / Nginx
- Composer
- MAMP / XAMPP / LAMP
git clone https://github.com/Nandhasv05/bank_statement_analyis.gitcd bank_statement_analyisIf Composer dependencies are configured:
composer installCreate your local configuration based on the project requirements.
Example:
APP_ENV=local
APP_DEBUG=true
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=bank_statement_analysis
DB_USERNAME=root
DB_PASSWORD=Never commit database passwords, API keys or other sensitive credentials to GitHub.
Create the MySQL database:
CREATE DATABASE bank_statement_analysis;Configure the database connection according to your environment.
If using MAMP/XAMPP:
htdocs/
β
βββ bank_statement_analyis/
Then access the application through your local Apache server.
Example:
http://localhost/bank_statement_analyis/
The application processes PDF bank statements and extracts transaction information.
PDF
β
βΌ
PDF Parser
β
βΌ
Extract Text
β
βΌ
Identify Transactions
β
βΌ
Structured Data
CSV statements can be processed directly into structured transaction records.
CSV File
β
βΌ
Read Rows
β
βΌ
Validate Columns
β
βΌ
Process Transactions
β
βΌ
MySQL
Text-based bank statements can also be parsed and processed.
Raw Statement
β
βΌ
File Validation
β
βΌ
Statement Parser
β
βΌ
Transaction Extraction
β
βΌ
Data Validation
β
βΌ
Database Storage
β
βΌ
Financial Analysis
β
βΌ
Report Generation
The application can transform raw transactions such as:
Date Description Debit Credit Balance
----------------------------------------------------------
01-08-2026 Salary - 25,000 25,000
03-08-2026 Rent 5,000 - 20,000
05-08-2026 Grocery 2,000 - 18,000
10-08-2026 Transfer - 5,000 23,000
into useful summaries:
Total Credits : βΉ30,000
Total Debits : βΉ7,000
Transactions : 4
Closing Balance : βΉ23,000
Detailed project documentation is available inside the docs directory.
π PROJECT_DOCUMENTATION.pdf
π PROJECT_DOCUMENTATION.md
π Bank_Statement_Analysis_Presentation.pptx
Recommended testing tools:
- Browser Developer Tools
- MySQL Client
- PHP Error Logs
- Postman (where applicable)
Because this project handles financial information, security is important.
Recommended practices:
- Validate uploaded files
- Restrict allowed file extensions
- Limit upload size
- Sanitize user input
- Use prepared SQL statements
- Protect database credentials
- Secure uploaded files
- Implement authentication
- Avoid exposing sensitive transaction data
- Keep
.envand credentials outside public repositories
- AI-powered transaction categorization
- Automatic expense classification
- Spending pattern detection
- Monthly financial insights
- Interactive charts
- Dashboard analytics
- Excel export
- PDF report generation
- Multiple bank format support
- User authentication
- Role-based access
- REST API
- Docker deployment
- AWS deployment
- Automated testing
One planned improvement is intelligent transaction analysis.
Bank Statement
β
βΌ
Transaction Extraction
β
βΌ
AI Classification
β
βββ Food
βββ Shopping
βββ Travel
βββ Bills
βββ Salary
βββ Transfers
β
βΌ
Financial Insights
β
βΌ
User Dashboard
Full Stack Developer
Frontend
βββ React
βββ Next.js
βββ React Native
βββ TypeScript
βββ JavaScript
Backend
βββ PHP
βββ Node.js
βββ Express.js
βββ REST APIs
Database
βββ MySQL
βββ PostgreSQL
Cloud / DevOps
βββ AWS
βββ Docker
βββ Nginx
βββ CI/CD
https://nandhakumarsvdev.netlify.app/
I also develop custom software solutions for businesses through BuildNexDev.
Services include:
π Business Websites
π» Web Applications
π± Mobile Applications
π οΈ Admin Dashboards
π REST APIs
π³ Payment Integration
βοΈ Cloud Deployment
π§ Maintenance